Procedimiento para el mirror de discos con SVM en equipos x86/x64

Page last edited hace 684 días 4 horas
De Solaris-ES
Saltar a: navegación, buscar

Generamos el mirror de discos[editar]

Importante: Utilizar este procedimiento con versiones de solaris 10U1 o superiores
  • 1. Inicializar un nuevo disco en equipos x86/x64 utilizando el comando "fdisk"
Nota: Se recomienda eliminar el layout del disco y crear uno nuevo.

- Eliminar las particiones existentes
# fdisk /dev/rdsk/c1t0d0s2
WARNING: Device /dev/rdsk/c1t0d0s2:

Are you sure you want to continue? (y/n) y
Seleccion la opcion 3(Delete a partition)

Nota: Repetimos esta tarea para cada una de las particiones que aparecen.

- Crear un nuevo particionado
Seleccionamos la opcion 1 (Create a partition)
Seleccionamos que sea de tipo: (1) (1=SOLARIS2)
Seleccionamos la creacion por cilindros (c)
Definimos el cilindro de inicio: (1)
Definimos el cilindro de finalizacion: (XXXX)
Definimos que la particion este activa: (y)

Nota: Repetimos esta tarea para todas las particiones a crear.

- Creamos una particion de Diagnostico
Seleccionamos la opcion 1 (Create a partition)
Seleccionamos que sea de tipo: (B) (B=Diagnostic)
Seleccionamos la creacion por cilindros (c)
Definimos el cilindro de inicio: (XXXX+1)
Definimos el cilindro de finalizacion: (924c)
Definimos que la particion este activa: (y)

Nota: Repetimos esta tarea para todas las particiones a crear.

- Salimos del fdisk
Seleccionamos la opcion: 5 (Exit (update disk configuration and exit))
  • 2. Crear un nuevo Slice preferentemente el Slice 7 de 256B para guardar las replicas de las MetaDBs
  • 3. Una vez que tenemos el disco particionado, copiamos su layout al disco secundario con los comandos prtvtoc y fmthard
# prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2
  • 4. Creamos las MetaDBs en los Slice 7 de ambos discos (primario y secundario)
# metadb -afc 3 c1t0d0s7 c1t1d0s7
  • 5. Creamos los metadispositivos para el root, swap, etc...
# metainit -f d10 1 1 c1t0d0s0   ---> Esto crea el metadevice d10 para el 
                                      slice de root en el disco primario.
# metainit d20 1 1 c1t1d0s0      ---> Esto crea el metadevice d20 para el 
                                      slice de root en el disco secundario.
# metainit d0 -m d10             ---> Esto crea el metadevice d0 que sera 
                                      un mirror y como una de sus patas 
                                      utiliza el metadevice d10.
Nota: De la misma forma creamos los metadevices para los otros FS incluido el SWAP
  • 6. Actualizamos el /etc/vfstab, apuntando a los metadispositivos de cada FS.
Nota: Unicamente para el FS de root se puede utilizar el comando METAROOT 
      que realiza los cambios en el vfstab de forma automatica.

# metaroot d0  
Nota: Este comando actualiza el vfstab dejando la siguiente informacion: 
      /dev/md/dsk/d0 como filesystem /. Para el resto de FS inclusive el 
      SWAP se tienen que modificar manualmente.
  • 7. Reiniciar el sistema
# sync;sync;sync
# lockfs -fa
# init 6
  • 8. Una vez el sistema este reiniciado verifique con el comando (df) que los FS esten montados y utilicen los metadispositivos.
  • 9. Atache la segunda parte del mirror a todos los metadispositivos.
# metattach d0 d20  
Nota: Este procedimiento atacha la segunda parte del mirror a d0 y comienza 
      la sincronizacion entre ambas partes d10 --> d20
Nota: Este procedimiento se tiene que repetir para cada Metadispositivo 
      definido en el sistema.
  • 10. Verifique que todas las sincronizaciones esten correctas (Okay).
# mestastat
  • 11. Actualice el disco secundario de boot con el comando installgrub.
# installgrub -fm /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0
Nota: El comando installboot de Solaris 10U1 esta obsoleto. 
      Se recomienda utilizar installgrub para asegurarnos que el disco 
      secundario es booteable ya que este actualiza el Master Boot Record 
      haciendolo booteable.
  • 12. Definir el disco secundario como disco alternativo de boot modificando el archivo /boot/solaris/bootenv.rc
# eeprom
bootpath=/pci@0,0/pci1022,7458@11/pci1000,3060@4/sd@0,0:a
altbootpath=/pci@0,0/pci1022,7458@11/pci1000,3060@4/sd@1,0:a
# eeprom altbootpath="<path al disco de boot secundario>"
Nota: Para detectar el path al disco de boot secundario realizamos un "ls -la" 
      al disco de boot en cuestion.
# eeprom
bootpath=/pci@0,0/pci1022,7458@11/pci1000,3060@4/sd@0,0:a
# ls -l /dev/dsk/c3t0d0s0
../../devices/pci@0,0/pci1022,7458@11/pci1000,3060@4/sd@0,0:a   
Nota: Es importante sumar el altbootpath al bootenv.rc para poder tener un 
      mirror de boot definido.
  • 13. Reiniciar el sistema para ver que todo funciona correctamente


Recuperando el sistema ante un fallo del disco de boot primario/secundario[editar]

Nota: Si el disco de boot primario falla, el sistema continua su 
      operatoria normal dado que tenemos un disco de boot secundario.
      Se detectaran errores SCSI en el messages y en la consola 
      informado el fallo del disco primario....

Nota: El disco primario se puede reemplazar en caliente y sin parar el sistema. 

Nota: Si un nuevo disco es instalado sobre el disco en fallo, se puede ejecutar
      el comando devfsadm para que el SO pueda reconocer el nuevo disco.
      Una vez que el comando "format" visualice el nuevo disco, podemos comenzar 
      a darle formato con el comando "fdisk" siguiendo los pados del procedimiento 
      anteriro.

Procedimiento paso a paso para reemplazar el disco en fallo[editar]

  • 1. Insetar el nuevo disco en el lugar del disco en fallo
  • 2. Ejecutar del paso 1 al 4 del procedimiento anterior
  • 3. Reatachar los mirrors en fallo ejecutando el comando metareplace.
# metareplace -e d0 < disco nuevo >

 Nota: Este procedimiento tambien pude ser utilizado para reemplazar el 
       disco secundario.