Applicable scenario
- Product:
ZCF - Component:
Cloud - Versions:
4.4.x, 3.8.x - Deployment topology: dual management nodes
- Trigger: ShareBlock primary storage cannot connect, locks cannot be released on many physical hosts,
vgchangestalls, and a historicalsanlockdefect is confirmed.
Symptoms
- ShareBlock primary storage reports a connection failure.
- Locks cannot be released normally on many physical hosts.
- The
vgchangecommand stalls. - The root cause is a historical known defect in
sanlock.
Determination method
- Confirm that the primary-storage connection failure is accompanied by an unreleased-lock exception.
- Check whether
sanlock/lvmlockdhave unresponsive processes. - After upgrade, check that
sanlockreaches version3.8.x.
Cause
This is not merely connection jitter. A historical sanlock defect prevents many locks from being released, which further causes vgchange to stall and ShareBlock primary storage to fail to connect. Upgrade the underlying sanlock component.
Resolution
- Preparation
- Risk level: high.
- Disable global VM HA.
- Back up the databases on both management nodes.
- Extend physical-host and storage
pingintervals to24h (86400s)to prevent automatic reconnection from overwriting the upgrade operation. - Validate one host first, then roll out in batches.
- Back up the database:
zstack-ctl dump_mysql
- Run on both the VIP management node and the secondary node.
- Expected result: A platform-side rollback baseline is available.
- Set physical-host and storage
pingtime to86400seconds in global configuration.
- Expected result: Host reconnection does not interfere during upgrade.
- Force-stop unresponsive lock processes:
pkill -9 sanlock && pkill -9 lvmlockd
ps -ef | grep -E "sanlock|lvmlockd"
- Expected result: Stalled lock processes are cleared to allow the upgrade to continue.
- Upgrade
sanlockon one host:
yum install ./sanlock*.rpm
- Expected result: The target host completes component replacement first.
- Check the version:
rpm -qa | grep sanlock
- Expected result: The version is
3.8.x.
- After confirming the one-host procedure is normal, upgrade other hosts in batches.
- Expected result: Uncontrolled risk from broad rollout is avoided.
- Reconnect physical hosts after upgrade.
- Restore global HA and the original
pinginterval configuration.
- Expected result: Normal operating policy returns and ShareBlock reconnects stably.
Verification
rpm -qa | grep sanlockshows3.8.x.- ShareBlock primary storage reconnects.
vgchangeno longer stalls.- Hosts reconnect and services run normally.
Risks and rollback
- Risk: This is an underlying component upgrade; incorrect operations can expand the storage impact scope.
- Risk: Directly reconnecting a host in
Connecting,Disconnected, orUnknownstate while its path is abnormal can worsen the primary-storage problem. - Risk level: high.
- Risk controls:
- Locate the abnormal host by UUID in the UI.
- Check the host's FC/iSCSI path, multipathing, and disk recognition for ShareBlock.
- If only one host is abnormal, isolate or maintain that host first to avoid affecting the entire primary-storage reconnection.
- Operate storage reconnection only after the host recovers.
- Rollback: No detailed RPM downgrade command is available. Prioritize one-host validation and isolation of abnormal hosts to control risk.
