Agregar ASM Disk a un DiskGroup de ASM en Solaris
Contrario a Linux, en sistemas
operativos Solaris no hay herramientas específicas para poder ‘crear’ discos
ASM y ser añadidos a un DiskGroup especifico. Y me refiero al término ‘crear’ pues
el objetivo de librerías como ASMLib en Linux es hacer accesibles los
dispositivos para la instancia ASM de modo que concuerden con el parámetro ASM_DISKSTRING y cuenten con los permisos adecuados
para su manipulación.
Cómo no tenemos una librería que
nos ayude a crear estos permisos y rutas debemos realizar todo ‘a mano’ por decirlo
así. Lo que nos otorga un mayor control sobre los dispositivos. Véamelo como
una ventaja.
El primer paso será descubrir
nuevas unidades asignadas a nuestro servidor, en Solaris una forma útil de
hacerlo es mediante el comando cfgadm.
root@cen-tlg-ser-01:/dev/rdsk# cfgadm -al
Ap_Id Type Receptacle Occupant Condition
Slot1 pci-pci/hp connected configured ok
Slot2 pci-pci/hp connected configured ok
Slot3 etherne/hp connected configured ok
Slot4 unknown empty unconfigured unknown
c3 scsi-sas connected configured unknown
c3::w5000cca056cc1cb5,0 disk-path connected configured unknown
c4 scsi-sas connected configured unknown
c4::w5000cca056cc2485,0 disk-path connected configured unknown
c5 scsi-sas connected unconfigured unknown
c6 fc-fabric connected configured unknown
c6::50060e8007dd0d00 disk connected configured unknown
c6::50060e8016061050 unavailable connected
unconfigured failed
|
Mediante este listado podemos
identificar el SCSI_ID del disco que deseamos agregar al DiskGroup.
Una vez identificado el SCSI_ID
sabremos que disco necesitamos configurar. A continuación utilizaremos el
comando FORMAT para comenzar a crear particiones en nuestro dispositivo.
root@cen-tlg-srv-01:/dev/rdsk# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t5000CCA056CC1CB4d0
<HITACHI-H109060SESUN600G-A690-558.91GB>
/scsi_vhci/disk@g5000cca056cc1cb4
1. c0t5000CCA056CC2484d0
<HITACHI-H109060SESUN600G-A690-558.91GB>
/scsi_vhci/disk@g5000cca056cc2484
2.
c0t60060E8007DD0D000030DD0D0000048Ad0 <HITACHI-OPEN-V -SUN-8001 cyl 26106 alt 2 hd 255 sec
63>
/scsi_vhci/disk@g60060e8007dd0d000030dd0d0000048a
3.
c0t60060E8007DD0D000030DD0D00000489d0 <HITACHI-OPEN-V -SUN-8001 cyl 26106 alt 2 hd 255 sec
63>
/scsi_vhci/disk@g60060e8007dd0d000030dd0d00000489
4.
c0t60060E80166E4F0000016E4F000000BAd0 <HITACHI-OPEN-V -SUN-7005 cyl 26105 alt 2 hd 255 sec
63>
/scsi_vhci/disk@g60060e80166e4f0000016e4f000000ba
5.
c0t60060E80166E4F0000016E4F000000BBd0 <HITACHI-OPEN-V -SUN-7005 cyl 26105 alt 2 hd 255 sec
63>
/scsi_vhci/disk@g60060e80166e4f0000016e4f000000bb
6.
c0t60060E80166E4F0000016E4F000000BCd0 <HITACHI-OPEN-V -SUN-7005 cyl 26105 alt 2 hd 255 sec
63>
/scsi_vhci/disk@g60060e80166e4f0000016e4f000000bc
7.
c0t60060E80166E4F0000016E4F000000BDd0 <HITACHI-OPEN-V -SUN-7005 cyl 26105 alt 2 hd 255 sec
63>
/scsi_vhci/disk@g60060e80166e4f0000016e4f000000bd
Specify disk (enter its number):
|
Como ya tenemos identificado el
SCSI_ID del nuevo dispositivo, utilizamos el número de disco al que pertenece
en nuestro servidor. Lo siguiente es establecer las particiones en el disco:
Debemos elegir la opción 1, para
utilizar todo el espacio disponible.
Despues de esta partición,
elegiremos una nueva que servirá como encabezado para la etiqueta del disco que
nos ayuda a mantener el orden en los discos de nuestro servidor.
Specify disk (enter its number): 7
selecting c0t60060E80166E4F0000016E4F000000BDd0
[disk formatted]
Disk
not labeled. Label it now? y
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
inquiry - show vendor, product and revision
volname - set 8-character
volume name
! - execute , then return
quit
format>
p
|
Current partition table
(original):
Total disk cylinders available: 4924 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size
Blocks
0 usr wm 0 - 584 1.00GB (585/0/0) 2100735 1 unassigned wm 585 - 1169 1.00GB (585/0/0) 2100735 2 unassigned wm 1170 - 1754 1.00GB (585/0/0) 2100735 3 unassigned wm 1755 - 2339 1.00GB (585/0/0) 2100735 4 unassigned wm 2340 - 2924 1.00GB (585/0/0) 2100735 5 unassigned wm 2925 - 3509 1.00GB (585/0/0) 2100735 6 unassigned wm 3509 - 4677 2.00GB (1169/0/0) 4197879 7 usr wu 4678 - 4923 431.00MB (246/0/0) 883386
partition> modify
Select partitioning base: 0. Current partition table (original) 1. All Free Hog
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
Choose base (enter number) [0]? 1
Dou wish to continue creating a
new partition
table based on above table[yes]? yes Free Hog partition[6]? 7 Enter size of partition '0' [0b, 0c, 0.00mb, 0.00gb]: 500mb 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]: 5gb Enter size of partition '5' [0b, 0c, 0.00mb, 0.00gb]: Enter size of partition '6' [0b, 0c, 0.00mb, 0.00gb]: Part Tag Flag Cylinders Size Blocks 0 root wm 0 - 285 501.00MB (286/0/0) 1027026 1 swap wu 0 0 (0/0/0) 0 2 backup wu 0 - 4923 8.43GB (4924/0/0) 17682084 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 286 - 3206 5.00GB (2921/0/0) 10489311 5 unassigned wm 0 0 (0/0/0) 0 6 usr wm 0 0 (0/0/0) 0 7 unassigned wm 3207 - 4923 2.94GB (1717/0/0) 6165747 Okay to make this the current partition table[yes]? yes Enter table name (remember quotes): "asm" Ready to label disk, continue? y partition> q format> verify format> q |
En este punto, nuestro nuevo
disco está listo para que le otorguemos los permisos y hacerlo visible para la
instancia ASM.
Podemos ver la ubicación de los
discos en: /dev/rdsk. Echemos un vistazo.
root@cen-tlg-srv-01:/dev/rdsk# ls
-lL
crw-rw---- 1 grid
asmadmin 208, 1728 Jun 26 17:46
c0t60060E80166E4F0000016E4F00000082d0s0
crw-rw---- 1 grid
asmadmin 208, 1664 Jun 26 16:59
c0t60060E80166E4F0000016E4F00000083d0s0
crw-rw---- 1 grid
asmadmin 208, 1600 Jun 26 17:57
c0t60060E80166E4F0000016E4F00000084d0s0
crw-rw---- 1 grid
asmadmin 208, 1536 Jun 26 17:58
c0t60060E80166E4F0000016E4F00000085d0s0
crw-rw---- 1 grid
asmadmin 208, 1472 Jun 7 2015 c0t60060E80166E4F0000016E4F00000086d0s0
crw-rw---- 1 grid
asmadmin 208, 640 Jun 26 17:31 c0t60060E80166E4F0000016E4F0000009Fd0s0
crw-rw---- 1 grid
asmadmin 208, 576 Jun 26 17:57
c0t60060E80166E4F0000016E4F000000BAd0s0
crw-r-----
1 root root 208, 384 Jun 26 16:01
c0t60060E80166E4F0000016E4F000000BDd0s0
crw-rw---- 1 grid
asmadmin 208, 320 Jun 26 01:00 c0t60060E80166E4F0000016E4F000000DDd0s0
crw-rw---- 1 grid
asmadmin 208, 256 Jun 26 17:57 c0t60060E80166E4F0000016E4F000000DEd0s0
crw-rw---- 1 grid
asmadmin 208, 2240 Jun 26 17:45
c0t60060E80166E4F0000016E4F00000106d0s0
crw-rw---- 1 grid
asmadmin 208, 2176 Jun 20 19:30 c0t60060E80166E4F0000016E4F00000107d0s0
...
|
Podemos ver el dueño del nuevo dispositivo
formateado es root y no tiene los permisos necesarios para ser manipulado por
el diskgroup.
Lo siguiente será asignarle la
pertenencia del dispositivo al usuario grid y al grupo asmadmin
root@cen-tlg-srv-01:/dev/rdsk# chown grid:asmadmin c0t60060E80166E4F0000016E4F000000BDd0s0
root@cen-tlg-srv-01:/dev/rdsk# chmod 660 c0t60060E80166E4F0000016E4F000000BDd0s0
|
Si validamos nuevamente permisos:
root@cen-tlg-srv-01:/dev/rdsk# ls
-lL|grep grid
crw-rw---- 1 grid
asmadmin 208, 1728 Jun 26 17:46
c0t60060E80166E4F0000016E4F00000082d0s0
crw-rw---- 1 grid
asmadmin 208, 1664 Jun 26 16:59
c0t60060E80166E4F0000016E4F00000083d0s0
crw-rw---- 1 grid
asmadmin 208, 1600 Jun 26 17:57
c0t60060E80166E4F0000016E4F00000084d0s0
crw-rw---- 1 grid
asmadmin 208, 1536 Jun 26 17:58
c0t60060E80166E4F0000016E4F00000085d0s0
crw-rw---- 1 grid
asmadmin 208, 1472 Jun 7 2015 c0t60060E80166E4F0000016E4F00000086d0s0
crw-rw---- 1 grid
asmadmin 208, 640 Jun 26 17:31 c0t60060E80166E4F0000016E4F0000009Fd0s0
crw-rw---- 1 grid
asmadmin 208, 576 Jun 26 17:57
c0t60060E80166E4F0000016E4F000000BAd0s0
crw-rw---
1 grid asmadmin 208, 384 Jun
26 16:01 c0t60060E80166E4F0000016E4F000000BDd0s0
crw-rw---- 1 grid
asmadmin 208, 320 Jun 26 01:00 c0t60060E80166E4F0000016E4F000000DDd0s0
crw-rw---- 1 grid
asmadmin 208, 256 Jun 26 17:57 c0t60060E80166E4F0000016E4F000000DEd0s0
crw-rw---- 1 grid
asmadmin 208, 2240 Jun 26 17:45
c0t60060E80166E4F0000016E4F00000106d0s0
crw-rw---- 1 grid
asmadmin 208, 2176 Jun 20 19:30 c0t60060E80166E4F0000016E4F00000107d0s0
…
|
Finalmente, nuestro disco está
listo para ser identificado y agregado en nuestro diskgroup.
root@cen-tlg-srv-01:/dev/rdsk# su - grid
Oracle Corporation SunOS 5.11 11.2
April 2015
grid@cen-tlg-srv-01:~$ sqlplus / as sysasm
SQL*Plus: Release 12.1.0.1.0 Production on
Sun Jun 26 18:10:27 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition
Release 12.1.0.1.0 - 64bit Production
With the Real Application Clusters and
Automatic Storage Management options
SQL> col PATH format a60
SQL> Select PATH, HEADER_STATUS from
v$asm_disk;
PATH
HEADER_STA
------------------------------------------------------------
----------
/dev/rdsk/c0t60060E80166E4F0000016E4F00000121d0s0 FORMER
/dev/rdsk/c0t60060E80166E4F0000016E4F00000120d0s0 FORMER
/dev/rdsk/c0t60060E80166E4F0000016E4F00000082d0s0 MEMBER
/dev/rdsk/c0t60060E80166E4F0000016E4F00000083d0s0 MEMBER
/dev/rdsk/c0t60060E80166E4F0000016E4F00000084d0s0 MEMBER
/dev/rdsk/c0t60060E80166E4F0000016E4F00000085d0s0 MEMBER
/dev/rdsk/c0t60060E80166E4F0000016E4F00000086d0s0 MEMBER
/dev/rdsk/c0t60060E80166E4F0000016E4F00000087d0s0 MEMBER
/dev/rdsk/c0t60060E80166E4F0000016E4F00000088d0s0 MEMBER
/dev/rdsk/c0t60060E80166E4F0000016E4F00000089d0s0 MEMBER
/dev/rdsk/c0t60060E80166E4F0000016E4F000000BDd0s0 CANDIDATE
SQL> alter diskgroup DATA add disk '/dev/rdsk/c0t60060E80166E4F0000016E4F000000BDd0s0' name DATA_05
rebalance power 8;
|
Si la base de datos que
utilizamos pertenece a una arquitectura RAC, debemos repetir los pasos a excepción
de la asignación al DISKGROUP en cada uno de los nodos de nuestra
infraestructura.
Salud!
Comments
Post a Comment