El siguiente procedimiento sirve para añadir nuevos discos a una instancia ASM (Automatic Storage Management). El proceso pasa por localizar los discos a añadir, particionarlos y finalmente marcarlos para ser usados por ASM. Este último punto se realiza con los paquetes de ASM que podemos instalar en Oracle Linux.
Los paquetes de ASM los podemos instalar con yum o rpm:
# rpm -qa | grep asm oracleasm-support-2.1.8-1.el6.x86_64 kmod-oracleasm-2.0.6.rh1-2.el6.x86_64
# yum install oracleasm-support kmod-oracleasm
Una vez que tenemos las herramientas instaladas, lo primero que hacemos es localizar el disco/s a añadir a ASM. Una forma sencilla es, por ejemplo, sacar un listado de los WWN en /dev/disk/by-id/ e identificarlos según el LUN ID/WWN y su mapeo en /dev/sd*:
# ls -l /dev/disk/by-id/ lrwxrwxrwx. 1 root root 10 Dec 22 08:57 /dev/disk/by-id/wwn-0x600144f0956df03d0000549811880007 -> ../../sdaa
Una vez localizado, lo particionamos de forma estándar. Si no lo particionamos a la hora de marcarlo como ASM fallará:
# fdisk -cu /dev/sdaa Command (m for help): p Disk /dev/sdaa: 53.7 GB, 53687091200 bytes 64 heads, 32 sectors/track, 51200 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x8f594f83 Device Boot Start End Blocks Id System Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-51200, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-51200, default 51200): Using default value 51200 Command (m for help): w
A partir de aquí ya podemos hacer uso de la herramienta oracleasm:
# /etc/init.d/oracleasm Usage: /etc/init.d/oracleasm {start|stop|restart|enable|disable|configure |createdisk|deletedisk|querydisk|listdisks|scandisks|status}
Para marcar el disco para su uso en ASM simplemente indicamos la etiqueta con la que se identificará y el dispositivo:
# /etc/init.d/oracleasm createdisk DATA15 /dev/sdaa1 Marking disk "DATA15" as an ASM disk: [ OK ]
Listamos los discos para verificar que el nuevo que hemos añadido aparece:
# /etc/init.d/oracleasm listdisks
Y finalmente, en el resto de nodos del Oracle RAC hacemos un scandisk para que aparezca el nuevo disco:
# /etc/init.d/oracleasm scandisks Scanning the system for Oracle ASMLib disks: [ OK ]
Y un listdisks para confirmar:
# /etc/init.d/oracleasm listdisks