Una de las características más importantes a garantizar en un sistema es su disponibilidad. En caso de que tengamos un fallo (hardware, software, involuntario o premeditado por otras partes) que inutilice parte o la totalidad de los datos que se encuentran en el sistema, deberemos disponer de mecanismos que nos permitan restaurar el servicio lo antes y mejor posible.

Creo que en SbD, no hemos tocado de una forma frontal y directa, una de las prácticas de mantenimiento más importantes más importantes que se deben llevar a cabo como parte de la vida de un sistema.

Por ello me gustaría dar ciertas pautas sobre qué puede hacer por nosotros una buena política de backups:

  • RAID: Desde el punto de vista de los discos duros, el RAID 1 es la disposición en la que más espacio de almacenamiento se desperdicia, pero también es el que mayor disponibilidad ofrece. Si alguno de los dos discos del RAID se muere, el otro tiene toda la información actualizada hasta el momento final. Otra alternativa comúnmente utilizada y bastante eficiente es RAID 5.

  • Redundancia: El servicio ofrecido en sí debe estar ofrecido por dos o varios nodos de cada dispositivo en lo que se conoce como un clúster. De esta manera, si un nodo de cualquier parte de un sistema deja de estar operativo, el/los otro/s siguen haciendo la misma función. Asimismo, es una buena medida, redundar el propio servicio en sí en otra ubicación geográfica diferente para evitar catástrofes (que aunque poco probables, ocurren) en las que un edificio entero que alberga uno o varios CPDs, arden o se destruyen, por algún tipo de atentado terrorista por ejemplo.

  • Copia fría: Nada más instalar el sistema completamente funcional, afinado, optimizado, parcheado y securizado, es imprescindible hacer lo que se llama una copia fría de la instalación. Este mismo tipo de copia es conveniente hacerla con cierta frecuencia para poder volver a un punto de buen funcionamiento conocido, en caso que suceda alguna catástrofe. Al menos sabes que "hasta aquí" funcionaba bien y siempre puedes partir de aquí si toca hacer una restauración. Las copias frías se llaman así porque se hacen sin estar utilizándose ninguno de los datos de los discos, es decir no hay ningún fichero en uso. La mejor forma es hacerlo arrancando con otro sistema operativo Live (ya sea en un CD o en un USB) y copiar las particiones de los discos de forma completa tal cual están, sin ni siquiera acceder a los ficheros en sí. Suelo utilizar una distribución Linux basada en Gentoo llamada "System Rescue CD" que incorpora una utilidad llamada "Partimage". Con ésta puedes seleccionar las diferentes particiones del disco que quieres clonar. Aunque se puede comunicar en modo cliente-servidor con un servicio Partimage instalado en otra máquina, yo suelo operar de otra manera. Arranco otra máquina de la red en la que comparto por Samba o por NFS algún recurso. Previamente a ejecutar Partimage, montamos ese recurso de red en un punto de montaje en el /tmp virtual del sistema arrancado. Luego a Partimage le digo que la copia de cada partición me la deje en /tmp/remote por ejemplo. Me ha tocado tener que restaurar en más de una ocasión desde ese backup y el resultado es excelente, por lo que la herramienta es altamente recomendable.

  • Copia caliente: Consiste en copiar los datos que consideramos críticos de un sistema a otra ubicación. La finalidad es tener una copia más actualizada de los mismos de lo que nos puede dar una copia fría. Lo que se guarda y la frecuencia definida, en este caso, depende mucho de la funcionalidad del sistema en sí, así como de lo cambiante de los datos, por lo que debe ser tenido analizado caso por caso por parte de los responsables de la información a guardar. Para ello se suele utilizar software de backup, comercial o libre, o en algunos casos (me incluyo) mediante scripts hechos a mano que copien en un tar.gz/bz2 o (elige tu algoritmo de compresión favorito) que empaquete los datos. Con cada paquete de datos copiados, es recomendable no dejarlos en la propia máquina, sino enviarlos a otro sitio. En caso de una red casera en la que no se quiera tener varias máquinas encendidas, quizá sí que sea válido copiarlos en un DVD regrabable o en un USB permanentemente conectado, para poder tener una copia de actualizada si fallan los discos, pero en el caso de una empresa, lo mejor es tener centralizadas las copias en otra ubicación.

  • Vaulting: Este tipo de backup consiste en que los datos (en caliente) se van replicando en "casi tiempo real" en otra ubicación. Suele ser costosa en términos del ancho de banda necesitado para llevar los datos de muchas máquinas a otro sitio, pero permite que en caso de hecatombe de la ubicación completa, los últimos datos disponibles se encuentran en otros sitios. Es importante guardar datos de varias "épocas" puesto que si una máquina se ve comprometida o troyanizada y se restituye el último backup existente, se restaura también el troyano en la máquina nuevamente.

  • Time machine: Aunque este concepto lo empecé a conocer como original de Apple, y no como un "estándar de backups", me gustaría explicarlo un poquito. Es un híbrido entre Vaulting y Copia Caliente. La idea es definir un dispositivo (ya sea un disco duro externo o un Time Capsule, a través de red inalámbrica) sobre el que con bastante frecuencia se irán haciendo "copias calientes". No llega a ser Electronic Vaulting en sí, pero es una buena solución para redes "caseras". Para sistemas operativos Linux podemos utilizar TimeVault.

Publicado por Lorenzo Martínez en http://www.securitybydefault.com/2010/07/buenas-practicas-garantizando-la_19.html