一、概述
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
#
#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
# 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
四、使用 /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) 扩容磁盘组
查找到path:
select group_number,disk_number ,path from v$asm_disk;
扩容磁盘组:
alter diskgroup data2 add disk '/dev/asm-diski';
ALTER DISKGROUP DATA2 REBALANCE POWER 10;
查看是均衡完成:
select operation,est_minutes from v$asm_operation;
完成之后修改回去:
alter diskgroup DATA rebalance power 1;
或者:直接做均衡:
alter diskgroup DATA add disk '/dev/asm-diski' rebalance power 10;