您当前的位置:首页 >> 商场 >  >> 
【世界速看料】[Linux]解决CentOS重启盘符变动问题
来源: 哔哩哔哩      时间:2023-05-08 22:56:14

Linux在系统启动过程中,内核会按照扫描到硬盘的顺序分配盘符(先分配直通的,再分配阵列)。在同一个硬盘槽位,热插拔硬盘,系统会顺着已存在的盘符分配下去,如之前分配的是/dev/sdb,系统最后一块硬盘是/dev/sdf,那么/dev/sdb/热拔插后,系统会重新分配这块硬盘的盘符为/dev/sdg,出现盘符错乱的情况。

解决办法分为两种:


(资料图片)

一、当磁盘具有文件系统情况下,可使用uuid挂载磁盘

查看分区UUID

#ll /dev/disk/by-uuid

挂载分区

mount /dev/disk/by-uuid/<uuid>  /test

添加开机自动挂载

#vi /etc/fstab

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/sdb1 ext4 defaults 0 0

二、当使用裸磁盘时,绑定盘符,使盘符重启不变

CentOS6:

1.拿到编号

# udevadm info -q path -n /dev/sda

/devices/pci0000:00/0000:00:15.0/0000:03:00.0/host0/target0:0:0/0:0:0:0/block/sda

# udevadm info -q path -n /dev/sdb

/devices/pci0000:00/0000:00:15.0/0000:03:00.0/host0/target0:0:1/0:0:1:0/block/sdb

# udevadm info -q path -n /dev/sdc

/devices/pci0000:00/0000:00:15.0/0000:03:00.0/host0/target0:0:2/0:0:2:0/block/sdc

2.创建rules文件

# vi /etc/udev/rules.d/80-mydisk.rules

DEVPATH=="/devices/pci0000:00/0000:00:15.0/0000:03:00.0/host0/target0:0:0/0:0:0:0/block/sd*”, NAME="sda", MODE="0660"

DEVPATH=="/devices/pci0000:00/0000:00:15.0/0000:03:00.0/host0/target0:0:1/0:0:1:0/block/sd*”, NAME="sdb", MODE="0660"

DEVPATH=="/devices/pci0000:00/0000:00:15.0/0000:03:00.0/host0/target0:0:2/0:0:2:0/block/sd*”, NAME="sdc", MODE="0660"

3.使用磁盘

使用磁盘盘符为/dev/sda、/dev/sdb……

CentOS7:

1.取得磁盘UUID:

for disk in `ls /dev/sd*`

do

echo $disk

/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=$disk

done

2.创建rules文件

vi /etc/udev/rules.d/99-devices.rules

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block",  PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",  RESULT=="35002538e10211f05", RUN+="/bin/sh -c 'mknod /dev/disk00 b  $major $minor; chown root:root /dev/disk00; chmod 0660 /dev/disk00'"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block",  PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",  RESULT=="35002538e10211f73", RUN+="/bin/sh -c 'mknod /dev/disk01 b  $major $minor; chown root:root /dev/disk01; chmod 0660 /dev/disk01'"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block",  PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",  RESULT=="35002538e10211f7b", RUN+="/bin/sh -c 'mknod /dev/disk02 b  $major $minor; chown root:root /dev/disk02; chmod 0660 /dev/disk02'"

3.执行命令使规则生效

#/sbin/udevadm trigger --type=devices --action=change

# /sbin/udevadm control --reload

4.查看磁盘

#ls -lrt /dev/disk*

brw-rw----. 1 root root 8,   0 May  8 03:44 /dev/disk00

brw-rw----. 1 root root 8,  16 May  8 03:44 /dev/disk01

brw-rw----. 1 root root 8,  48 May  8 03:44 /dev/disk02

5.使用磁盘

使用磁盘盘符为/dev/disk00、/dev/disk01……

标签:

X 关闭

X 关闭