Der Beitrag enthält ein Beispiel dafür, wie partitionierte Linux-Blockgeräte mit udev (nicht ASMLIB) konfiguriert und ASM als Kandidaten-Mitgliedsfestplatten zugewiesen werden.
1. Dieses Beispiel wurde auf einer CentOS 6.6-Konfiguration (ASM-Version 11.2.0.4 – 64-Bit) durchgeführt:
$ uname -a Linux geeklab 2.6.32-504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.6 (Santiago)
2. Identifizieren Sie die neue Festplatte in Ihrer Linux-Konfiguration:
$ ls -l /dev/xvdv brw-rw---- 1 root disk 202, 5376 Feb 11 21:31 /dev/xvdv
3. Erstellen Sie darauf eine neue Festplattenpartition:
# 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.
# partprobe
4. Legen Sie die neuen UDEV-Regeln auf der neuen Partition (/dev/xvdv1) wie folgt fest:
# vi /etc/udev/rules.d/99-oracle-asmdevices.rules KERNEL=="xv*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360a98000375331796a3f434a55354474", NAME="asmdisk1_udev_p1", ACTION=="add|change", OWNER="grid", GROUP="asmadmin", MODE="0660"
5. Laden Sie die udev-Regeln neu und starten Sie sie neu:
# udevadm control --reload-rules
# start_udev Starting udev: [ OK ]HINWEIS :Das Ausführen von „start_udev“ bewirkt, dass die Netzwerk-Hotplug-Aktion auf jede Schnittstellenkonfigurationsdatei auf dem Host angewendet wird, auf dem HOTPLUG=no nicht festgelegt ist. Dadurch wird jede Schnittstelle aktiviert, für die HOTPLUG=no nicht festgelegt ist, unabhängig von der ONBOOT-Einstellung. Wenn Sie dies vermeiden möchten, stellen Sie bitte sicher, dass in jeder ifcfg-Datei HOTPLUG=no gesetzt ist.
6. Stellen Sie sicher, dass das neue udev-Partitionsgerät mit dem richtigen Eigentümer (grid &asmadmin) und den richtigen Berechtigungen (brw-rw—-) erstellt wird:
# ls -ltr /dev/asm* brw-rw---- 1 grid asmadmin 202, 5377 Feb 11 21:47 /dev/asmdisk1_udev_p1
7. Jetzt können Sie damit eine neue Datenträgergruppe erstellen oder wie folgt zu einer vorhandenen Datenträgergruppe hinzufügen:
# su - grid $ . oraenv ORACLE_SID = [grid] ? +ASM The Oracle base has been set to /u01/app/grid
$ sqlplus "/as sysasm" 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.