环境:linux6.5 Oracle RAC集群两节点,Oracle版本11.2.0.4
1.1.1 查看相关内容:
(1)磁盘情况:
[root@db1 ~]# fdisk -l
Disk /dev/sda: 85.9 GB, 85899345920 bytes255 heads, 63 sectors/track, 10443 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000d2f26 Device Boot Start End Blocks Id System/dev/sda1 * 1 64 512000 83 LinuxPartition 1 does not end on cylinder boundary./dev/sda2 64 10444 83373056 8e Linux LVM Disk /dev/sdb: 53.7 GB, 53687091200 bytes255 heads, 63 sectors/track, 6527 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/sdd: 1073 MB, 1073741824 bytes255 heads, 63 sectors/track, 130 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/sdc: 53.7 GB, 53687091200 bytes255 heads, 63 sectors/track, 6527 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/sde: 1073 MB, 1073741824 bytes255 heads, 63 sectors/track, 130 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/sdf: 1073 MB, 1073741824 bytes255 heads, 63 sectors/track, 130 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/sdg: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/sdh: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/mapper/vg_db1-lv_root: 53.7 GB, 53687091200 bytes255 heads, 63 sectors/track, 6527 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/mapper/vg_db1-lv_swap: 8405 MB, 8405385216 bytes255 heads, 63 sectors/track, 1021 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/mapper/vg_db1-lv_home: 23.3 GB, 23278387200 bytes255 heads, 63 sectors/track, 2830 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000
(2)ASM磁盘情况:
SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,STATE,TOTAL_MB,PATH,NAME from v$asm_disk order by GROUP_NUMBER,DISK_NUMBER;
GROUP_NUMBER DISK_NUMBER MOUNT_S STATE TOTAL_MB PATH NAME------------ ----------- ------- -------- ---------- -------------------- -------------------- 1 0 CACHED NORMAL 51200 /dev/asmdiske DATA_0000 1 1 CACHED NORMAL 51200 /dev/asmdiskf DATA_0001 2 0 CACHED NORMAL 20480 /dev/asmdiskg ARCH_0000 3 0 CACHED NORMAL 1024 /dev/asmdiskb OCR_0000 3 1 CACHED NORMAL 1024 /dev/asmdiskc OCR_0001 3 2 CACHED NORMAL 1024 /dev/asmdiskd OCR_0002 6 rows selected.
结论:ASM挂了6块磁盘,通过容量可能看到有一块21.5G的未挂载进来,也新盘还未使用,查看21.5G的磁盘,我们发现有 /dev/sdg 和 /dev/sdh。
(3)ASM磁盘对应物理盘:
[root@db1 rules.d]# pwd
/etc/udev/rules.d
[root@db1 rules.d]# more 99-x-asmdisk_new.rules
KERNEL=="sd?", ENV{ID_SERIAL}=="36000c29c5362298e7a9898225a9f8ed6", SYMLINK+="asmdiskb", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c2963776a39f75310d2f2bd98287", SYMLINK+="asmdiskc", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c29dd4c14aa6a5e4f77f40427565", SYMLINK+="asmdiskd", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c292b56645878eb55e7811673ae2", SYMLINK+="asmdiske", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c29ec780367d4c1f845c880f7f0e", SYMLINK+="asmdiskf", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c297777b8958d4d4dd5cd7ddbc47", SYMLINK+="asmdiskg", OWNER="grid", GROUP="asmadmin", MODE="0660"
[root@db1 rules.d]#
(4)确认下是哪块磁盘未使用,查看磁盘ID,与上面99-x-asmdisk_new.rules内容对比后发现:
[root@db1 rules.d]# /lib/udev/scsi_id -g -u /dev/sdg ---该块磁盘是新盘,未使用
36000c293ef0d560ff854306446331b79
[root@db1 rules.d]# /lib/udev/scsi_id -g -u /dev/sdh
36000c297777b8958d4d4dd5cd7ddbc47
1.1.2 将未使用磁盘进行挂载
目标:/dev/sdg 到ASM磁盘组2即ARCH当中
(1)首先修改文件99-x-asmdisk_new.rules,修改完后如下内容:
[root@db1 rules.d]# more 99-x-asmdisk_new.rules
KERNEL=="sd?", ENV{ID_SERIAL}=="36000c29c5362298e7a9898225a9f8ed6", SYMLINK+="asmdiskb", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c2963776a39f75310d2f2bd98287", SYMLINK+="asmdiskc", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c29dd4c14aa6a5e4f77f40427565", SYMLINK+="asmdiskd", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c292b56645878eb55e7811673ae2", SYMLINK+="asmdiske", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c29ec780367d4c1f845c880f7f0e", SYMLINK+="asmdiskf", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c297777b8958d4d4dd5cd7ddbc47", SYMLINK+="asmdiskg", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?", ENV{ID_SERIAL}=="36000c293ef0d560ff854306446331b79", SYMLINK+="asmdiskh", OWNER="grid", GROUP="asmadmin", MODE="0660" ----增加新行
(2)重新载入udev文件内容并启动
[root@db1 rules.d]# udevadm control --reload-rules
[root@db1 rules.d]# start_udev
Starting udev: [ OK ]
启动完之后可看到新加的磁盘 /dev/asmdiskh -> sdg
[root@db1 rules.d]# ls -l /dev/asm
total 0
[root@db1 rules.d]# ls -l /dev/asm*
lrwxrwxrwx 1 root root 3 May 19 15:13 /dev/asmdiskb -> sdf
lrwxrwxrwx 1 root root 3 May 19 15:13 /dev/asmdiskc -> sde
lrwxrwxrwx 1 root root 3 May 19 15:13 /dev/asmdiskd -> sdd
lrwxrwxrwx 1 root root 3 May 19 15:13 /dev/asmdiske -> sdb
lrwxrwxrwx 1 root root 3 May 19 15:13 /dev/asmdiskf -> sdc
lrwxrwxrwx 1 root root 3 May 19 15:13 /dev/asmdiskg -> sdh
lrwxrwxrwx 1 root root 3 May 19 15:13 /dev/asmdiskh -> sdg
(3)另一个节点做同样的处理
[root@db2 rules.d]# vi 99-x-asmdisk_new.rules
[root@db2 rules.d]# udevadm control --reload-rules
[root@db2 rules.d]# start udev
start: Unknown job: udev
[root@db2 rules.d]# start_udev
Starting udev: [ OK ]
[root@db2 rules.d]# ls -l /dev/asm*
lrwxrwxrwx 1 root root 3 May 19 15:17 /dev/asmdiskb -> sdf
lrwxrwxrwx 1 root root 3 May 19 15:17 /dev/asmdiskc -> sde
lrwxrwxrwx 1 root root 3 May 19 15:17 /dev/asmdiskd -> sdd
lrwxrwxrwx 1 root root 3 May 19 15:17 /dev/asmdiske -> sdb
lrwxrwxrwx 1 root root 3 May 19 15:17 /dev/asmdiskf -> sdc
lrwxrwxrwx 1 root root 3 May 19 15:17 /dev/asmdiskg -> sdh
lrwxrwxrwx 1 root root 3 May 19 15:17 /dev/asmdiskh -> sdg
/dev/asm:
total 0
1.1.3 在ASM环境中将磁盘加入到磁盘组中:
(1)使用GRID用户进入ASM实例中,查询ASM磁盘已经能看到该磁盘情况:
SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,STATE,TOTAL_MB,PATH,NAME from v$asm_disk order by GROUP_NUMBER,DISK_NUMBER; GROUP_NUMBER DISK_NUMBER MOUNT_S STATE TOTAL_MB PATH NAME------------ ----------- ------- -------- ---------- -------------------- -------------------- 0 0 CLOSED NORMAL 0 /dev/asmdiskh 1 0 CACHED NORMAL 51200 /dev/asmdiske DATA_0000 1 1 CACHED NORMAL 51200 /dev/asmdiskf DATA_0001 2 0 CACHED NORMAL 20480 /dev/asmdiskg ARCH_0000 3 0 CACHED NORMAL 1024 /dev/asmdiskb OCR_0000 3 1 CACHED NORMAL 1024 /dev/asmdiskc OCR_0001 3 2 CACHED NORMAL 1024 /dev/asmdiskd OCR_0002 7 rows selected.
(2)使用命令将磁盘加入到组ARCH中。
使用sqlplus ‘/as sysasm’登录
SQL> alter diskgroup ARCH ADD DISK '/dev/asmdiskh';
查看磁盘组容量已经增加
SQL> select NAME,FREE_MB,TOTAL_MB FROM V$ASM_DISKGROUP; NAME FREE_MB TOTAL_MB------------------------------ ---------- ----------DATA 99315 102400ARCH 39294 40960OCR 2787 3072
确认另一个节点情况:
SQL> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,STATE,TOTAL_MB,PATH,NAME from v$asm_disk order by GROUP_NUMBER,DISK_NUMBER; GROUP_NUMBER DISK_NUMBER MOUNT_S STATE TOTAL_MB PATH NAME------------ ----------- ------- -------- ---------- -------------------- -------------------- 1 0 CACHED NORMAL 51200 /dev/asmdiske DATA_0000 1 1 CACHED NORMAL 51200 /dev/asmdiskf DATA_0001 2 0 CACHED NORMAL 20480 /dev/asmdiskg ARCH_0000 2 1 CACHED NORMAL 20480 /dev/asmdiskh ARCH_0001 3 0 CACHED NORMAL 1024 /dev/asmdiskb OCR_0000 3 1 CACHED NORMAL 1024 /dev/asmdiskc OCR_0001 3 2 CACHED NORMAL 1024 /dev/asmdiskd OCR_0002 7 rows selected.
至此,磁盘ASM扩展完毕。