Si tenemos un RAID por software con LVM para mantener tolerancia a fallos, no sea que de fallas un disco en cualquier momento, pero aunque esto nos pueda dar cierta tranquilidad igual queremos mantener respaldo de nuestra data, todo sea para proteger esa informacion tan valiosa que administramos.

Podriamos tener informacion de base de datos, y necesitamos que esa informacion sea consistente, por eso en este momento paso a explicar como hacer respaldos usando Snapshot de LVM, la cual haremos semanalmente.

Un volumen snapshot (instantanea) es un tipo de volumen especial que presenta toda la data que se encontraba en el volumen al momento que la snapshot fue creada. Para mas detalle, ver la seccion 3.8 del manual de LVM de TLDP.

Esto significa que podemos realizar copias de seguridad del volumen sin tener que preocuparnos si han cambiado los datos mientras la copia de seguridad se está realizando, y no tenemos que tener la base de datos fuera de línea mientras el backup esta tomando lugar.
Soporte del nucleo de sistema a instantaneas

Las instantaneas de los volumenes logicos se crean y mantienen con la ayuda del controlador de sistema de ficheros dm_snapshot. Este se encuentra como un modulo del nucleo de sistema disponible en la mayoria de las distribuciones Linux. Si no puede encontrar este modulo, o las instantaneas simplemente no funcionan en su sistema, haga cd al directorio fuente del nucleo del sistema (normalmente /usr/src/linux) y revise su fichero de configuracion para asegurarse de que este modulo esta bien integrado o disponible como modulo del nucleo, como en el siguiente ejemplo:

$ cd /usr/src/linux

$ grep -i DM-SNAPSHOT .config

CONFIG_SM_SNAPSHOT=m

En este caso, el controlador dm_snapshot esta disponible como un modulo adicional. Si el valor de la variable CONFIG_DM_SNAPSHOT es “n”, esta opcion no esta disponible en su nucleo. Tendra que volver a compilarlo con este controlador integrado (valor “y”) o como un modulo adicional (valor “m”) para poder usar las ventajas de las instantaneas de volumenes discutidas aqui.

Tomar una instantanea

Cuando tomamos una instantanea dicho sistema de ficheros debe residir en un volumen logico, como se muestra por la presencia del directorio de dispositivos mapper en el siguiente ejemplo:

# df -Ph /test

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/testvg-testvol 485M 18M 442M 4% /test

A continuacion usaremos el comando dd para crear unos cuantos ficheros de muestra en el volumen de prueba que utilizaremos para analisis mas tarde en este truco:

# dd if=/dev/zero of=/test/5M bs=1048576 count=5
5+0 records in
5+0 records out

# dd if=/dev/zero of=/test/10M bs=1048576 count=10
10+0 records in
10+0 records out

Para tomar una instantanea del volumen testvol ejecute un comando como el siguiente:

# lvcreate -s -L 100M -n testsnap /dev/testvg/testvol
Logical volume “testsnap” created

En este ejemplo, hemos asignado 100MB a la instantanea. Esto significa que podemos hacer 100MB de cambios al volumen original antes de que esta se llene. Las instantaneas finalmente se llenan porque estan conservando datos antiguos, y no hay manera de purgar los ficheros que esta preservando porque es una instantanea de otro volumen, no un volumen logico original en si mismo. Una vez que una instantanea esta utilizada al 100 por 100, se vuelve inutil, debemos entonces eliminarla y tomar una nueva.

Para confirmar que la instantanea se ha tomado correctamente, usamos el comando lvs para mostrar la informacion de estado del volumen logico:

# lvs
LV VG Attr LSize Origin Snap% Move Copy%
testsnap testvg swi-a- 100.00M testvol 0.02
testvol testvg owi-ao 500.00M

Montar una instantanea

