一、概述
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
# 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
五、磁盤組
5.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;
六、小結
后面會分享更多linux和DBA方面內容,感興趣的朋友可以關注下!