sda
当设备作为操作系统时,我们在物理机上安装了 RHEL 7.9 版本。
该机器有以下磁盘。
sda - OS disk
sdb - data disk
sdc - data disk
重启后OS磁盘设备变为sdc
如下形式,并sda
成为数据磁盘的一部分。
sdc 8:32 0 558.4G 0 disk
├─sdc1 8:33 0 500M 0 part /boot
└─sdc2 8:34 0 557.9G 0 part
├─VG-VOL_root 253:0 0 100G 0 lvm /
├─VG-VOL_swap 253:1 0 16G 0 lvm
├─VG-VOL_var 253:2 0 200G 0 lvm /var
我们假设在下次重启时sdc
也许会再次改变为sda
应有的样子?
但是如何防止sda
重启后磁盘更改到另一个设备?
根据 red-hat 文档,他们建议设置以下内容:
用户可以通过在 /etc/sysconfig/grub 文件中附加“scsi_mod.scan=sync”来修改内核启动参数,以获得更一致的磁盘字母。
它不能保证在所有情况下设备名称都一致。应谨慎使用此选项,因为它会减慢磁盘发现过程,从而减慢整个启动过程。
但这种配置设置scsi_mod.scan=sync
真的 /etc/sysconfig/grub
有帮助吗?
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=VG/VOL_root rd.lvm.lv=VG/lv_swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
scsi_mod.scan=sync <---------------
为了避免sda
磁盘设备在重启后发生变化,我们还可以采取哪些其他措施?
来自服务器的一些其他有用详细信息
ls -ltr /dev/disk/by-id | grep sdc
lrwxrwxrwx 1 root root 9 Dec 28 11:43 wwn-0x6588a5a0ef7f4d0023880046051e7a74 -> ../../sdc
lrwxrwxrwx 1 root root 9 Dec 28 11:43 scsi-36588a5a0ef7f4d0023880046051e7a74 -> ../../sdc
lrwxrwxrwx 1 root root 10 Dec 28 11:43 wwn-0x6588a5a0ef7f4d0023880046051e7a74-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 Dec 28 11:43 scsi-36588a5a0ef7f4d0023880046051e7a74-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 Dec 28 11:43 lvm-pv-uuid-2Ee6HA-9vVx-bUVq-noyG-U0Nq-AVMz-oI56ji -> ../../sdc2
lrwxrwxrwx 1 root root 10 Dec 28 11:43 wwn-0x6588a5a0ef7f4d0023880046051e7a74-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 Dec 28 11:43 scsi-36588a5a0ef7f4d0023880046051e7a74-part1 -> ../../sdc1
cat /etc/fstab | grep boot
UUID=f57f0346-9e6c-429e-b80f-3871334bae35 /boot xfs defaults 0 0
答案1
- 使用 /etc/fstab 中的持久标识符进行挂载,例如,用 UUID 或 /dev/disk/by-id 的符号链接替换 /dev/sdX。
- 或者,将 scsi_mod.scan=sync 添加到 /etc/default/grub 中的 GRUB_CMDLINE_LINUX 以减慢磁盘发现速度。
- 重新生成 GRUB 配置:grub2-mkconfig -o /boot/grub2/grub.cfg。
- 更新 initramfs:dracut -f。
- 重新启动并使用 /dev/disk/by-id 验证磁盘分配。