RAID

Alrededor de la fecha en que publiqué mi entrada de Tenochtitlán, Aztlán comenzó a actuar de manera extraña. Me metí a ver qué pasaba (era fin de semana, así que no estba en CU) y el sistema de archivos estaba en modo de sólo lectura. Rezándole a dioses oscuros decidí reiniciarla; y a los dioses oscuros les valió madre, porque no regresó a la vida.

Al otro lunes llegué con mis desarmadores y un lector USB 3 de discos duros SATA, porque supuse que un disco duro había pasado a mejor vida. Y efectivamente eso fue lo que pasó; después de que lidié con todo lo que voy a platicar en esta entrada, verifiqué en la red y resulta que el disco duro (de 500 gigabytes) es del 2009, así que tenía 9 años funcionando. Honestamente no recuerdo si me lo dieron con mi computadora viejita al llegar a la Facultad o si lo traje de mi casa. Ambas opciones son posibles.

Como sea; el disco estaba en una situación precaria: mostraba que tenía una partición, pero la misma ni siquiera podía identificarse a sí misma. Eventualmente pude recuperar la información del disco usando ddrescue, excepto por algunos mensajes de la bitácora, que probablemente fue lo que desencadenó el problema: el disco comenzó a dar problemas; lo que causó la generación de múltiples mensajes de error; que la bitácora trató fielmente de guardar; lo que hizo que diera más problemas; etc. El disco duro justo contenía la partición con /var donde viven los mensajes de la bitácora o log (en /var/log).

Un par de semanas antes del incidente tengo 1 mensaje de ata1: SError: { PHYRdyChg 10B8B DevExch } entre otros; una semana después tendría 37; y el día que murió el disco duro tenía 305.

Aztlán de hecho tiene una cantidad decente de disco duro, así que moví todo el contenido de esa partición al disco duro principal de la máquina y la reviví; una vez que recuperé dicha información, obviamente (es una maravilla ddrescue, sólo entendiblemente lento). Aztlán quedó algo apretada en espacio, pero funcional, así que pedí un disco duro de 2 terabytes a Amazon, que en cuanto llegó lo instalé y todo regresó a la normalidad.

Sólo quedé algo ciscado; en /var también están las bases de datos de mi instancia de GitLab (¡y del Pensadero!), así que pedí otro disco duro de 2 terabytes a Amazon y se me ocurrió ir haciendo en Tenochtitlán un espejo diario de básicamente todo Aztlán. Pero Enrique me dijo que por qué mejor no hacía un RAID, que debo admitir ni siquiera se me había ocurrido.

El nuevo disco duro entonces lo puse en Tenochtitlán, donde procedí a crear un RAID 1 con los dos discos de 2 terabytes que tienen. En los hechos entonces sigo teniendo el mismo espacio; pero en cuanto agregue otro disco duro al RAID puedo convertirlo a nivel 5 y entonces tendré 4 terabytes distribuidos entre 3 discos de 2 terabytes. El tercer disco provee redundancia; el RAID puede perder completamente uno de los tres discos (o de los 2, mientras lo mantenga en nivel 1) y en cuanto lo reemplace puede comenzar a regresar a la normalidad sin en ningún momento perder datos o tiempo arriba.

Y puedo seguir agregando discos hasta que me harte.

Sobre el RAID 1 tengo un volumen lógico (LVM) para tener dos particiones; la memoria virtual (swap) de Tenochtitlán la tengo ahí, que es medio ridículo, porque tengo tanta memoria RAM que la virtual literalmente nunca ha sido usada, pero pues siempre he tenido memoria virtual y con tanto disco duro no veo por qué escamotearlo. El resto del volumen está para varias cosas en Tenochtitlán, pero básicamente es para respaldos. Comparto vía NFS un directorio del RAID con Aztlán para que diario haga un respaldo de toda la información importante de ella; y por supuesto también respaldo a Tenochtitlán.

Tener el LVM encima del RAID me permite rápidamente cambiar el tamaño de las particiones, que supongo será necesario cuando comience a crecer el tamaño del RAID (la próxima semana, con casi toda certeza). Y el RAID me permite no tener que preocuparme de que alguno de los discos duros de mis máquinas se muera (que inevitablemente volverá a ocurrir). Si se muere un disco duro del RAID sólo lo tengo que poner en modo de sólo lectura mientras reemplazo el disco duro dañado; si se muere alguno otro de los discos duros de alguna de mis máquinas en CU, únicamente tengo que cambiarlo y restaurar el respaldo. Cabe la posibilidad de que pierda hasta 24 horas de información; pero lo que más cambio en Tenochtitlán son mis documentos y esos los tengo en Git, que actualizo casi religiosamente y el servidor está en la instancia de GitLab de Aztlán. En Aztlán podría perder un par de entradas en el blog, pero como no escribo diaro dudo mucho que eso ocurra.

Me está gustando la configuración; cuando era estudiante pobre ni siquiera me pasaba por la cabeza el sacrificar todo un disco duro para poder utilizar RAID; hoy en día me importan mucho más mis datos que el costo de un disco duro, así que tiene todo el sentido del mundo hacerlo. Tanto es así que estoy seriamente pensando en hacer lo mismo en mi casa; armar una computadora especial para que funcione como NAS exportando vía NFS directorios a mis otras computadoras. Podría reemplazar a Atom, mi servidorcito casero (o mejor dicho; sería la nueva encarnación de Atom) y a mí media center; o podría tener un media center chiquitito que al iniciar montara los directorios con videos y demás del NAS.

Pero eso será a largo plazo (y con una inversión de dinero no despreciable, si lo hago como se me antoja); por ahora al menos mis datos en la UNAM (que incluye información de cursos y demás) están protegidos.

A menos que se queme mi cubículo, por supuesto.

2 comentarios sobre “RAID

  1. Hola, en mi experiencia los RAID que vienen con las Tarjetas Madre son muy malos (he probado Intel, Asus, Gigabyte y MSI), /funcionan/ cuando configuras todo, pero cuando reemplazas un disco (por daño o simplemente para probar que funciona el RAID) y esperas que como dice la teoría solito recupere todos los datos, sorpresa!, espero hayas usado RAID por software (en Linux) esos sí son más recuperables. Pero creo que para tus entradas del blog podrías hacer un cronsito que haga un dump de tu base de datos y junto con los archivos del blog, comprima todo y lo suba AWS S3, en la configuración del bucket puedes hacer que lo que tenga más de X tiempo lo borre solito y es estúpidamente barato, incluso te podría salir gratis el primer año por el Free Tier de AWS. Y ahí sí, aunque se inunde tu cubo, tus datos están seguros.

    1. Use software RAID en Linux, por supuesto. Sí quiero ver qué onda con AWS; y no me importaría pagar. No tengo videos (aunque sí fotos), así que no pasa de algunos gigas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *