miércoles, mayo 04, 2011

Etiquetado de discos para ASM en Solaris.

* Con la ayuda de Sergio Ramírez en la parte de Solaris. Muchísimas gracias, compañero!.


Cuando he tenido que etiquetar discos en linux para que el ASM los reconozca para candidatos, la librería asmlib me lo ha puesto muy fácil, pues solamente era necesario marcar los discos de la siguiente forma.


[root@host Server]# /etc/init.d/oracleasm createdisk ASMDISK1_DATA /dev/mapper/racdb_asm1
Marking disk "ASMDISK1_DATA" as an ASM disk:               [  OK  ]

[root@host Server]# /etc/init.d/oracleasm createdisk ASMDISK1_FRA  /dev/mapper/racdb_asm2
Marking disk "ASMDISK1_FRA" as an ASM disk:                [  OK  ]

[root@cun0401 Server]# /etc/init.d/oracleasm listdisks
ASMDISK1_DATA
ASMDISK1_FRA


Pero esta librería no está disponible para Solaris y el proceso de etiquetar los discos para que ASM los vea como candidatos no resulta tan evidente como se describe en la documentación de instalación de grid en Solaris.

En concreto, una vez los discos están visibles y los dispositivos son del propietario grid:dba , en el comando format hay que modificar los volúmenes tal como se muestra.

root@host:~$ format
Searching for disks...done 

AVAILABLE DISK SELECTIONS:
       0. c0t0d0
          /pci@0,600000/pci@0/pci@8/pci@0/scsi@1/sd@0,0
       1. c0t1d0 Solaris
          /pci@0,600000/pci@0/pci@8/pci@0/scsi@1/sd@1,0
       2. c2t600A0B800029B03400001B474BE28D9Bd0
          /scsi_vhci/ssd@g600a0b800029b03400001b474be28d9b
       3. c2t600A0B800029B034000022A64DB65A53d0
          /scsi_vhci/ssd@g600a0b800029b034000022a64db65a53   --> Este es el disco a añadir
       4. c2t600A0B800029B034000020104C43B3C1d0
          /scsi_vhci/ssd@g600a0b800029b034000020104c43b3c1
       5. c2t600A0B800029B034000021104C612E6Dd0
          /scsi_vhci/ssd@g600a0b800029b034000021104c612e6d
       6. c2t600A0B8000269A3200007F3F4BE25284d0
          /scsi_vhci/ssd@g600a0b8000269a3200007f3f4be25284
       7. c2t600A0B8000269A32000084B24CC8D1D5d0
          /scsi_vhci/ssd@g600a0b8000269a32000084b24cc8d1d5
       8. c2t600A0B8000269A32000084C74CD0F3D2d0
          /scsi_vhci/ssd@g600a0b8000269a32000084c74cd0f3d2
       9. c2t600A0B8000269A320000802A4BF3820Ad0
          /scsi_vhci/ssd@g600a0b8000269a320000802a4bf3820a
      10. c2t600A0B8000269A320000834C4C439596d0
          /scsi_vhci/ssd@g600a0b8000269a320000834c4c439596
      11. c2t600A0B8000269A320000834F4C43960Fd0
          /scsi_vhci/ssd@g600a0b8000269a320000834f4c43960f
Specify disk (enter its number): 3 --> corresponde al identificador del disco a añadir

Select partitioning base:
        0. Current partition table (original)
        1. All Free Hog
Choose base (enter number) [0]? 1   --> para modificarlas todas las particiones



 Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm       0                0         (0/0/0)             0
  1       swap    wu       0                0         (0/0/0)             0
  2     backup    wu       0 - 51197      100.00GB    (51198/0/0) 209707008
  3 unassigned    wm       0                0         (0/0/0)             0
  4 unassigned    wm       0                0         (0/0/0)             0
  5 unassigned    wm       0                0         (0/0/0)             0
  6        usr    wm       0                0         (0/0/0)             0
  7 unassigned    wm       0                0         (0/0/0)             0


