Applicable Scenario
- Product:
ZCF - Component:
ZStack Cloud - Versions:
4.8.xand5.2.x - ZCE version:
5.2.x - Operating system:
Kylin V10 SP3 - Kernel:
4.19.90-52.15.v2207.ky10.x86_64 - RAID controller:
9460-8i (SAS3508) - Trigger condition: OSDs are frequently isolated by ZCE following
dummy iodetection timeouts, and RAID-controller driver stability is suspected.
Symptoms
- OSDs are frequently isolated after
dummy iodetection timeouts. - The issue is initially suspected to be related to hardware stability.
- The server vendor recommends updating the RAID-controller driver first and observing the result.
Diagnostic Procedure
- Verify that the environment and workloads allow node-by-node maintenance.
- Check the
megaraid_sasdriver version before and after the upgrade. - After each node restart, wait for the storage pool to return to a healthy state before proceeding to the next node.
Cause
This is not a direct platform software error. Frequent OSD dummy io timeouts, together with the vendor recommendation, indicate a possible RAID-controller driver stability issue. Upgrade megaraid_sas to validate and mitigate the issue.
Resolution
- Preparation
- Risk level: low, but this is an underlying driver change and must be performed node by node.
- Disable global high availability.
- Migrate VMs away from the target node.
- Back up the database and driver files.
- Disable data recovery during maintenance.
- Procedure
- Disable global high availability and migrate VMs away from the target node.
- Expected result: the target node can be safely taken out of service for maintenance.
- Back up the driver and
initramfs:
mkdir -p /root/raid_driver_bak/
cp /lib/modules/4.19.90-52.15.v2207.ky10.x86_64/kernel/drivers/scsi/megaraid/megaraid_sas.ko /root/raid_driver_bak/megaraid_sas.ko.bak
cp /boot/initramfs-4.19.90-52.15.v2207.ky10.x86_64.img /boot/initramfs-4.19.90-52.15.v2207.ky10.x86_64.img.bak
- Expected result: a basis for quickly rolling back the driver is available.
- Upgrade the driver:
rpm -Uvh kmod-megaraid_sas-07.726.02.00-1.ky10.x86_64.rpm
- Expected result: the new driver is installed.
- Check the version after the upgrade:
cat /sys/module/megaraid_sas/version
modinfo megaraid_sas | grep -E "^version:"
cat /sys/module/megaraid_sas/version
- Expected result: the module version shows the target version.
- Disable data recovery on the storage side.
- Expected result: automatic recovery does not increase risk during the driver-upgrade restart.
- If the node is a management node, switch management services first:
zsha2 demote
zsha2 stop-node
- Do not perform this step for a non-management node.
- Expected result: management services do not conflict with the node restart.
- Restart the host:
sync&&sync&&sync&&reboot
- Expected result: the new driver takes effect after startup.
- Check the driver version again after the node restarts.
- Expected result: the newly loaded driver version is confirmed.
- Enable data recovery and wait for the storage pool to return to a healthy state.
- Expected result: the cluster returns to a stable state.
- Repeat the preceding steps for the other nodes in sequence.
- Enable global high availability after all nodes have been updated.
- Expected result: the driver upgrade is complete.
Verification
- Verify that the
megaraid_sasdriver version is correct on every node. - Verify that the storage pool returns to a healthy state after each operation.
- Verify that OSDs are no longer frequently isolated because of
dummy iotimeouts. - Verify that workloads and ZStack Cloud resources are operating normally.
Risks and Rollback
- Risk: this underlying driver change can affect compatibility and workload continuity.
- Risk: operating multiple nodes concurrently can cause storage errors and workload interruption.
- Risk: data recovery must remain disabled during the restart.
- Risk level: low; however, treat this as a sensitive underlying change.
- Rollback:
- Replace the current driver with the backed-up
.kofile:
cp /root/raid_driver_bak/megaraid_sas.ko.bak /lib/modules/4.19.90-52.15.v2207.ky10.x86_64/kernel/drivers/scsi/megaraid/megaraid_sas.ko
- Rebuild module dependencies and the boot image:
depmod -a
dracut -f /boot/initramfs-4.19.90-52.15.v2207.ky10.x86_64.img 4.19.90-52.15.v2207.ky10.x86_64
reboot
- After the restart, check:
cat /sys/module/megaraid_sas/version
rpm -qa | grep megaraid_sas
