RAID1创建后服务器关机/重启耗时近两分钟的排查求助
兄弟,我太懂这种看着服务器关机卡两分钟的憋屈感了!先别乱撞墙,咱们从最直接的地方开始排查,一步步来:
我创建了RAID1,目前看起来一切正常,但服务器关机或重启要花将近两分钟。完全不知道从哪里开始排查问题。
以下是我的磁盘配置:
NAME SIZE FSTYPE TYPE MOUNTPOINT sda 1.8T disk └─sda1 1T linux_raid_member part └─md0 1023.9G ext4 raid1 sdb 1.8T disk └─sdb1 1T linux_raid_member part └─md0 1023.9G ext4 raid1 sdc 931.5G disk nvme0n1 465.8G disk ├─nvme0n1p1 512M vfat part /boot/efi ├─nvme0n1p2 464.3G ext4 part / └─nvme0n1p3 976M swap part [SWAP]
排查方向建议
先抓关机日志,精准定位卡点
重启服务器后,立刻用journalctl -b -1 -e查看上一次关机的完整日志,重点关注关机阶段的最后几条记录——大概率会看到类似「Waiting for process X」或者「Timed out waiting for device /dev/md0」的提示,这就是最直接的线索,能帮你知道是卡RAID同步、文件系统卸载还是某个服务没停。确认RAID状态是否真的“正常”
别光看表面,先跑cat /proc/mdstat看看RAID有没有在后台同步(比如显示resync=ACTIVE),如果同步还没完成,关机时系统可能在等同步收尾,等它跑完再试试关机就正常了。另外用mdadm --detail /dev/md0查看RAID的详细状态,有没有磁盘异常、错误计数超标的情况,这些都可能拖慢关机。检查文件系统的挂载与卸载逻辑
先看/etc/fstab里/dev/md0的挂载选项,如果是默认的defaults,可以试试加上nofail(避免磁盘就绪慢时卡流程)。另外手动执行umount /dev/md0,如果手动卸载也慢,那说明文件系统本身有问题——比如残留的未完成IO,这时可以先卸载RAID分区,再用e2fsck /dev/md0检查修复文件系统(记得要在单用户模式或者卸载后操作,别在挂载状态下跑)。揪出拖后腿的系统服务
有些服务(比如数据库、文件共享服务)关机时还在读写RAID磁盘,导致系统被迫等待它停止。可以用systemd-analyze blame查看关机过程中各个环节的耗时,或者systemctl list-dependencies --reverse shutdown.target看看关机时会停止哪些服务。如果发现某个服务耗时特别长,先手动停止它再关机试试,确认是不是这个服务的锅。排查磁盘硬件的IO性能
RAID1镜像如果其中一块磁盘IO性能拉胯,关机时缓存同步会慢得离谱。用iostat -x 1实时查看两块磁盘的IO利用率、响应时间,再用smartctl -a /dev/sda和smartctl -a /dev/sdb检查磁盘健康状态,有没有坏道、SMART告警之类的硬件问题。
备注:内容来源于stack exchange,提问作者angelcervera

