概要
在一些情况下,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。