Linux系统盘符命名顺序之raid卡设置Firmware device order

概要

在一些情况下,raid卡硬盘有些配置了raid,有些配置为jbod,通常用户客户会选择将Linux系统安装在raid1上,并希望raid1被系统识别为sda,本文简单介绍这种场景或需求。

默认情况下的场景

默认情况下raid卡的设置

image.png

默认情况下OS下盘符的命名顺序

[root@localhost ~]# lsblk|grep -i sd
sda           8:0    0 838.4G  0 disk 
├─sda1        8:1    0   600M  0 part /boot/efi
├─sda2        8:2    0     1G  0 part /boot
└─sda3        8:3    0 836.8G  0 part 
sdb           8:16   0 838.4G  0 disk 
├─sdb1        8:17   0   100M  0 part 
├─sdb5        8:21   0     4G  0 part 
├─sdb6        8:22   0     4G  0 part 
├─sdb7        8:23   0 119.9G  0 part 
└─sdb8        8:24   0 710.4G  0 part 
sdc           8:32   0 837.3G  0 disk 
sdd           8:48   0 446.1G  0 disk 
sde           8:64   0 446.1G  0 disk 
sdf           8:80   0 837.3G  0 disk 
sdg           8:96   0   1.1T  0 disk 
└─sdg2        8:98   0   1.1T  0 part 
sdh           8:112  0   1.1T  0 disk 
├─sdh1        8:113  0    16M  0 part 
└─sdh2        8:114  0   1.1T  0 part 
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# lsscsi
[0:0:0:0]    cd/dvd  XCC      Virtual Media    0399  /dev/sr0 
[1:0:7:0]    disk    LENOVO   AL15SEB090N      TB54  /dev/sda 
[1:0:9:0]    disk    LENOVO   AL15SEB090N      TB54  /dev/sdb 
[1:1:6:0]    enclosu LSI      VirtualSES       03    -        
[1:2:0:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sdc 
[1:2:1:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sdd 
[1:2:2:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sde 
[1:2:3:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sdf 
[7:0:10:0]   disk    LENOVO   ST1200MM0088     L58D  /dev/sdg 
[7:0:11:0]   disk    LENOVO   ST1200MM0088     L58D  /dev/sdh 

可以看到机器配置有两张raid卡,首先对raid卡1 上的设备进行了盘符分配,然后分配raid卡2上的设备。
同时对于raid1上的设备来说,首先分配JBOD的硬盘,然后再分配的是raid vd设备。

硬盘的信息如下,slot7/slot9为jbod硬盘,其他为vd中的成员。
-----------------------------------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model                                   Sp Type 
-----------------------------------------------------------------------------------------------------
134:1     1 Onln   1 446.102 GB SATA SSD N   N  512B SSDSC2KB480G8L       01PE325D7A09673LEN U  -    
134:3     3 Onln   2 446.102 GB SATA SSD N   N  512B SSDSC2KB480G8L       01PE325D7A09673LEN U  -    
134:5     5 Onln   0 837.258 GB SAS  HDD N   N  512B AL15SEB090N                             U  -    
134:7     7 JBOD   - 837.258 GB SAS  HDD N   N  512B AL15SEB090N                             U  -    
134:9     9 JBOD   - 837.258 GB SAS  HDD N   N  512B AL15SEB090N                             U  -    
134:11   11 Onln   3 837.258 GB SAS  HDD N   N  512B AL15SEB090N                             U  -    
-----------------------------------------------------------------------------------------------------
[root@localhost storcli]# ./storcli64  /c0/eall/s7 show all|grep SN 
SN = 60A0A1TGFZVF
[root@localhost storcli]# ./storcli64  /c0/eall/s9 show all|grep SN  
SN = 60A0A1SXFZVF
[root@localhost storcli]# ./storcli64  /c0/vall show all|grep -iE "SCSI NAA Id|Properties"
VD0 Properties :
SCSI NAA Id = 600062b20607c4c02bcbaaf7c5864658
VD1 Properties :
SCSI NAA Id = 600062b20607c4c02bcbac71f853dfc7
VD2 Properties :
SCSI NAA Id = 600062b20607c4c02bcbac71f8703ad3
VD3 Properties :
SCSI NAA Id = 600062b20607c4c02bcbac71f880736

[root@localhost storcli]# smartctl -a /dev/sda|grep "Serial number"
Serial number:        60A0A1TGFZVF
[root@localhost storcli]# smartctl -a /dev/sdb|grep "Serial number" 
Serial number:        60A0A1SXFZVF

[root@localhost storcli]# smartctl -a /dev/sdc|grep -i "Logical Unit id"
Logical Unit id:      0x600062b20607c4c02bcbaaf7c5864658
[root@localhost storcli]# smartctl -a /dev/sdd|grep -i "Logical Unit id" 
Logical Unit id:      0x600062b20607c4c02bcbac71f853dfc7
[root@localhost storcli]# smartctl -a /dev/sde|grep -i "Logical Unit id" 
Logical Unit id:      0x600062b20607c4c02bcbac71f8703ad3
[root@localhost storcli]# smartctl -a /dev/sdf|grep -i "Logical Unit id"  
Logical Unit id:      0x600062b20607c4c02bcbac71f880736b

从上述的输出来看,可以看到raid卡1的盘符分配顺序为:

sda--slot7--jbod
sdb--slot9--jbod
sdc--vd0--raid
sdd--vd1--raid
sde--vd2--raid
sdf--vd3--raid

希望的场景

在某些情况下用户可能会将OS安装在vd0上(比如raid1),因此更希望OS将vd0命名为sda。

调整raid卡参数为,开启firmware device order功能可以实现raid卡首先命名vd设备,然后再命名jbod设备。

image.png

查看效果

[root@localhost ~]# lsscsi
[0:0:7:0]    disk    LENOVO   AL15SEB090N      TB54  /dev/sde 
[0:0:9:0]    disk    LENOVO   AL15SEB090N      TB54  /dev/sdf 
[0:1:6:0]    enclosu LSI      VirtualSES       03    -        
[0:2:0:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sda 
[0:2:1:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sdb 
[0:2:2:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sdc 
[0:2:3:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sdd 
[6:0:10:0]   disk    LENOVO   ST1200MM0088     L58D  /dev/sdg 
[6:0:11:0]   disk    LENOVO   ST1200MM0088     L58D  /dev/sdh

有些情况下用户可能将OS安装在vd1上(比如raid1),因此更希望OS将vd1命名为sda。

调整raid卡参数,开启firmware device order功能可以实现raid卡首先命名vd设备,然后再命名jbod设备。

同时设置vd1为bootdrive。


image.png

查看效果

[root@localhost opt]# lsscsi
[1:0:7:0]    disk    LENOVO   AL15SEB090N      TB54  /dev/sde 
[1:0:9:0]    disk    LENOVO   AL15SEB090N      TB54  /dev/sdf 
[1:1:6:0]    enclosu LSI      VirtualSES       03    -        
[1:2:0:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sdb 
[1:2:1:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sda 
[1:2:2:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sdc 
[1:2:3:0]    disk    Lenovo   RAID 930-16i-4GB 5.20  /dev/sdd 
[7:0:10:0]   disk    LENOVO   ST1200MM0088     L58D  /dev/sdg 
[7:0:11:0]   disk    LENOVO   ST1200MM0088     L58D  /dev/sdh 

最后同样的道理,设置bootdrive也适用于jbod硬盘,可以将某个特定的硬盘设置为sda。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容