Backups de Discos y Particiones

Imagen de banyut
0 puntos

Tutorial complert: http://banyut.obolog.com/

Tema anterior:(Copias de Seguridad) http://www.ubuntu-es.org/index.php?q=node/80862

Hoy trataremos el tema de las copias de seguridad de discos y particiones. Esto nos permitirá restaurar por completo nuestro sistema.

Corren por ahí muchas aplicaciones gráficas que nos permiten realizar esta función, pero nosotros le vamos a dar una oportunidad a nuestra querida consola, creedme realmente vale la pena.

Antes de empezar tenemos que tener en cuenta un par de cosas.

    sudo fdisk -l

obtendremos una salida parecida a esta.

Disco /dev/sda: 30.0 GB, 30005821440 bytes
255 cabezas, 63 sectores/pistas, 3648 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Disk identifier: 0x00be00be

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 1912 15358108+ 7 HPFS/NTFS
/dev/sda2 1913 3573 13341982+ 83 Linux
/dev/sda3 3574 3648 602437+ 5 Extendida
/dev/sda5 3574 3648 602406 82 Linux swap / Solaris

Bien, fijemonos, tenemos sda y sdax donde x puede ser 1,2, 3 o 5. sda es el HD completo, este disco esta particionado, donde cada particion es sda1, sda2, sda3 y sda5. No hace falta decir que segun el sistema la "s" puede ser una "h" o la "a" cualquier otra letra.

Por que digo esto, pues por una parte porque es bueno saberlo, y por otra porque podemos duplicar el disco completo o solo una partición del mismo. En nuestro caso lo haremos por separado.

Si recordamos los anteriores hilos, teniamos instalado el sistema operativo en sda1 y sdb lo habiamos particionado en 3.

  • sdb1 donde guardo la musica, las imagenes, pdf y iso.
  • sdb6 es donde tengo el home
  • sdb5 servidor apache, mysql, ftp, logs y backups diarios del Home.

La instruccion que usaremos para realizar nuestras clonaciones se llama dd, y su sencillez es tanta como su potencia.

Como siempre con man dd, tendremos una extensa documentación sobre esta instrucción, de momento solo expondre lo más básico y suficiente para nuestro objetivo.

clonación del disco completo sda.

    sudo dd if=/dev/sda of=sda.dd

restauración del disco sda.

    sudo dd if=sda.dd of=/dev/sda

clonación de la partición sda1.

    sudo dd if=/dev/sda1 of=sda1.dd

restauración de la partición sda1.

    sudo dd if=sda1.dd of=/dev/sda1

Así de fácil, pero hay que saber alguna cosa mas, el disco que vayamos a copiar no tiene que esta montado. En la clonación del disco, hemos creado el archivo sda.dd, este lo hemos creado en el directorio donde ejecutamos la instrucción, tambien podiamos haber puesto una ruta.

    sudo dd if=/dev/sda of=/media/back/mi_copia.dd

La cosa no queda aquí, tambien podemos restaurar o mandar la copia a otro equipo mediante ssh, o comprimir el resultado para que este nos ocupe mucho menos.

    dd if=/dev/sda1 | rsh usuari@desti "gzip -9 > 20030220-backup-sda1.dd.gz"

Tambien podemos usar dd, para clonar cd's, diqueteras, usb, etc. Tiene tambien otra funcionalidad que nos resultará muy util, es poder realizar copias del MBR de nuestros discos.

    sudo dd if=/dev/sdb of=/media/backs/sda_mbr.dd bs=512 count=1

La restauración seria.

    sudo dd if=/media/backs/sda_mbr.dd of=/dev/sdb bs=512 count=1

Otra cosa que podemos hacer, imaginar que hemos borrado un archivo que queremos recuperar pero no nos interesa para nada restaurar toda la partición. En este caso procederia de la siguiente manera.

    mkdir mi_back

    sudo mount -o loop /media/backs/mi_dd mi_back

Hemos montado nuestra copia de seguridad en un directorio, donde podemos trabajar con ella de la manera que queramos, incluso modificarla a nuestro antojo. No os parece una pasada.

Bueno, continuemos, se ha dicho que para poder clonar el disco, este tiene que estar desmontado, pero como desmontamos la particion que alberga el SO. Pues facil, iniciamos el sistema con un live-cd.

Yo hago una copia de seguridad cada una o dos semanas y las hago de la partición donde tengo el sistema operativo y de todo el disco sdb (de sus particiones individualmente). Los backups resultantes los introduzco en un disco USB externo que tengo para tal fin.

Este es un proceso largo y lento, por lo tanto lo que hago es fabricarme un script que pongo en marcha justo antes de irme a dormir o a trabajar, de esta forma cuando vuelvo tengo realizadas todas mis copias de seguridad. Os muestro mi script.

#!/bin/bash

sudo dd if=/dev/sdb of=sdb_mbr.dd bs=512 count=1

sudo dd if=/dev/sdb5 of=sdb5.dd

sudo gzip -9 sdb5.dd

sudo rm sdb5.dd

 

sudo dd if=/dev/sdb6 of=sdb6.dd

sudo gzip -9 sdb6.dd

sudo rm sdb6.dd


sudo dd if=/dev/sdb1 of=sdb1.dd

sudo gzip -9 sdb1.dd

sudo rm sdb1.dd

Este script se podria simplificar, lo he puesto así por claridad y para que os sea mas facil cambiarlo, lo que hace es clonar la particion, luego la comprime para que ocupe menos y por ultimo borra el archivo sobrante.

Estas tres lineas las podriamos simplificar en una sola.

    sudo dd if=/dev/sdb6 !gzip -9 >sdb6.dd

Que cada uno eliga lo que mas le guste, pensar que el hecho de comprimirlo hace que dure el doble de tiempo y otra cosa, os recuerdo que teneis que darle permiso de ejecucion al archivo para que se pueda ejecutar.

    chmod +x backup_sdb.sh

Pues lo dicho la idea es arrancar con un live-cd, conectar el HD externo, entrar en el directorio donde se han de guardar las copias y ejecutar el script.

Y ya tenemos montado a prueba de bombas nuestro sistema.

Espero que os sea útil.

-----

Hay 10 clases de personas, las que saben binario y las que no.

Imagen de Boniek
+1
0
-1

hola hermaqno me parece bien tu apollo, bueno espero puedas ayudarme estuve intentando recuperar mi particiones con dd peor sin embargo no reconoce mi consola uso kubuntu 9.1. La verdad no se como solucionarlo con seguridad,
tengo un dsico duro de 160 GB y 4 particiones lo qeu pasas es qeu queria particionar uno de lso 5 pero sin embargo borre todas las particiones(ojo peor no eh formateado nada aun ) luego reinicie y me dice: "error shud partition" bueno espero me puedan ayudar hermano estari agradecido antemano .

Saludos.

el principio del fin esta en ti, lo que hagas al planeta cuenta.

+1
0
-1

el principio del fin esta en ti, lo que hagas al planeta cuenta.