martes, julio 18, 2006

Proyecto Backup Server: El comienzo. (1)

Bueno, me voy a meter hasta el cuello para hacer algo que debia haber hecho hace tiempo.

PLANTEAMIENTO

En la empresa para la que trabajo, habia una politica de copias de seguridad basadas en cintas HP, para la cual se tenia un juego de 5 cintas: una por cada dia laboral de la semana.

Cuando llegue a la empresa, las cintas se metian todos los dias y se debia dar a un iconito en el server que era el que realizaba la copia justo antes que el ultimo operario se marchara... Sobra decir que la copia de seguridad NO SE HACIA NUNCA. Es lo que tiene la condicion humana. Un operario esta literalmente hasta los huevos de currar cuando llega ultima hora de la tarde, y era tipico 'olvidarse' de darle al iconito para hacer el backup.

En cuanto llegue, obviamente lo primero que hice fue algo tan banal como 'programar' la copia de seguridad diaria usando la herramienta de 'tareas programadas' de Windows. Era una solucion tan sencilla que no se como mi predecesor ni siquiera la tuvo en cuenta.

Pero, desgraciadamente, la condicion humana de 'haz lo minimo posible, y si es posible, no lo hagas', vieron que la tarea programada de 'hacer el backup' les quitaba trabajo, asi que encima, ni siquiera cambiaban la cinta diaria, sobreescribiendose siempre la cinta que estaba en el interior, abandonando toda posibilidad de historico de backup.

Ademas, las cintas adolecen de un problema, y es que no se porque maldita razon jamas ha durado mas de 6 meses la programacion de la tarea de backup. Misteriosamente, la tarea de backup deja de ejecutarse, o bien, empieza a dar fallos misteriosos que impiden que se haga el backup.

Solucion: abandonar las cintas y cualquier metodo de backup 'off-line' y sustituirlo por un sistema de backup 'on-line' donde la recuperacion de un archivo o documento sea rapido y sencillo.

Asi que aprovechando la coyuntura que tengo el servidor antiguo que lo hemos jubilado (P3-866 256MB SDRam) y lo hemos sustituido por uno nuevo (P4HT-3Ghz 2GB DDRRam), voy a 'resucitar' el servidor antiguo disfrazado de pinguino.

Lo primero es cambiar la caja y ponerle 2 discos duros de 200GB, para hacer asi un RAID1 software donde si casca un disco no pierda la informacion, ademas de hacer una limpieza interna y dejarlo en lo imprescindible para que realice su funcion, que va a ser: Servidor de Backup Online en Disco, con Backups completos diarios e instantaneas de volumen cada 4 horas.

Voy a usar Debian en el server, que ya tengo algo de experiencia con sistemas debian, su instalacion me deja configurar en la misma instalacion sistema RAID1, y me gusta especialmente apt-get por encima de Yum o Urpmi.

Para el sistema de backup, pienso usar el comando Rsync conjuntado con Cron, unos cuantos shares Samba y si acaso montare un Webmin para grabar directamente en DVD algunos ficheros.


PROBLEMAS

Ahora viene lo menos gratificante, y es que Debian no se deja instalar correctamente:
- La placa base solo detecta hasta 132GB. Con esto no contaba, pero confio en que Linux pueda cargar su propio controlador de disco y se paso el limite eso por donde no brilla el sol...
- El sistema RAID1 me ha dado problemas. La instalacion de Debian permite instalar un kernel 2.4 o 2.6. si arranco para instalar un kernel 2.6, me deja crear multiples particiones dentro de un mismo dispositivo MD, pero el kernel 2.4 solo me deja crear una unica particion dentro de un dispositivo MD. La solucion es usar una sola particion por dispositivo MD.
- GRUB no se entiende con mi placa base, me veo obligado a usar LILO. Esto no es problematico, pero tuve que instalar 6 veces hasta darme cuenta de este particular.

Total, que con una cosa y otra, me he dado cuenta que instalar una Debian en server, cuando se quiere algo 'puntilloso' (boot en Raid1, con Swap en Raid1 y Root en Raid1, no quiero que un fallo de disco bloquee el equipo) NO ES ALGO IRRELEVANTE. En total habre hecho por el momento unas 12 instalaciones (nono, no he contado mal) y aun no me gusta como queda instalado el sistema. Menos mal que la instalacion de debian es rapida y sencilla. Si tuviera que cargar un entorno grafico al estilo Ubuntu Dapper ya hubiera desistido en una maquina tan antigua.

Seguiremos informando, ahora mismo estoy haciendo un 'dd if=/dev/zero of=/dev/hda' para limpiar el disco fisico entero y supongo que esta instalacion sera la 'refinitiva' con kernel 2.6, con RAID1 en Root/Boot y Raid1 en Swap. Luego me tocara instalar webmin, samba y currarme los scripts de Rsync y Cron, pero eso ya se andara...