Automatic port scanning includes two zfcp parameters
that improve the behaviour of Linux instances in SANs. These zfcp
parameters are set to default values that work well for most installations.
If
needed, you can fine-tune the frequency and timing of automatic port
scans with the zfcp parameters port_scan_backoff and port_scan_ratelimit.
You
can enable automatic port scanning with the zfcp parameter no_auto_port_rescan=0.
This value is the default.
About this task
In a large installation, where many Linux instances receive
the same notifications of SAN changes, multiple instances might trigger
scans simultaneously and too frequently. See Figure 1
These scans might put unnecessary load on the name server function
of fabric switches and potentially result in late or inconclusive
results.
You can avoid excessive scanning, yet still ensure
that a port scan is eventually conducted. You can control port scanning
with the zfcp parameters:
port_scan_ratelimit
sets the minimum delay, in milliseconds, between automatic port
scans of your Linux instance. The default value is 60000 milliseconds.
To turn off the rate limit, specify 0.
port_scan_backoff
sets an additional random delay, in milliseconds, in which the
port scans of your Linux instance are spread. In an installation with
multiple Linux instances, use this zfcp parameter for every Linux
instance to spread scans to avoid potential multiple simultaneous
scans. The default value is 500 milliseconds. To turn off the random
delay, specify 0.
Use module parameters. On a running Linux system, you can
also query or set these values by using the sysfs attributes with
the same names.
Using port_scan_ratelimit reduces
the number of scans, as shown in Figure 2
However, if the rate limit is set to the same value, the scans
can still occur almost simultaneously, as for FCP device A and B in
Linux 1.
Using port_scan_backoff and port_scan_ratelimit together
delays port scans even further and avoids simultaneous scans, as shown
in Figure 3. In
the figure, FCP devices A and B in Linux 1 have the same rate limit
and the same backoff values. The random element in the backoff value
causes the scans to occur at slightly different times.
Procedure
Use port_scan_backoff and port_scan_ratelimit together
or separately to tune the behavior of port scanning:
To avoid too frequent scanning, set a minimum wait time
between two consecutive scans for the same Linux instance. Use the port_scan_ratelimit sysfs
attribute.
By default, port_scan_ratelimit is
turned on and has a value of 60000 milliseconds.
For
example, to specify an attribute value of 12 seconds, issue:
The automatic port scans are delayed by the values specified.
If a SAN notification is received during the rate limit time, a port
scan is conducted immediately after the delay time passed.
Setting the attributes in sysfs is a useful method on
a running system where you want to make dynamic changes. If you want
to make the changes persistent across IPLs, use the kernel or module
parameter.
Depending on the port event, one or more of the three
zfcp parameters are evaluated to schedule a port scan. For example,
port scans that are triggered manually through sysfs are not delayed. Table 1 shows which events
evaluate which zfcp parameters.
Table 1. Port
events and their use of port scanning zfcp parameters