BigAdmin System Administration Portal
Sugerencia técnica enviada por la comunidad
Print-friendly VersionPrint-friendly Version
Este contenido ha sido escrito por un miembro de la comunidad de BigAdmin. Nadie dentro de Sun Microsystems lo ha revisado. Si Ud encuentra un error o quiere comentar sobre el contenido del articulo, mandenos un email a "multilingual [at] sun.com."
 
 

Duplicación de discos de arranque con Solaris Volume Manager

Sivakanth Mundru, julio de 2004

Versión de SO aplicable: Sistema operativo (SO) Solaris 9, SO Solaris 8 con Solstice DiskSuite 4.2.1 y la revisión 108693-06 (SPARC Platform Edition)

Nota: No garantizo que esto funcione a todo el mundo. Adáptelo en la medida necesaria.

En los pasos siguientes podría haber usado controladores y destinos aleatorios. Podrían variar según el host.

Además, es una buena idea duplicar entre controladores, en lugar de duplicar en el mismo controlador y mantener el controlador como único punto de fallo.

1) Precaución importante:

Copie /etc/vfstab y /etc/system antes de continuar:

cp -p /etc/system /etc/system.orig."date"

cp -p /etc/vfstab /etc/vfstab.orig."date"

Si se desbarata /etc/system, aún tendremos la posibilidad de utilizar el comando boot -a desde el indicador OK y especificar mediante:

/etc/system.orig."date"

2) Cerciórese de que tiene un disco de sobra para duplicar el disco raíz y de que no contiene datos.

3) Cree un pequeño segmento de 25 MB (10 MB también sirven) para almacenar las bases de datos del volumen en el "disco raíz" y etiquete el disco.

Si el disco raíz no tiene espacio suficiente, cree un pequeño segmento eliminando espacio y volviendo a añadirlo.

Asegúrese de que no haya demasiada actividad cuando lo haga.

3.1) Para listar el intercambio, use: swap -l

(Si tiene más de un segmento configurado para intercambio, estupendo.)

3.2) Ejecute:

swap -d swap-name ( /dev/dsk/c?ct?d?s?)

Cambie la tabla de particiones para incorporar un nuevo segmento reduciendo el tamaño o la longitud de cilindro de la partición de intercambio.

3.3) Ejecute:

swap -a swap-name ( /dev/dsk/c?t?d?s?) 

4) La VTOC (tabla de contenido del volumen) del disco raíz y del disco duplicado debe ser la misma. Copie la VTOC mediante prtvtoc y fmthard.

# prtvtoc /dev/rdsk/c?t?d?s2 | fmthard -s - /dev/rdsk/c?t?d?s2

5) Cree bases de metabases de datos en el mismo segmento creado en el disco raíz:

# metadb -f -a -c3 c?t?d?s6 (Slice 6 is my small slice here)
# metadb -a -c3 c?t?d?s6 (Slice 6 on rootmirror)

6) Ahora podemos crear un duplicado de todos y cada uno de los segmentos de la tabla de particiones.

Para la partición raíz o /:

# metainit -f d10 1 1 c?t?d?s? 

# metainit d20 1 1 c?t?d?s?

(create a md d0 and attach one submirror)
# metainit d0 -m d10 

(set up system files for root (/) metadevice, that is, 
     changes to /etc/system and /etc/vfstab)
# metaroot d0 

# lockfs -fa (clear improper file locks on all mounted UFS file systems) 

7) A continuación se incluye la convención de nomenclatura de otros metadiscos. (Nota para los nuevos usuarios de este software: Los pasos de metaroot y lockfs no deben realizarse en otros sistemas de archivos.)

Las subduplicaciones se denominarán d10, d20, etc.

En d10, 1 es el número de la subduplicación, mientras que 0 es el número del segmento.

Si tiene intercambio en la partición/segmento 1, haga esto:

# metainit -f d11 1 1 c?t?d?s1

# metainit d21 1 1 c?t?d?s1

# metainit d1 -m d11

8) Repítalo con todos los sistemas de archivos que haya en el disco de arranque.

9) Modifique el archivo /etc/vfstab. La entrada md correspondiente al disco raíz ya la habrá actualizado el comando metaroot.

Éste es un ejemplo de copia de /etc/vfstab:

#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
fd - /dev/fd fd - no -
/proc - /proc proc - no -
##/dev/dsk/c1t1d0s1 - - swap - no -
/dev/md/dsk/d1 - - swap - no -
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no -
##/dev/dsk/c1t1d0s7 /dev/rdsk/c1t1d0s7 /export/home ufs 2 yes -
/dev/md/dsk/d7 /dev/md/rdsk/d7 /export/home ufs 2 yes -
##/dev/dsk/c1t1d0s3 /dev/rdsk/c1t1d0s3 /opt/uc4 ufs 2 yes -
/dev/md/dsk/d3 /dev/md/rdsk/d3 /opt/uc4 ufs 2 yes -
swap - /tmp tmpfs - yes -

10) Configure el dispositivo de volcado mediante dumpadm.

11) Incluya la entrada siguiente en el archivo /etc/system, dentro de la sección informativa mdd:

set md:mirrored_root_flag=1

Cuando el disco raíz no está disponible, las copias de la base de datos almacenadas en el disco raíz tampoco están disponibles.

Solaris Volume Manager espera que estén disponibles más del 50% de las bases de datos para arrancar con normalidad, de lo contrario puede protestar por el número insuficiente de réplicas de base de datos. La modificación anterior se realiza para que Solaris Volume Manager arranque con al menos un 50% de las copias.

12) Ejecute:

sync; sync; init 6

13) Cuando aparezca el sistema, conecte la otra subduplicación:

# metattach d0 d20

(Nota: Es "metattach", no "metaattach")

# metattach d1 d21 

y así sucesivamente.

14) Para comprobar si se está realizando la sincronización FS, use esto:

metastat | grep progress 

15) Averigüe la ruta de acceso a los dispositivos de arranque principal y duplicado:

ls -l /dev/dsk/c1t1d0s0 /dev/dsk/c1t0d0s0
lrwxrwxrwx 1 root root 43 Dec 23 17:51 /dev/dsk/c1t0d0s0 -> \
   ../../devices/pci@1c,600000/scsi@2/sd@0,0:a
lrwxrwxrwx 1 root root 43 Dec 23 17:51 /dev/dsk/c1t1d0s0 -> \
   ../../devices/pci@1c,600000/scsi@2/sd@1,0:a

# eeprom "nvramrc=devalias rootdisk /pci@1c,600000/scsi@2/disk@1,0 
devalias rootmirror /pci@1c,600000/scsi@2/disk@0,0"

(Fíjese en el cambio de "sd" a "disk" con la salida de ls -l.)

# eeprom "use-nvramrc?=true"

También es posible cambiar los valores de dispositivo de arranque para que el sistema pruebe a arrancar desde la duplicación cuando uno de ellos no esté disponible.

# eeprom boot-device="rootdisk rootmirror net"

16) Una vez terminada la sincronización, pruebe el sistema eliminando el disco raíz.

The information and links on this page have been provided by a BigAdmin user. The submitter is solely responsible for such information and links. Sun is not responsible for the availability of external sites or resources, and does not endorse and is not responsible or liable for any content, advertising, products, or other materials on or available from such sites or resources. Sun will not be responsible or liable, directly or indirectly, for any actual or alleged damage or loss caused by or in connection with use of or reliance on the information posted here, or goods or services available on or through any external site or resource.
 
 

Comments (latest comments first)

Discuss and comment on this resource in the BigAdmin Wiki

Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin
  
 
BigAdmin Upgrade Hub