为什么磁盘列表不是用sfdisk或fdisk命令打印的

我们在一台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命令中获取input,如果脚本以错误的顺序获取磁盘,那么脚本会使用错误的磁盘创build文件系统