我们在最近几天在一台 Redhat 机器(版本 7.2)上注意到了这个问题
我们注意到磁盘的顺序不符合正确顺序
注意-sda 是操作系统
而是按如下顺序从小到大排序:
/dev/sdb
/dev/sdc
/dev/sdd
.
.
我们得到以下顺序
/dev/sdd
/dev/sdc
/dev/sdb
.
.
fdisk 命令示例
# fdisk -l | grep sd
Disk /dev/sda: 161.1 GB, 161061273600 bytes, 314572800 sectors
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 314572799 156773376 8e Linux LVM
Disk /dev/sdd: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/sdc: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/sde: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/sdf: 2147 MB, 2147483648 bytes, 4194304 sectors
sfdisk 命令示例
# sfdisk -s
/dev/sda: 157286400
/dev/sdd: 2097152
/dev/sdc: 2097152
/dev/sdb: 2097152
/dev/sde: 2097152
/dev/sdf: 2097152
/dev/mapper/vg00-lv_root: 20496384
/dev/mapper/vg00-lv_swap: 16351232
/dev/mapper/vg00-lv_var: 104857600
total: 309477376 blocks
但从 lsblk 我们可以看到正确的顺序
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 150G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 149.5G 0 part
├─vg00-lv_root 253:0 0 19.6G 0 lvm /
├─vg00-lv_swap 253:1 0 15.6G 0 lvm [SWAP]
└─vg00-lv_var 253:2 0 100G 0 lvm /var
sdb 8:16 0 2G 0 disk
sdc 8:32 0 2G 0 disk
sdd 8:48 0 2G 0 disk /db_info
sde 8:64 0 2G 0 disk
sdf 8:80 0 2G 0 disk
sr0 11:0 1 1024M 0 rom
所以请指教为什么我们从 sfdisk 和 fdisk 获得不同顺序的磁盘?但从 lsblk 我们得到正确的顺序
这个问题对我们来说非常重要,因为我们有脚本需要从命令 sfdisk / fdisk 中获取输入,如果脚本以错误的顺序获取磁盘,那么脚本就会使用错误的磁盘创建文件系统