Article / 文章中心

Linux不重启识别新挂载磁盘

发布时间:2022-07-20 点击数:51

一、概述

RAC数据库扩容存储空间,新挂载过来的盘没有识别到,通过fdisk -l命令没有看到。经查询需要重启或者扫描来看到新挂载的磁盘,今天分享一下具体的方法。

环境:OEL 6.4 和 RAC 11.2.0.4

二、关键事项

  • 不要使用/dev/sdX 或 /dev/dm-XX 作为设备名称,因为此设备名称在重新启动后可能会更改
  • 使用WWID 识别设备
  • 全局标识符 (WWID) 可用于可靠地识别磁盘设备。
  • WWID 是 SCSI 标准要求所有 SCSI 设备提供的持久的、独立于系统的 ID。

三、显示系统上所有可用的 WWID

复制
Shell script to display WWID on your system #!/bin/bash # #Usage: As root user run : ./check_wwid.sh # for FILE in `find /dev -name "sd*" | sort` do WWID=`scsi_id --whitelisted --replace-whitespace --device=$FILE ` echo $FILE " WWID:  " $WWID done $ sudo ./check_wwid.sh .. /dev/sdb WWID: 1ATA_VBOX_HARDDISK_VB81c4f844-94203a15 /dev/sdb1 WWID: 1ATA_VBOX_HARDDISK_VB81c4f844-94203a15 /dev/sdc WWID: 1ATA_VBOX_HARDDISK_VB2ed83c09-e66dbcfb /dev/sdc1 WWID: 1ATA_VBOX_HARDDISK_VB2ed83c09-e66dbcfb .. --> Of course WWIDs for partitions and for the complete disk are identical 
					
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
复制
# cat 99-oracle-asmdevices.rules KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="14f504e46494c45523264556151442d5261336d2d566e4250", OWNER="grid", GROUP="asmadmin", MODE="0660" # ls -ls /dev/sdr 0 brw-rw----. 1 grid asmadmin 65, 16 Mar 19 14:42 /dev/sdr Reload and Restart the udev rules # udevadm control --reload-rules # start_udev Starting udev:                                             [ OK ] Verify disk protections:
# ls -ltr /dev/asm* brw-rw----. 1 grid asmadmin 8, 17 Mar 15 10:03 /dev/asmdisk1_udev_sdb1 brw-rw----. 1 grid asmadmin 8, 33 Mar 15 10:03 /dev/asmdisk2_udev_sdc1 Redistribute 99-oracle-asmdevices.rules file to all cluster nodes and restat udev echo system on these nodes # scp 99-oracle-asmdevices.rules grac42:/etc/udev/rules.d # scp 99-oracle-asmdevices.rules grac43:/etc/udev/rules.d On each RAC node # udevadm control --reload-rules # start_udev # ls -ltr /dev/asm* brw-rw----. 1 grid asmadmin 8, 17 Mar 15 10:03 /dev/asmdisk1_udev_sdb1 brw-rw----. 1 grid asmadmin 8, 33 Mar 15 10:03 /dev/asmdisk2_udev_sdc1
					
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

四、使用 /sbin/scsi_id 的磁盘分区的 UDev 规则(首选模式,因为我们可以更改名称)

请注意此示例映射: /dev/sdb1 到 /dev/asmdisk1_udev_sdb1:

复制
# cat 99-oracle-asmdevices.rules KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB81c4f844-94203a15", NAME= "asmdisk1_udev_sdb1", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB2ed83c09-e66dbcfb", NAME= "asmdisk1_udev_sdc1", OWNER="grid", GROUP="asmadmin", MODE="0660" # ls -l /dev/asmdisk1_udev_sdb1 /dev/asmdisk1_udev_sdc1 brw-rw----. 1 grid asmadmin 8, 17 Mar 19 13:53 /dev/asmdisk1_udev_sdb1 brw-rw----. 1 grid asmadmin 8, 33 Mar 19 13:53 /dev/asmdisk1_udev_sdc1
					
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

五、磁盘组

(1) 扩容磁盘组

查找到path:

复制
select group_number,disk_number ,path from v$asm_disk;
					
  • 1.

扩容磁盘组:

复制
alter diskgroup data2 add disk '/dev/asm-diski'; ALTER DISKGROUP DATA2 REBALANCE POWER 10;
					
  • 1.
  • 2.

查看是均衡完成:

复制
select operation,est_minutes from v$asm_operation;
					
  • 1.

完成之后修改回去:

复制
alter diskgroup DATA rebalance power 1;
					
  • 1.

或者:直接做均衡:

复制
alter diskgroup DATA add disk '/dev/asm-diski' rebalance power 10;