Al tener una instantanea, podriamos permitir a los usuarios que accesen a ella pues de esta forma nos ahorramos el problema que alguien quiera recuperar algun dato perdido, y asi la pueden tomar directamente ellos, claro que el respaldo que haremos nosotros lo tendremos en un equipo que configuraremos como servidor de backup con su tape backup y todo aquello para que este equipo nos proteja nuestro negocio, lo cual explicare en un articulo posterior a este, alli nosotros haremos respaldos semanales. En si, la idea es crear un snapshot semanal de los volumenes que consideremos respaldar e indicarle a los servidores que sinronicen un dia determinado a una hora determinada para que respalden el snapshot viejo, luego eliminarlo y crear uno nuevo, de esta forma mantendriamos un historial, no sea que un usuario al pasar el tiempo se acuerde de una informacion que borro, pero le gustaria recuperarla, entonces, es alli donde entra nuestro historial de backup.

En fin, para montar la instantanea de nuestro testmap, usamos el comando mount estandar como el siguiente:

# mount /dev/testvg/testsnap /testsnap
# df -Ph /test*
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/testvg-testvol 485M 18M 442M 4% /test
/dev/mapper/testvg-testsnap 485M 18M 442M 4% /testsnap

Nota: Observe que el volumen instantanea siempre habita en el mismo grupo de volumenes que el volumen logico del cual es copia.

Solo para asegurarnos, podemos usar el comando ls para verificar que tanto la instantanea como el volumen original estan disponibles:

# ls -l /test
total 15436
-rw-r–r– 1 root root 10485760 Apr 21 23:48 10M
-rw-r–r– 1 root root 5242880 Apr 21 23:48 5M
drwx—— 1 root root 12288 Apr 21 23:15 lost+found

# ls -l /testsnap/
total 15436
-rw-r–r– 1 root root 10485760 Apr 21 23:48 10M
-rw-r–r– 1 root root 5242880 Apr 21 23:48 5M
drwx—— 1 root root 12288 Apr 21 23:15 lost+found

Ahora, creamos un fichero de 50MB en el sistema de ficheros /test y examinamos que ocurre en el sistema de ficheros /testsnap y el uso de la instantanea (usando nuestro comando lvs favorito):

# dd if=/dev/zero of=/test/50M bs=1048576 count=50
50+0 records in
50+0 records out

# df -Ph /test*
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/testvg-testvol 485M 68M 392M 15% /test
/dev/mapper/testvg-testsnap 485M 18M 442M 4% /testsnap

# ls -l /test

total 66838
-rw-r–r– 1 root root 10485760 Apr 21 23:48 10M
-rw-r–r– 1 root root 52428800 Apr 22 00:09 50M
-rw-r–r– 1 root root 5242880 Apr 21 23:48 5M
drwx—— 1 root root 12288 Apr 21 23:15 lost+found

# ls -l /testsnap/
total 15436
-rw-r–r– 1 root root 10485760 Apr 21 23:48 10M
-rw-r–r– 1 root root 5242880 Apr 21 23:48 5M
drwx—— 1 root root 12288 Apr 21 23:15 lost+found

# lvs
LV VG Attr LSize Origin Snap% Move Copy%
testsnap testvg swi-ao 100.00M testvol 50.43
testvol testvg owi-ao 500.00M

Observemos que el fichero de 50 MB no aparece automaticamente en /testsnap, pero se ha usado parte del espacio de la instantanea (50,43 por 100).

A continuacion, simulamos el borrado accidental de un fichero eliminando /test/10M y examinamos los resultados:

# rm /test/10M

rm: remove regular file ‘/test/10M’? y

# df -Ph /test/*
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/testvg-testvol 485M 58M 402M 13% /test
/dev/mapper/testvg-testsnap 485M 18M 442M 4% /testsnap

Fijemosnos que la utilizacion del espacio de disco en nuestra imagen ha aumentado ligeramente:

# lvs
LV VG Attr LSize Origin Snap% Move Copy%
testsnap testvg swi-ao 100.00M testvol 50.44
testvol testvg owi-ao 500.00M

Si ahora queremos recuperar el fichero 10M, podemos hacerlo simplemente copiandolo de la instantanea

Por admin

Deja una respuesta

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
100% Free SEO Tools - Tool Kits PRO