VxVM code changes have been done to handle the EINTR response when the task is not finished.
When poll() returns EINTR inside vol_admintask_wait(), we will now check the status of the task and retry poll() if task is not in a DONE state.
Patch Information:A series of public (GA) QA tested patches for
VxVM 6.0.5 and higher are being created for
RHEL5. The tentative release date is late
August 2015.
A VxVM
6.1.1 public patch will be released for
RHEL5, as this is the last supported product version supporting
RHEL5. The tentative release date for 6.1.1 is mid to late
October 2015.
Note: These tentative release dates may be subject to change.
Even though the current
RHEL6 and
RHEL7 releases do not exhibit the issue, VxVM patches will eventually be released for 6.1.1, 6.2.1 and 7.0. These patches will include the enhanced VxVM code check to safeguard against future interoperability issues.
Workarounds:Until the public GA VxVM patches can be deployed, we strongly recommend that both VxVM tunables for admin I/O and SmartMove are disabled.
1.] Disable auto throttling of administrative IO's
# vxtune vol_auto_adminio_control
Tunable Current Value Default Value Reboot
--------------------------------- --------------- ------------- ------
vol_auto_adminio_control 1 1 N
By default the value of tunable is 1, the feature is turned-on.
If the value of tunable is set to 0, the adminio de-prioritization feature is turned off.
In earlier VxVM releases, the tunable was hidden, however, it has been made visible in the more recent VxVM releases.
# vxtune | grep vol_auto_adminio_control
To disable adminio, type:
# vxtune vol_auto_adminio_control 0
# vxtune vol_auto_adminio_control
Tunable Current Value Default Value Reboot
--------------------------------- --------------- ------------- ------
vol_auto_adminio_control 0 1 N
2.] Disable SmartMove
The vxdefault CLI command can be used to disable SmartMove functionality:
# vxdefault set usefssmartmove none
# vxdefault list
KEYWORD CURRENT-VALUE DEFAULT-VALUE
autoreminor on on
autostartvolumes on on
fssmartmovethreshold 100 100
reclaim_on_delete_start_time 22:10 22:10
reclaim_on_delete_wait_period 1 1
same_key_for_alldgs off off
sharedminorstart 33000 33000
storage_connectivity resilient resilient
usefssmartmove none all
3.] To limit the risk when using vxevac, the
-k argument should be used.
Example:
# /etc/vx/bin/vxevac -g movedg -k hus_1300_1563 alloc=hus_1300_1564
As the “-k” option was specified, the user can use the rollback option to roll back the changes to the initial state.
# /etc/vx/bin/vxevac -g movedg rollback hus_1300_1563
Since the
vxevac -k approach adds extra flexibility, the
-k approach should be the recommended syntax in production environments and future use.
The user can safely place the
vxevac –k operation in the background using
&, and bring it to the foreground whenever needed.
Once the
vxevac operation has finished, the user can then commit the event on successful completion.
# /etc/vx/bin/vxevac -g movedg commit hus_1300_1563