En este nuevo artículo hablaremos sobre cómo ampliar agregados de discos en controladoras NetApp. Recientemente he estado ampliando unas controladoras FAS3220 añadiendo bandejas DS4246 sobre un stack existente. El procedimiento para llevar a cabo esta ampliación es bastante sencillo y se puede hacer de forma no disruptiva si los stacks de bandejas de discos tienen una configuración multipath adecuada. Por lo tanto, antes de desconectar cableado SAS, es fundamental realizar un pequeño chequeo para asegurarnos de que podemos proceder sin afectar en absoluto el servicio.
En este artículo suponemos que el sistema de almacenamiento está cableado en multipath aunque también podríamos ampliar un Stack single path de forma no disruptiva. En tal caso solamente conectaríamos la nueva bandeja bajo la última existente sin necesidad de desconectar el cableado.
1) Verificar que todos los canales tienen visión con los discos del stack que queremos ampliar:
Mediante el comando environment status shelf #canal_sas podemos obtener toda la información acerca de las bandejas, discos instalados, fuentes de alimentación, errores, ventiladores, voltajes, etc. que la controladora ve por ese canal. Generalmente los puertos SAS embebidos suelen ser 0a y 0b por lo que lanzaremos este comando para ambos canales.
FAS3220-A> environment status shelf 0a Environment for channel 0a Number of shelves monitored: 4 enabled: yes Environmental failure on shelves on this channel? no ... Shelf: 4 SES device path: local access: 0a.04.99 Module type: IOM6; monitoring is active Shelf status: normal condition SES Configuration, shelf 4: ... Shelf bays with disk devices installed: 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 with error: none Power Supply installed element list: 1, 4; with error: none Power Supply information by element: ... Voltage Sensor installed element list: 1, 2, 7, 8; with error: none Shelf voltages by element: ... Current Sensor installed element list: 1, 2, 7, 8; with error: none Shelf currents by element: [1] 7180 mA Normal current range [2] 5460 mA Normal current range [3] Unavailable [4] Unavailable [5] Unavailable [6] Unavailable [7] 4290 mA Normal current range [8] 4530 mA Normal current range Cooling Unit installed element list: 1, 2, 7, 8; with error: none Cooling Units by element: [1] 3520 RPM [2] 2920 RPM [3] Unavailable [4] Unavailable [5] Unavailable [6] Unavailable [7] 3750 RPM [8] 2920 RPM Temperature Sensor installed element list: 1, 2, 3, 4, 9, 10, 11, 12; with error: none Shelf temperatures by element: [1] 19 C (66 F) (ambient) Normal temperature range [2] 28 C (82 F) Normal temperature range [3] 30 C (86 F) Normal temperature range [4] 37 C (98 F) Normal temperature range [5] Unavailable [6] Unavailable [7] Unavailable [8] Unavailable [9] 23 C (73 F) Normal temperature range [10] 31 C (87 F) Normal temperature range [11] 30 C (86 F) Normal temperature range [12] 25 C (77 F) Normal temperature range Temperature thresholds by element: ... SAS connector attached element list: 1, 2, 3, 4; with error: none SAS cable information by element: [1] Vendor: Molex Inc. Type: QSFP passive copper 2m ID: 01 Swaps: 0 Serial number: 321721471 Part number: 112-00177+A0 ... Shelf mapping (shelf-assigned addresses) for channel 0a: Shelf 1: 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Shelf 2: 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Shelf 3: 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Shelf 4: XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 11 10 9 8 7 6 5 4 3 2 1 0 FAS3220-A> environment status shelf 0b Environment for channel 0a Number of shelves monitored: 4 enabled: yes Environmental failure on shelves on this channel? no ... Shelf mapping (shelf-assigned addresses) for channel 0a: Shelf 1: 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Shelf 2: 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Shelf 3: 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Shelf 4: XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX 11 10 9 8 7 6 5 4 3 2 1 0
Podemos ver todas las bandejas de discos con sus respectivos identificadores y un resumen de la shelf mapping (marcada en rojo) que deberá ser idéntico en ambos canales SAS y por supuesto también en la controladora partner en caso de tener un par HA.
2) Verificar que las controladoras ven todos los discos por todos los canales SAS
Aunque el comando anterior nos indica que los canales 0a y 0b ven todas las bandejas y discos, en el momento de proceder no es práctico «tirar» de éste por la cantidad de información que se obtiene. En su lugar es mejor usar el comando storage show disk -p que nos va a listar todos los discos.
FAS3220-A> storage show disk -p
PRIMARY PORT SECONDARY PORT SHELF BAY
-------- ---- --------- ---- ---------
0a.01.0 A 0b.01.0 B 1 0
0a.01.1 A 0b.01.1 B 1 1
0a.01.2 A 0b.01.2 B 1 2
0a.01.3 A 0b.01.3 B 1 3
0a.01.4 A 0b.01.4 B 1 4
0a.01.5 A 0b.01.5 B 1 5
0a.01.6 A 0b.01.6 B 1 6
0a.01.7 A 0b.01.7 B 1 7
0a.01.8 A 0b.01.8 B 1 8
0a.01.9 A 0b.01.9 B 1 9
0a.01.10 A 0b.01.10 B 1 10
0a.01.11 A 0b.01.11 B 1 11
...
Es necesario que todos los discos del sistema sean vistos por ambos puertos (PORT A y PORT B). De lo contrario en el momento de abrir el loop produciremos una pérdida de discos y por tanto interrumpiremos el servicio.
3) Ampliar el stack existente
Una vez verificados los puntos 1 y 2 podemos proceder a ampliar el stack añadiendo las bandejas adicionales. Nos puede servir de guía el Esquema cabling SAS y ACP para una FAS2240-2 con DS2246 donde tendremos en cuenta lo siguiente:
a) Desconectar primero los cables SAS que cierran los loops de cada controladora. Verificaremos el acceso a los discos con el comando anterior:
FAS3220-A> storage show disk -p PRIMARY PORT SECONDARY PORT SHELF BAY -------- ---- --------- ---- --------- 0a.01.0 A 1 0 0a.01.1 A 1 1 0a.01.2 A 1 2 0a.01.3 A 1 3 0a.01.4 A 1 4 0a.01.5 A 1 5 0a.01.6 A 1 6 0a.01.7 A 1 7 0a.01.8 A 1 8 0a.01.9 A 1 9 0a.01.10 A 1 10 0a.01.11 A 1 11 ...
Lógicamente hemos perdido el camino secundario pero ello no produce interrupción alguna en el sistema de almacenamiento.
b) Conectar la nueva bandeja a la red eléctrica e identificarla de forma correcta. Siguiendo el ejemplo nuestra nueva bandeja deberá tener el ID 5.
c) Conectar en cascada la penúltima bandeja (anteriormente la última) con la nueva.
d) Cerrar los loops y verificar que los discos son visibles por ambos canales (los existentes y los nuevos).
Hasta aquí hemos ampliado físicamente el sistema pero todavía no hemos asignado los discos a las controladoras.
4) Asignar discos y ampliar los agregados
A menos que las controladoras tengan activada la opción disk.auto_assign on los nuevos discos instalados en el sistema de almacenamiento permanecen en un estado unowned. Para listar los discos en dicho estado podemos usar el comando disk show -n. Con la lista anterior podemos empezar la asignación mediante el comando disk assign «nombre_disco» teniendo en cuenta que sobre estos discos generaremos nuevos RAID Groups para ampliar los agregados.
Con el esquema de diseño claramente definido tan solo nos queda ampliar los agregados existentes. Siguiendo nuestro ejemplo tendríamos una lista de discos de la bandeja 5 sobre los cuales lanzaríamos el comando siguiente:
FAS3220-A> aggr add aggr_David -n -d 0b.05.0 0b.05.2 0b.05.4 0b.05.6 0b.05.8 0b.05.10 0b.05.12 0b.05.14 0b.05.16 0b.05.18 0b.05.20 Note: preparing to add 9 data disks and 2 parity disks. Continue? ([y]es, [n]o, or [p]review RAID layout) p The RAID group configuration will change as follows: RAID Group Current NEW ---------- ------- ---- /aggr_David/plex0/rg0 11 disks 11 disks /aggr_David/plex0/rg1 11 disks 11 disks /aggr_David/plex0/rg2 11 disks
Indicando la opción -n únicamente estaremos probando el comando sin que se ejecute de manera que podemos corregir los errores que observemos. Por ejemplo, uno típico, sería darse cuenta de que estamos generando un RG con un número de discos distinto. En este caso el preview RAID layout (opción p) nos indica que se va a generar un nuevo rg2 de 11 discos igual que el resto de RGs existentes. Por tanto una vez asegurado el comando podemos ejecutarlo nuevamente sin la opción -n para proceder a la expansión del aggr_David.
This Post by David Solé Pérez is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
Un comentario en “Ampliar agregados de discos en controladoras NetApp”