Realizando backups en cinta

Esta tarde estaba en el trabajo jugueteando con una unidad de cinta que he instalado en una de las sucursales, como estamos en crisis tenemos que trabajar con lo que tenemos y esto permite recuperar viejos cacharros que tenemos guardados en el armario, uno de ellos es una unidad de cinta, una dell powervault 110T con cintas LTO3, que permiten un almacenamiento de 200Gb, 400Gb comprimidas.

la imágen no tiene nada que ver con la unidad de cinta ni las LTO3, pero es chulísima :D

Primero de todo tenemos que contar que una cinta guarda los datos de forma lineal, para que os hagáis una idea, si editamos hexadecimalmente un disco duro, podremos ver que toda la información está ahí metida, pero es poco probable que el mismo fichero se encuentre todo entero en un conjunto de sectores seguidos, así que la forma de acceder a los datos de una cinta no será como acceder a un CD o stick usb, trataremos la cinta como un archivo de datos, en el caso de este post, como un .tar.

Así que vamos a contar un poco las herramientas que usamos en GNU/Linux para realizar backups en unidades de cinta.

Primero de todo tenemos los comandos mt y st.

st servirá para gestionar el brazo robótico (en el caso que tengamos uno), como no tenemos uno sólo lo menciono y os recomiendo hacer un man st para poder leer sus posibilidades.

mt sirve para gestionar todas las acciones de la unidad de …

smartmoontools

Vamos con otra herramienta que nos servirá para tener nuestro servidor controladito de errores.

Smartmoontools es un conjunto de herramientas que nos empezarán a molestar cuando detecten que los discos estén chungos. Normalmente los discos tienen un tiempo de vida limitado, al ser un aparato mecánico las piezas dejan de girar correctamente, se llenan de polvo y dejan de funcionar, normalmente los discos antes de morirse del todo avisan, pero como manda murphy los discos también pueden tener muertes súbitas sin ningún tipo de aviso. Con esta herramienta tendremos estos errores controlados y a la que aparezca uno ya podemos empezar a buscar en la red o en una tienda un nuevo disco duro para nuestro ordenador.

# apt-get install smartmontools

# vi /etc/default/smartmontools
mantenemos comentadas todas las lineas excepto una, que la dejamos así

start_smartd=yes

luego deberemos ver cuales son nuestros discos físicos, así que usaremos fdisk.

# fdisk -l
Disk /dev/sda: 251.0 GB, 251000193024 bytes
255 heads, 63 sectors/track, 30515 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x10003f1f

Device Boot Start End Blocks Id System
/dev/sda1 1 24107 193639446 83 Linux

Disk /dev/sdb: 251.0 GB, 251000193024 bytes
255 heads, 63 sectors/track, 30515 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb2101f85

Device Boot Start End Blocks Id System
/dev/sdb1 1 30515 245111706 83 Linux

Disk /dev/sdc: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk

RAID com mdadm

Visto el post del otro día Crear RAID en Linux he decido hurgar mas en el tema. El hecho de usar RAIDs es un seguro para no perder tus datos en la muerte súbita de un disco duro.

Esta vez he creado el RAID desde la instalación de GNU/Linux Debian.

Partimos de una maquina con dos discos duros IDE de 250 Gb vacíos.

Arrancamos con el CD de instalación y seguimos los pasos de toda la vida. Al momento de crear los discos, seleccionamos configuración manual y creamos las particiones deseadas, pero con la única diferencia que en lugar de definir ext3 como sistema de ficheros usamos “Physical volume for RAID”.

Una vez creadas las particiones en ambos discos volvemos al menú principal de la creación de particiones (ahí dónde tenemos las particiones de cada disco), en total tendremos 4 particiones para cada disco (hda1, hda2, hda3, hda4, hdb1, hdb2, hdb3 y hdb4), las particiones hda2 y hdb2 las dejaremos como swap, y no las usaremos en RAID, al haber siempre datos aleatorios no nos interesará guardar su contenido en caso de desastre.

Ahora faltará decirle a mdadm, el programa que administra los RAID en linux cuál partición tiene que estar en RAID con la otra; para esto en el menú principal, arriba del todo tenemos “Configure Software RAID”. Ahí nos preguntará si queremos crear un RAID y con qué discos:

* Create MD device
* Multidisk device type = RAID 1
* Number of active devices for the RAID1

Crear RAID Linux

Hoy me acabo de enamorar un poquito mas de linux, después de estar 2 días intentando arreglar un RAID por hardware con la controladora adaptec 1210sa (os recomiendo que os aseguréis antes de escribir datos en un RAID que los discos estan correctamente enchufados!) me he pasado a montar una por software, quizás con menos rendimiento pero con mas posibilidades de recuperar la información en caso de desastre.

La controladora esta instala una aplicación de bios, es decir, antes de entrar en el sistema operativo nos aparece la opción control+a para poder acceder a herramientas para gestionar el raid; por mi parte esta herramienta tiene la pésima nota de suspendido. Esta aplicación sólo te permite crear RAIDs y inicializarlos, en ningún momento permite arreglar RAIDs degradados (DEGRADED), para hacerlo tienes que tener instalado un software en tu maquina que te permite hacerlo, está basado en JAVA pero he tenido muchos problemas para usarlo.

En Linux tenemos una magnífica herramienta llamada mdadm que permite gestionar los RAIDs y permite crear por software lo que por hardware podrías dejarte mas que lo que vale tu coche (algunos fabricantes tienen obras de ingeniería para los RAIDs, 0, 1, 6, 10, etc. y caras herramientas para administrarlos).

Antes de empezar nos fijaremos como está nuestro sistema, un servidor con ubuntu o debian, con el kernel 2.6.22 (desde el kernel 2.4 los RAIDs vienen soportados por el kernel, es decir no hace falta cargar y recompilar el kernel para hacer funcionar un RAID).

Además es …