Buscar este blog

sábado, 3 de diciembre de 2011

Como recuperar desde una imagen mksysb existente (sin NIM)

Voy a poner en este post algunos trucos útiles para recuperar desde una imagen mksysb que tenemos, cuando no se consigue hacer desde NIM.

Hay veces que por H o por B no se consigue arrancar con una imagen mksysb desde NIM, o si se consigue no sirve para lo que necesitas hacer (por ejemplo arrancar en modo mantenimiento en vez de instalar). Ambas situaciones me han pasado, y en cada una de ellas he utilizado un truco distinto (aunque muy parecidos en la base).

Pongo aquí un par de trucos que se pueden utilizar en esos casos:
- Opción 1: grabar esa imagen en DVD, y arrancar desde DVD
- Opción 2: pasar esa imagen a ISO, y montar la ISO desde un VIO



En ambas opciones hay que pasar primero la imagen mksysb a formato DVD, mediante el comando mkdvd.

Paso previo, comando mkdvd:
Antes utilizar el comando mkdvd recomiendo mirar la página del man, pero tendrá más o menos esta pinta:
mkdvd -S -m <imagen_mksysb> -C <directorio_temporal> -I <directorio_final>

En mi caso, como ejemplo concreto:
mkdvd -S -m /NIM/mksysbs/CLIENTE1_MKSYSB -C /NIM/tmp -I /NIM/mkdvds/CLIENTE1

Las únicas opciones obligatorias son -S y -m <imagen_mksysb>.
Las otras dos las he añadido porque tenía poco espacio en rootvg.
La opción -C /NIM/tmp es un directorio que utiliza como espacio temporal y luego borra.
La opción -I /NIM/mkdvds/CLIENTE1 es un directorio donde va a dejar las imagenes en formato DVD.
Como digo he utilizado esas dos opciones porque si no se especifican intenta crear un filesystem (ahora mismo no recuerdo cual) en rootvg, y no tenía espacio.

Esto me ha generado 2 ficheros, uno de 4GB y otro de 2GB con algo (la imagen mksysb original era de 6GB con algo). Los nombres son algo parecido a cd_image_XXXX.vol1 y cd_image_XXXX.vol2.

Opción 1 - Grabar en DVD para arrancar:
Con el paso previo ya casí tenemos completada la opción 1, que es grabar en DVD.
Ahora lo único que hace falta para la opción 1 es pasar esos ficheros a un ordenador con grabadora de DVDs y tostarlos. Normalmente será necesario ponerles la extensión .iso previamente. Con esos DVDs (2 en mi caso, dependerá del tamaño de vuestro mksysb) ya se puede arrancar la partición o servidor desde la unidad DVD (de hecho para arrancar solo se necesita el primero, y según lo que se quiera hacer igual no pide el resto).

Esta opción necesita acceso físico al servidor para meter los DVDs grabados en el lector.

Opción 2 - montar las ISOs desde un VIO:
Como paso previo hay que configurar tanto en VIO como en cliente adaptadores virtual scsi independientes, que se conecten entre ellos. De hecho lo suyo es que todas las particiones tengan un adaptador virtual scsi cliente que se pueda conectar al virtual scsi servidor del VIO. Esta parte no la explico en este post, porque es el básico de la virtualización VIO.

Para esto hay que:
- copiar los ficheros obtenidos con el comando mkdvd a un VIO (yo lo he hecho por ftp con el usuario padmin, en formato binario).
- crear un repositorio (comando mkrep de VIO)
- añadir las ISOs al repositorio, creando discos ópticos virtuales con cada imagen ISO (comando mkvopt de VIO)
- mapear en el vhost del VIO un dispositivo óptico virtual (comando mkvdev con la opción -fbo, crea un dispositivo vtopt)
- cargar el primer disco virtual del repositorio en el vtopt (comando loadopt)

Con esto, al arrancar la partición ya aparece un CD con el disco virtual cargado. Ya podemos arrancar de la imagen ISO del mksysb. Si necesita el segundo disco lo indicará, y en el VIO habrá que "sacar" el disco virtual con unloadopt, y cargar el siguiente otra vez con loadopt.

Todas estas instrucciones vienen en: http://www.ibm.com/developerworks/wikis/display/WikiPtype/VIOLoadISO

Esta opción no necesita acceso físico al servidor en ningún momento (siempre que se tenga ya por lo menos un VIO).


Acabo de tener que hacer la segunda opción, por un problema de una partición que al arrancar se quedaba tostada con el código 0553.
Las instrucciones para recuperar esa situación son: https://www-304.ibm.com/support/docview.wss?uid=isg3T1000133

En mi caso disponía de un servidor NIM, con una imagen mksysb reciente de esa partición, pero al intentar arrancar desde NIM en modo mantenimiento y acceder a rootvg me daba el siguiente error:
cp: /usr/lib/boot/getrootfs: No such file or directory
Get_user_Input[333]: /etc/getrootfs: not found


Creo que es por culpa del SPOT, que no era muy completo (lo había hecho en base a la misma imagen mksysb del cliente, porque no había ningún SPOT ni LPP_SOURCE definidos).
Así que al final he pasado la imagen mksysb a formato DVD, y la he montado desde un VIO.

En mi caso se quedaba en el código 0553 porque tenía el fichero /etc/inittab corrupto, por lo que he creado un fichero inittab básico para que arranque.
Una vez arrancado he recuperado el inittab original de la partición de las ISOs montadas desde el VIO.

Para recuperar ficheros individuales de un mksysb en formato DVD he seguido estas instrucciones:
https://www-304.ibm.com/support/docview.wss?uid=isg3T1010951#9 (tipo ISO, no UDF, ya que al utilizar el mkdvd para generar ficheros en disco no se puede hacer en formato UDF).

Cuando he lanzado el comando restorevgfiles me ha pedido que insertase el disco 2, por lo que en el VIO he hecho el unloadopt del primero y cargado el segundo con loadopt.

1 comentario: