How to add raw disk first in vmware host RHEL 7 from datastore and attach to ASM diskgroup using udev rules and asmca

First Add disk from datastore to the VM server node using following steps

  • Login to vCenter console and Right Click Server -> Edit Settings.

  • Click Add and add a New Disk

  • Create a new virtual disk.

  • Provide capacity and all related setting.

  • Also specify the Datastore.

 

  • Select proper settings in Virtual Device Node

  • Check all the settings and Finish to complete.

Second,This needs to be done in Server level.

1.Login with root user to the server

 

2.Take backup of fdisk -l and lsblk output to a temp file.

 

lsblk>tt

fdisk -l>>tt

 

3.Please check lsblk output

 

lsblk

 

[root@XXX rules.d]# lsblk

NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda                       8:0    0   80G  0 disk

├─sda1                    8:1    0  512M  0 part /boot

├─sda2                    8:2    0   17G  0 part [SWAP]

└─sda3                    8:3    0 62.5G  0 part

├─vg00-lvusr          253:0    0 12.8G  0 lvm  /usr

├─vg00-lvroot         253:1    0  8.8G  0 lvm  /

├─vg00-lvhome         253:8    0  5.5G  0 lvm  /home

├─vg00-lvopt          253:9    0  8.8G  0 lvm  /opt

├─vg00-lvvar          253:10   0 17.6G  0 lvm  /var

└─vg00-lvtmp          253:11   0  8.8G  0 lvm  /tmp

sdb                       8:16   0   65G  0 disk

└─sdb1                    8:17   0   65G  0 part

├─vg_ora-product      253:2    0   14G  0 lvm  /u01/app/product

├─vg_ora-oraInventory 253:3    0    2G  0 lvm  /u01/app/oraInventory

├─vg_ora-oracle       253:4    0   14G  0 lvm  /u01/app/oracle

├─vg_ora-grid         253:5    0   12G  0 lvm  /u01/app/grid

├─vg_ora-oraclecd     253:6    0   20G  0 lvm  /oraclecd

└─vg_ora-lvoemcc      253:7    0    3G  0 lvm  /u01/oemcc

sdc                       8:32   0   10G  0 disk

└─sdc1                    8:33   0   10G  0 part

sdd                       8:48   0   10G  0 disk

└─sdd1                    8:49   0   10G  0 part

sde                       8:64   0   10G  0 disk

└─sde1                    8:65   0   10G  0 part

sdf                       8:80   0  100G  0 disk

└─sdf1                    8:81   0  100G  0 part

sdg                       8:96   0  300G  0 disk

└─sdg1                    8:97   0  300G  0 part /TEMPORAL

 

4.Run following command to probe the disk

echo “- – -” > /sys/class/scsi_host/host0/scan
echo “- – -” > /sys/class/scsi_host/host1/scan
echo “- – -” > /sys/class/scsi_host/host2/scan

  1. Please check lsblk output again

 

[root@XXX rules.d]# lsblk

NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda                       8:0    0   80G  0 disk

├─sda1                    8:1    0  512M  0 part /boot

├─sda2                    8:2    0   17G  0 part [SWAP]

└─sda3                    8:3    0 62.5G  0 part

├─vg00-lvusr          253:0    0 12.8G  0 lvm  /usr

├─vg00-lvroot         253:1    0  8.8G  0 lvm  /

├─vg00-lvhome         253:8    0  5.5G  0 lvm  /home

├─vg00-lvopt          253:9    0  8.8G  0 lvm  /opt

├─vg00-lvvar          253:10   0 17.6G  0 lvm  /var

└─vg00-lvtmp          253:11   0  8.8G  0 lvm  /tmp

sdb                       8:16   0   65G  0 disk

└─sdb1                    8:17   0   65G  0 part

├─vg_ora-product      253:2    0   14G  0 lvm  /u01/app/product

├─vg_ora-oraInventory 253:3    0    2G  0 lvm  /u01/app/oraInventory

├─vg_ora-oracle       253:4    0   14G  0 lvm  /u01/app/oracle

├─vg_ora-grid         253:5    0   12G  0 lvm  /u01/app/grid

├─vg_ora-oraclecd     253:6    0   20G  0 lvm  /oraclecd

└─vg_ora-lvoemcc      253:7    0    3G  0 lvm  /u01/oemcc

sdc                       8:32   0   10G  0 disk

└─sdc1                    8:33   0   10G  0 part

sdd                       8:48   0   10G  0 disk

└─sdd1                    8:49   0   10G  0 part

sde                       8:64   0   10G  0 disk

└─sde1                    8:65   0   10G  0 part

sdf                       8:80   0  100G  0 disk

└─sdf1                    8:81   0  100G  0 part

sdg                       8:96   0  300G  0 disk

└─sdg1                    8:97   0  300G  0 part /TEMPORAL

sdh                       8:112  0  100G  0 disk

 

 

6.Now run fdisk command to create partition on newly added raw disk

 

[root@XXX rules.d]# fdisk /dev/sdh

Welcome to fdisk (util-linux 2.23.2).

 

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

 

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0x30ea7a70.

 

Command (m for help): n

Partition type:

p   primary (0 primary, 0 extended, 4 free)

e   extended

