在某些情况下,磁盘的设备节点名称(/dev/sda、/dev/hda、/dev/vda 等)可能会发生变化。
例如,在交换电缆或者升级某些软件包后,sda 和 sdc 可以交换位置。
当 /etc/fstab 通过磁盘名称引用文件系统时,这会导致问题。
相反,我们可以使用文件系统标签在 /etc/fstab 文件中引用它们。
这允许我们在不使用临时块设备名称的情况下识别文件系统。
注意:如果文件系统驻留在 LVM 逻辑卷上,则不需要 UUID 和标签,就像在默认的 RHEL 安装中一样。
检查文件系统的当前标签
- 要找出文件系统的标签,可以使用如下所示的“blkid”命令。
# blkid /dev/sda1 /dev/sda1: LABEL="/boot" UUID="c9fdb384-19ed-4b94-b29e-23f0f566e970" TYPE="ext4"
- 我们还可以确定 /etc/fstab 文件中的哪个文件系统是通过它们的 LABEL 而不是实际设备名称来引用的。
例如:
# cat /etc/fstab LABEL="/boot" /boot ext4 defaults 1 2 UUID="80a27dc2-c309-4cc8-9ceb-3bb1a055cf3d" /data ext4 defaults 0 2
- 此外,我们还可以验证 /etc/grub.conf 中的内核 args 行是否使用了非 LVM 设备节点名称。
# grep kernel /etc/grub.conf kernel /vmlinuz-2.6.18-308.el5 ro root=/dev/vda2
on it road.com
在线更改文件系统标签
e2label 命令可用于设置/更改 ext2. ext3 和 ext4 文件系统上的标签。
使用该命令的语法很简单:
# e2label Usage: e2label device [newlabel]
例如,要将分区 /dev/sda1 的标签更改为 /boot,请使用以下命令:
# e2label /dev/sda1 /boot
修改现有标签时,请确保更新对 /etc/fstab 和 /etc/grub.conf 中旧标签的任何引用,并相应地修改它们。
# grep LABEL /etc/grub.conf kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/
# grep LABEL /etc/fstab LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2
关于交换设备的说明
要添加/更改交换分区的标签,必须使用“swapoff [DEVICE]”关闭它们并使用“mkswap -L [LABEL] [DEVICE]”重新制作,然后使用“swapon [DEVICE]”重新打开。
交换 UUID 仅在 RHEL6 及更高版本中可用。
有关更多详细信息,请参阅 mkswap 手册页。
# man mkswap
日期:2020-09-17 00:13:12 来源:oir作者:oir