1.4 Bibliography
2.1.2 Techniques
A continuación, se explicará el proceso que se sigue para realizar la restauración completa del escenario propuesto a partir de los ficheros y datos obtenidos en el proceso de clonación.
23
ANEXO A: Clonación de RAID mediante Software se proporciona un script que realiza automáticamente todos los pasos que se detallarán.
Los pasos que seguir son los siguientes:
1. Restaurar el registro de arranque maestro (MBR) de los discos /dev/sda y /dev/sdb. Se ejecutará la herramienta dd con la que se generó la copia y que permite el proceso inverso.
dd of=/dev/sda if=backup_sda_MBR.dd bs=512 count=1 dd of=/dev/sdb if=backup_sdb_MBR.dd bs=512 count=1 Los argumentos usados son:
if=backup_sda_MBR.dd Indica el origen desde donde se leerán los bytes.
of=/dev/sdX Indica el destino sobre el que se volcarán los bytes leídos.
bs=512 Indica el tamaño del bloque de los datos que se leerán del origen y que se escribirán en el destino de una vez. Por defecto, si no se pone ningún sufijo, se estará indicando en bytes. El valor es 512 por ser el tamaño del MBR.
count=1 Indica el número de bloques que se copiarán.
2. Restaurar la tabla de particiones de los discos /dev/sda y /dev/sdb. Se hará uso de la herramienta sfdisk que fue la que se utilizó para la creación del archivo con la tabla de particiones.
sfdisk /dev/sda < backup_sda.sfdisk sfdisk /dev/sdb < backup_sdb.sfdisk Los argumentos usados son:
/dev/sdX Indica el dispositivo del cual se quiere clonar la tabla de particiones
Como entrada de la herramienta se usa el fichero generado en el proceso de clonación de la tabla de particiones. Este archivo debe poseer un formato adecuado.
3. Restaurar los superbloques de todos los dispositivos que componen los diferentes RAIDs. Se usará de nuevo el comando dd que permite indicar el punto desde donde comenzar la escritura.
dd of=/dev/sda1 if=sda1_superblock.dd bs=512 seek=8 dd of=/dev/sdb1 if=sdb1_superblock.dd bs=512 seek=8 dd of=/dev/sda5 if=sda5_superblock.dd bs=512 seek=8 dd of=/dev/sdb5 if=sdb5_superblock.dd bs=512 seek=8
Los argumentos usados son:
if= backup_sda_MBR.dd Indica el origen desde donde se leerán los bytes.
Plan de recuperación y contingencia de pérdidas de datos
24
bs=512 Indica el tamaño del bloque de datos que se leerán del origen y que se escribirán en el destino de una vez. Por defecto, si no se pone ningún sufijo, se estará indicando en bytes. Este valor se deberá haber obtenido en el paso 5 del proceso de clonación.
seek=8 Indica cuántos bloques se saltarán antes de comenzar la escritura de los datos en el destino. Este valor se deberá haber obtenido en el paso 4 del proceso de clonación.
4. Se deberá detener todos los RAIDs por si se hubieran iniciado automáticamente. Para conseguirlo se usará la herramienta mdadm con la cual se administran los RAIDs software.
mdadm -S --scan Los argumentos usados son:
-S Indica que se desactive el RAID administrado por mdadm.
--scan Indica que se busquen todos los RAIDs administrados por mdadm en el sistema. Esto provocará que se detenga los RAIDs software.
5. Recrear los RAIDs para poder trabajar más fácilmente con ellos. Se usará la herramienta mdadm de nuevo.
mdadm -A --run --update=resync /dev/md0 /dev/sda1 /dev/sdb1 mdadm -A --run --update=resync /dev/md1 /dev/sda5 /dev/sdb5 Los argumentos usados son:
-A Indica que se quiere montar un RAID a partir de un dispositivo que antes formaba parte de otro.
--run Indica que se forme el RAID, aunque alguno de sus dispositivos ya esté en otro RAID.
--update=resync Indica que mientras se rearme el RAID se sincronice los dispositivos. Usándolo se evita la redundancia del RAID-1.
/dev/mdX Indica el dispositivo RAID que se quiere crear. /dev/sdaY/ dev/sdbY Indica los dispositivos que forman el RAID.
6. Restaurar el contenido de la partición con datos. En este ejemplo será /dev/md0. Para ello se utilizará la herramienta fsarchiver de nuevo.
25 Los argumentos usados son:
-j2 Indica el número de hilo que se usará en el proceso de clonación. Permite que el proceso se realice de manera más rápida si se dispone de un procesador con varios núcleos. El numero 2 indica que se usarán 2 núcleos.
-v Activa el modo verboso para poder ver el progreso de la clonación. restfs Indica que se va a realizar la restauración de un sistema de archivos. md0_backup.fsa Indica el archivo que se usará como origen para la restauración.
id=0 Indica que se restaure el primer sistema de archivo que se encuentre en este. dest=/dev/md0 Indica el destino sobre el que se realizará la restauración.
7. Recrear la partición swap en /dev/md1. Para ello se usará la mkswap[8].
mkswap -U "ee04f9fc-a191-42de-814c-1fb67ba0cdeb" -L "servidor2-swap" /dev/md1
Los argumentos usados son:
-U "ee04f9fc-a191-42de-814c-1fb67ba0cdeb" Indica el UUID que se le asignará a la partición swap una vez que se cree.
-L "servidor2-swap" Indica la etiqueta que se le asignará a la partición swap una vez se crea. Si no la tuviera antes, este argumento se podría omitir.
/dev/md1 Indica el dispositivo en el que se creará la partición swap.
8. Para finalizar se debe reinstalar el gestor de arranque grub. Para ello se hará uso de la herramienta grub- install[9] junto con la herramienta mount[10] y mkdir[11].
mkdir md0_carpeta
mount /dev/md0 md0_carpeta
grub-install --boot-directory=md0_carpeta/boot/ /dev/sda grub-install --boot-directory=md0_carpeta/boot/ /dev/sdb El argumento usado para la herramienta mkdir[11] es:
md0_carpeta El nombre del directorio que se crea.
Los argumentos usados para la herramienta mount[10] son: /dev/md0 Indica el dispositivo que se monta.
Plan de recuperación y contingencia de pérdidas de datos
26
md0_carpeta Indica el lugar dónde realizar el montaje del dispositivo
Los argumentos usados para la grub-install[9] son:
--boot-directory=md0/boot Indica el directorio sobre el que instalar el GRUB.
/dev/sdX Indica el dispositivo en cuyo sector de arranque se instalará el GRUB.