千家信息网

使用udev扩展ASM磁盘组

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,环境:linux6.5 Oracle RAC集群两节点,Oracle版本11.2.0.41.1.1 查看相关内容:(1 )磁盘情况:[root@db1 ~]# fdisk -lDisk /dev/sd
千家信息网最后更新 2025年01月25日使用udev扩展ASM磁盘组

环境: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 扩展完毕。

0