Select (default p): p

Partition number (1-4, default 1):

First sector (2048-209715199, default 2048):

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):

Using default value 209715199

Partition 1 of type Linux and of size 100 GiB is set

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

 

7.Run the lsblk again to check new partition

 

[root@XXX rules.d]# lsblk

NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda                       8:0    0   80G  0 disk

├─sda1                    8:1    0  512M  0 part /boot

├─sda2                    8:2    0   17G  0 part [SWAP]

└─sda3                    8:3    0 62.5G  0 part

├─vg00-lvusr          253:0    0 12.8G  0 lvm  /usr

├─vg00-lvroot         253:1    0  8.8G  0 lvm  /

├─vg00-lvhome         253:8    0  5.5G  0 lvm  /home

├─vg00-lvopt          253:9    0  8.8G  0 lvm  /opt

├─vg00-lvvar          253:10   0 17.6G  0 lvm  /var

└─vg00-lvtmp          253:11   0  8.8G  0 lvm  /tmp

sdb                       8:16   0   65G  0 disk

└─sdb1                    8:17   0   65G  0 part

├─vg_ora-product      253:2    0   14G  0 lvm  /u01/app/product

├─vg_ora-oraInventory 253:3    0    2G  0 lvm  /u01/app/oraInventory

├─vg_ora-oracle       253:4    0   14G  0 lvm  /u01/app/oracle

├─vg_ora-grid         253:5    0   12G  0 lvm  /u01/app/grid

├─vg_ora-oraclecd     253:6    0   20G  0 lvm  /oraclecd

└─vg_ora-lvoemcc      253:7    0    3G  0 lvm  /u01/oemcc

sdc                       8:32   0   10G  0 disk

└─sdc1                    8:33   0   10G  0 part

sdd                       8:48   0   10G  0 disk

└─sdd1                    8:49   0   10G  0 part

sde                       8:64   0   10G  0 disk

└─sde1                    8:65   0   10G  0 part

sdf                       8:80   0  100G  0 disk

└─sdf1                    8:81   0  100G  0 part

sdg                       8:96   0  300G  0 disk

└─sdg1                    8:97   0  300G  0 part /TEMPORAL

sdh                       8:112  0  100G  0 disk

└─sdh1                    8:113  0  100G  0 part

 

8.Please note the scsi_id as following:-

 

[root@XXX rules.d]# /usr/lib/udev/scsi_id -g -u -d /dev/sdh1

36000c292e30b8d54846d5de1787d8f27

 

9.Take backup of udev rules

cd /etc/udev/rules.d

[root@XXX rules.d]# cp 99-oracle-asmdevices.rules 99-oracle-asmdevices.rules_old

 

10.Please add last time changing RESULT and SYMLINK+ (increment it by one)

 

[root@XXX rules.d]# cat 99-oracle-asmdevices.rules

#sdc1

KERNEL==”sd?1″, SUBSYSTEM==”block”, PROGRAM==”/usr/lib/udev/scsi_id -g -u -d /dev/$parent”, RESULT==”36000c29034fea4393fa82565c3b06de0″, SYMLINK+=”asm-disk01″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″

 

#sdd1

KERNEL==”sd?1″, SUBSYSTEM==”block”, PROGRAM==”/usr/lib/udev/scsi_id -g -u -d /dev/$parent”, RESULT==”36000c293e4ad06adc3e7b4c1b8ca456c”, SYMLINK+=”asm-disk02″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″

 

#sde1

KERNEL==”sd?1″, SUBSYSTEM==”block”, PROGRAM==”/usr/lib/udev/scsi_id -g -u -d /dev/$parent”, RESULT==”36000c2993f2aa2059211cad7b5930f91″, SYMLINK+=”asm-disk03″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″

 

#sdf1

KERNEL==”sd?1″, SUBSYSTEM==”block”, PROGRAM==”/usr/lib/udev/scsi_id -g -u -d /dev/$parent”, RESULT==”36000c29ea8626431ac553e9ec82d4d58″, SYMLINK+=”asm-disk04″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″

 

#sdh1

KERNEL==”sd?1″, SUBSYSTEM==”block”, PROGRAM==”/usr/lib/udev/scsi_id -g -u -d /dev/$parent”, RESULT==”36000c292e30b8d54846d5de1787d8f27″, SYMLINK+=”asm-disk05″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″

 

11.Refresh the udev rules

 

udevadm trigger

udevadm control –reload-rules

 

12.Now the asm-disk05 will be visible.

 

[root@XXX rules.d]# ls -l /dev/ | grep asm-disk

lrwxrwxrwx 1 root root            4 Nov 16 04:49 asm-disk01 -> sdc1

lrwxrwxrwx 1 root root            4 Nov 16 04:49 asm-disk02 -> sdd1

lrwxrwxrwx 1 root root            4 Nov 16 04:49 asm-disk03 -> sde1

lrwxrwxrwx 1 root root            4 Nov 16 04:50 asm-disk04 -> sdf1

lrwxrwxrwx 1 root root            4 Nov 16 04:49 asm-disk05 -> sdh1

 

13.Now open asmca after login to grid user .

 

14.Add disk to diskgroup by right click on particular diskgroup

15.Now disk is added successfully on +DATA