持久化块设备命名

持久化命名方式

有4种不同的方式可以持久化命名设备:

  • by-label

  • by-uuid

  • by-id

  • by-path

对于使用GPT(GUID Partition Table),另外增加了2种命名方式:

  • by-partlabel

  • by-partuuid

??? 如果磁盘通过parted工具划分分区,并且将分区表设置为GPT的时候,才能使用PARTUUID来标识磁盘分区。难怪我使用fdisk将划分成dos分区,mkfs.ext4之后只看到UUID,没有看到PARTUUID

注意:使用Disk cloning创建2块不同的数据盘会使用相同的命名。

  • lsblk -f命令显示

$ lsblk -f
NAME   FSTYPE LABEL  UUID                                 MOUNTPOINT
sda
├─sda1 vfat          D37E-2016                            /boot/efi
└─sda2 ext4   rootfs bb6a7d65-996d-4883-98d3-eef82f836edd /

对于使用GPT分区表的磁盘,则应该使用blkid(可以显示PARTUUID):

by-label

虽然每个文件系统类型都可以具有一个label。所有的分区都在/dev/disk/by-label目录下有一个分区入口。这个目录是动态创建和销毁的,依赖于是否使用了label来创建分区

注意:文件系统的label可以修改。以下是一些在常见文件系统修改label方法:

  • swap(使用util-linux工具包):

  • ext2/3/4(使用e2fsprogs工具):

  • btrfs

  • reiserfs

  • jfs

  • xfs

  • fat/vfat

  • exfat

  • ntfs

  • zfs

不支持/dev/disk/by-label

by-uuid

参考

Last updated

Was this helpful?