0

I'm tuning the configuration for a multipath iscsi on a Centos 6 server. At the moment I'm using the following parameters for path retry:

...
polling_interval 1
no_path_retry 12
...

That means, 'if a path fails, keep the I/O requests in queue for 12 seconds, then set them as failed'.

I'm thinking about increase the timeout to 60 seconds (no_path_retry 60) but I'm worried about the impact on my system.

I know the I/O wait (and thus the load) will rise a lot, and I consider it unavoidable under this circumstance, but is it going to eat up all my RAM? Will the system eventually crash?

Consider the average I/O through this multipath is about 30MB/s.

godzillante
  • 240
  • 1
  • 3
  • 12

1 Answers1

1

no_path_retry is not a timeout in seconds, but is the number of retries until the failure is reported to the upper block device (e.g. file system). It accepts queue as value, which means that retry indefinitely and never report the error. This will freeze any I/O. If you care about data, and you do not mind if your application is frozen when all paths are unavailable, then use queue. If you do not care about data and you want your application to receive a file system error, then use an integer value. If you do not know what to do, use queue.

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/dm_multipath/config_file_multipath

no_path_retry
A numeric value for this attribute specifies the number of times the system should attempt to use a failed path before disabling queuing. A value of fail indicates immediate failure, without queuing. A value of queue indicates that queuing should not stop until the path is fixed.

Mircea Vutcovici
  • 17,619
  • 4
  • 56
  • 83