How To Setup Partitioned Linux Block Devices Using UDEV (Non-ASMLIB) And Assign Them To ASM

文档 ID 1528148.1


Applies to:

Oracle Database - Standard Edition - Version 10.2.0.1 to 12.1.0.2 [Release 10.2 to 12.1]
Information in this document applies to any platform.

Goal

The present document provides an example about how to setup/configure partitioned Linux block devices using udev (non-ASMLIB)  and assign them to ASM as candidate member disks.

Solution

1) This example was performed on an OEL 6.3 configuration (ASM release 11.2.0.3 - 64-bit):

[grid@asmlnx2 ~]$ uname -a
Linux asmlnx2 2.6.39-200.24.1.el6uek.x86_64 #1 SMP Sat Jun 23 02:39:07 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

[grid@asmlnx2 ~]$ cat /etc/*release*

Oracle Linux Server release 6.3
Red Hat Enterprise Linux Server release 6.3 (Santiago)
Oracle Linux Server release 6.3

 

2) Identify the new disk in your Linux configuration (e.g. OEL 6.3 or RedHat 6.3):

[grid@asmlnx2 ~]$ ls -l  /dev/xvdv
brw-rw---- 1 root disk 202, 5376 Feb 11 21:31 /dev/xvdv

 

3) Create a new disk partition on it:

[root@asmlnx2 ~]#  fdisk  /dev/xvdv
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xba335ded.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-261, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261):
Using default value 261

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

 

[root@asmlnx2 ~]# partprobe  /dev/xvdv

 

[root@asmlnx2 ~]# partprobe  /dev/xvdv1

 

[root@asmlnx2 ~]# ls -l  /dev/xvdv
brw-rw---- 1 root disk 202, 5376 Feb 11 21:38 /dev/xvdv

 

[root@asmlnx2 ~]# ls -l  /dev/xvdv1
brw-rw---- 1 root disk 202, 5377 Feb 11 21:38 /dev/xvdv1

 

 

4) Set the new UDEV rules on the new partition (“/dev/xvdv1”) as follows:

[root@asmlnx2 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="xvdv1", NAME="asmdisk1_udev_p1", OWNER="grid", GROUP="asmadmin", MODE="0660"

 

5) Reload and Restart the udev rules:

[root@asmlnx2 ~]# udevadm control --reload-rules

[root@asmlnx2 ~]# start_udev
Starting udev:                                             [  OK  ]

 


6) Make sure the new udev partition device is created with the correct ownership (grid & asmadmin) and permissions (brw-rw----):

[root@asmlnx2 ~]# ls -ltr /dev/asm*
brw-rw---- 1 grid asmadmin 202, 5377 Feb 11 21:47 /dev/asmdisk1_udev_p1

 

7) Now you can use it to create a new diskgroup or add it to an existing diskgroup as follows:


[root@asmlnx2 ~]# su - grid
[grid@asmlnx2 ~]$ . oraenv
ORACLE_SID = [grid] ? +ASM
The Oracle base has been set to /u01/app/grid
[grid@asmlnx2 ~]$ sqlplus "/as sysasm"

SQL*Plus: Release 11.2.0.3.0 Production on Mon Feb 11 21:56:31 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Automatic Storage Management option


SQL> show parameter asm_diskstring

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
asm_diskstring                       string


SQL> alter system set asm_diskstring = '/dev/asmdisk1_udev_p1' scope=both;

System altered.


SQL> show parameter  asm_diskstring

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
asm_diskstring                       string       /dev/asmdisk1_udev_p1



SQL> select path from v$asm_disk where path like '%udev%';

PATH
--------------------------------------------------------------------------------
/dev/asmdisk1_udev_p1


SQL> create diskgroup UDEVDG external redundancy disk '/dev/asmdisk1_udev_p1'  ;

Diskgroup created.

 

 

Note 1: Additional examples are described at the following manual:

  • Configuring Storage for Oracle ASM/Database Files Using Block Devices

Or

  • Configuring Disk Devices Manually for Oracle ASM

 

 

 

 

Community Discussions

Still have questions? Use the communities window below to search for similar discussions or start a new discussion on this subject. (Window is the live community not a screenshot)

你可能感兴趣的:(ASM,udev)