Do you wish to continue creating a new partition
table based on above table[yes]? Yes  -> Confirmamos que deseamos crear nuestras particiones.
Free Hog partition[6]? 7  -> Determina que partición es la que almacena el espacio libre
Enter size of partition '0' [0b, 0c, 0.00mb, 0.00gb]: 500mb  -> En la partición 0 definimos un tamaño de 500mb la que necesita ASM para su gestión.
Enter size of partition '1' [0b, 0c, 0.00mb, 0.00gb]:    
Enter size of partition '3' [0b, 0c, 0.00mb, 0.00gb]:
Enter size of partition '4' [0b, 0c, 0.00mb, 0.00gb]:
Enter size of partition '5' [0b, 0c, 0.00mb, 0.00gb]:
Enter size of partition '6' [0b, 0c, 0.00mb, 0.00gb]: 99.50gb  -> Configuramos el resto del tamaño en una de las particiones

Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm       0 -   249      500.00MB    (250/0/0)     1024000
  1       swap    wu       0                0         (0/0/0)             0
  2     backup    wu       0 - 51197      100.00GB    (51198/0/0) 209707008
  3 unassigned    wm       0                0         (0/0/0)             0
  4 unassigned    wm       0                0         (0/0/0)             0
  5 unassigned    wm       0                0         (0/0/0)             0
  6        usr    wm     250 - 51193       99.50GB    (50944/0/0) 208666624
  7 unassigned    wm   51194 - 51197        8.00MB    (4/0/0)         16384

Okay to make this the current partition table[yes]? Yes  -> Confirmamos que esta correcto tal cual la hemos definido
Enter table name (remember quotes): "asm"  -> Le ponemos un nombre al modelo de configuración de la tabla, para posteriores discos para la ASM del mismo tamaño.


Ready to label disk, continue? yes

partition> q --> salimos del menú de partición

FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !     - execute , then return
        quit
format> verify  -> Mediante el comando verify comprobamos que esta correcto.

Primary label contents:

Volume name = <        >
ascii name  =
pcyl        = 51200
ncyl        = 51198
acyl        =    2
nhead       =   64
nsect       =   64
Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm       0 -   249      500.00MB    (250/0/0)     1024000
  1       swap    wu       0                0         (0/0/0)             0
  2     backup    wu       0 - 51197      100.00GB    (51198/0/0) 209707008
  3 unassigned    wm       0                0         (0/0/0)             0
  4 unassigned    wm       0                0         (0/0/0)             0
  5 unassigned    wm       0                0         (0/0/0)             0
  6        usr    wm     250 - 51193       99.50GB    (50944/0/0) 208666624
  7 unassigned    wm   51194 - 51197        8.00MB    (4/0/0)         16384

format> q


Ahora, desde la interfaz gráfica (asmca) o desde sqlplus, Oracle es capaz de identificar los discos como candidatos para añadirlos al diskgroup ASM que corresponda.




-bash-3.00$ sqlplus / as sysasm


SQL> select path, name from v$asm_disk;


PATH                                               NAME
-------------------------------------------------- ------------------------------
/dev/did/rdsk/d9s6
/dev/did/rdsk/d9s7
/dev/did/rdsk/d9
/dev/did/rdsk/d4s6                                 RECOVERY_0000
/dev/did/rdsk/d22s6                                DATOS_0001
/dev/did/rdsk/d18s6                                OCRVOTING_0000
/dev/did/rdsk/d19s6                                OCRVOTING_0001




Al aparecer los tres nuevos volúmenes como candidatos, ya es posible añadir el disco al diskgroup desde sqlplus conectado como SYSASM.


SQL> alter diskgroup DATOS add disk ‘/dev/did/rdsk/d9s6’;


SQL> select path, name from v$asm_disk;
PATH                                               NAME
-------------------------------------------------- ------------------------------
/dev/did/rdsk/d9s7
/dev/did/rdsk/d9
/dev/did/rdsk/d4s6                                 RECOVERY_0000
/dev/did/rdsk/d9s6                                 DATOS_0000
/dev/did/rdsk/d22s6                                DATOS_0001
/dev/did/rdsk/d18s6                                OCRVOTING_0000
/dev/did/rdsk/d19s6                                OCRVOTING_0001

No hay comentarios:

Amazon