pedroreina.net

Montaje del servidor
Cuando monté este servidor no imaginaba hasta dónde iba a llegar con él. Pero los acontecimentos se van desarrollando de tal manera que el servidor va creciendo tanto en hardware como en software del tal manera que parece que tenga vida propia. En esta sección me recuerdo a mí mismo y a quien quiera leerlo la evolución del servidor.
Nacimiento
En octubre de 2001 contraté una conexión ADSL con IP fija, que era algo que se estilaba entonces. Ya llevaba algún tiempo funcionando un servidor para mi pequeña intranet, de modo que la posibilidad de usar el ADSL para dar servicios al exterior se hacía posible. Pero quería usar un ordenador dedicado para ello.

Así las cosas, mi amiga Marta me regaló un ordenador que ya no usaba: procesador AMD DX2 a 80 MHz, placa base Data Expert EXP4045, caja normalita y un disco duro de 251 MB. Parecía suficiente para empezar a trastear. Mi amigo Carlitos me regaló 8 + 4 + 4 MB de RAM, mi amigo Fernando 8 MB más y recuperé una disquetera de 3.5 de unos equipos que iban al desguace. De un ordenador que le estaba preparando a mi sobrina Laura obtuve un disco duro de 515 MB. La tarjeta de red la donó la empresa de Carlitos, ACT: una 3Com 509 a 10 Mb.

El hardware ya estaba claro, ahora llegaba el momento de instalar del software. Debian iba en ese momento por la versión estable 2.2, Potato, así que me dispuse a instalarla. Preparé los dos disquetes de arranque de Debian y desde ellos empecé la instalación, que continué directamente por red. Con 24 MB de RAM, apt no respondía muy rápidamente, pero poco a poco fui instalando todo lo necesario.

Había que elegir un nombre de máquina, y para ello me inspiré en la chapita de la caja, en la que había unas siglas enigmáticas para mí: TDC. Había nacido Tedecea.

Apertura a Internet
Antes de abrir servicios a Internet me leí una parte de la guía de seguridad de Debian, aprendí a desactivar algunos servicios que no me interesaban e instalé el servidor de ssh, para poder manejar la máquina desde fuera de mi casa sin usar el peligroso telnet, que era el que se instalaba entonces por defecto en Debian.

Lo primero que quería ofrecer era un servidor web, así que instalé Apache. El siguiente paso era una incógnita para mí: ¿cómo conseguir que las peticiones externas de Internet al puerto 80 acabaran en mi nuevo servidor? Ahora la respuesta es obvia: redirigir en el router las peticiones al puerto 80 a la IP interna del servidor, pero en su momento fue realmente muy emocionante comprobar que la gente desde fuera de la intranet efectivamente tenía acceso a mi Apache.

Primera actualización de hardware
El servidor ya empezaba a funcionar, y cumplía muy bien su función. Pero cada vez recibía más peticiones y la carga de trabajo era cada vez más alta. El AMD a 80 MHz estaba trabajando mucho, así que pedía una actualización.

Mi amigo y alumno Pepe me regaló dos ordenadores Olivetti que ya no iban a usar en una empresa, con micro Pentium 120 MHz y 64 MB de RAM. La actualización estaba clara, pero contó con otra donación de la empresa ACT: una caja con placa Asus SP97-XV y micro Pentium 233 MMX, mucho mejor que los Olivetti.

Preparé la nueva caja poniendo en ella los 128 MB de RAM de los dos Olivetti y sus discos duros, uno de 1222 MB y otro de 810 MB, junto con el disco de 515 MB que ya tenía.

Como hda puse el disco de 810 MB con el sistema raíz, como hdb puse el de 515 MB con una partición para tmp y otra para swap. Como hdc puse el de 1222 con la partición para home.

El servidor estaba ubicado en el estudio de casa, una habitación pequeña y llena de trastos, en el último rincón disponible: detrás de un armario bajo. Conservo una foto de cómo se veía el servidor desde arriba: pentium233.jpg

Compra del dominio
Tras unos meses de funcionamiento la cosa iba muy bien y cada vez más gente accedía al servidor, sobre todo desde que empecé a colocar las fotos que hacía con mi nueva cámara digital. Pero decirle a la gente que accediera a una web dándole la IP era realmente incómodo para todos, así que decidí aprender a comprar y gestionar un dominio.

Primero instalé un servidor de DNS que iba a ser el primario del nuevo dominio y a continuación lo di de alta a través del registrador Gandi, que me había recomendado Antonio Quesada. A finales de marzo de 2002 empezaba a estar accesible pedroreina.net.

Cambio de discos duros
Con el tiempo muchos de nosotros vamos cambiando los discos duros de nuestras máquinas y a veces no sabemos qué hacer con los discos antiguos. Yo suelo recoger estos discos que se quedan pequeños para mejorar la capacidad del servidor.

Primero le tocó el turno al disco de 1222 que contenía home: lo cambié por uno de 20 GB que estaba en el ordenador de mi mujer. Más tarde quité los otros dos discos pequeños por uno de 2 GB, también procedente de un familiar, en el que hice cuatro particiones: raíz, var, tmp y swap.

Primera actualización de software
Actualizo los parches de seguridad que va sacando el equipo de seguridad de Debian en cuanto están disponibles, pero no cambio de versión de Debian hasta que no hay una nueva versión estable. Cuando la versión 3.0, Woody, fue declarada estable, hice la actualización, que fue casi perfecta: solo tuve que tocar un archivo de configuración de PostgreSQL.
Segunda actualización de hardware
La configuración anterior estuvo funcionando mucho tiempo, sin ningún problema. Sin embargo, la partición de home ya estaba al 70% de su capacidad, lo que invitaba a cambiar ese disco duro, y sobre todo, me apetecía mucho poner una placa VIA mini-itx sin ventilador en el micro, ya que llevaba años usando una para mi servidor interno y me gustaba mucho. Así que a finales de julio de 2005 me animé a dar el cambio.

Empecé por comprar una placa Via Epia SP8000E, que lleva un micro Eden a 800 MHz sin ventilador, en Ibertrónica. Este es el contenido completo de la caja: epiacaja.jpg; esta es la placa vista desde arriba: epia.jpg y esta es la placa vista desde los conectores traseros: epiafrontal.jpg.

Decidí poner una fuente de alimentación totalmente silenciosa, sin ventiladores, para que fuera a juego con la placa. Me decidí por una SilverStone ST30NF que compré en Factoría Digital. Este es el contenido completo de la caja: fuentecaja.jpg y esta es la fuente vista desde el lateral más interesante: fuentefrontal.jpg.

Al precio que está la memoria RAM, no me supuso mucho problema decidirme por un módulo de 512 MB DDR 400 que compré en SoftWorld.

Como disco duro puse el de 80 GB que había quitado de mi ordenador de escritorio cuando le compré uno mayor.

Coloqué la fuente, la placa, un disco duro provisional y un lector de CD también provisional para preparar un núcleo a medida; lo coloqué todo en mi mesa, como se ve en preparar.jpg y trabajé un rato hasta que preparé el núcleo tal como lo quería.

En esta remodelación había decidido también cambiar de ubicación el servidor, y pasarlo a un lugar más vistoso. Lo quería poner en el mismo armario en que estaba ya el servidor de la intranet, así que vacié un estante: armariovacio.jpg, le hice un agujero por detrás para llevar la electricidad y el cable de red: agujero.jpg, enchufé el alargador de electricidad al cuadro que tengo bajo mi mesa: cuadro.jpg y por fin coloqué todo en el armario: armariolleno.jpg. De momento me ha quedado estéticamente espantoso, pero ya haré algo más adelante para que quede mejor.

Segunda actualización de software
Tardé un año en actualizar a Debian 3.1, Sarge, desde que fue declarada estable, pero al final lo hice. Casi todo funcionó correctamente siguiendo las instrucciones oficiales. La librería Ming para PHP ya no es un paquete oficial, así que la bajé de un repositorio no oficial. La actualización automática de las bases de datos PostgreSQL tampoco funcionó bien (por mi culpa), y tuve que hacerla manualmente.
Primera avería grave
Tras varios años sin incidentes importantes, alguna vez tenía que ocurrir algo grave; trabajando con ordenadores, creo que es inevitable. A primeros de octubre de 2007 un apagón rompió el disco duro y lo dejó inutilizado, no podía leer nada de él.

Tuve que comprar un disco duro, algo cada vez más barato y de mayor capacidad, y me decidí por un Seagate de 160 GB. Instalar de cero un nuevo sistema es cada vez más fácil, puse en muy poco tiempo la nueva versión de Debian, la 4.0 llamada Etch.

Aprovechando la instalación de cero, ya puse nuevas versiones de los programas; Apache2 y PHP5 principalmente. Los datos los recuperé de una copia de seguridad; no todos pero sí la mayoría. Pero lo difícil fue darme cuenta de que bastantes programas míos desarrollados en PHP estaban bastante anticuados y tenía que retocarlos. Era algo que hacía falta pero quería hacer sin prisas. Ahora era inevitable.

Ya puestos a trabajar en profundidad, decidí que era el momento de abandonar los dos gestores de bases de datos con los que estaba trabajando, PostgreSQL y MySQL, ya que ambos eran demasiado grandes para mis necesidades y me daban más problemas que soluciones. Decidí pasar a SQLite, que además se adapta mejor a mi filosofía minimalista.

Tercera actualización de software
Esta vez tardé muy poco tiempo desde que se declaró estable la siguiente versión de Debian hasta que hice la actualización a ella: la 5.0, llamada Lenny. Esta vez tuve dos problemas que tuve que resolver a mano. La actualización llevó un par de horas, más o menos, y luego el arreglo de los problemas otro par de horas.

Por un lado, el servidor de DNS, bind9, no arrancaba porque exigía que todas las zonas estuvieran definidas en todas las vistas; lo arregle separando las definiciones de zonas generales a su propio archivo e incluyéndolo en las dos vistas que tengo.

Por otro lado, la actualización de la configuración del servidor de correo, exim4, había cambiado pero yo no acepté la nueva versión de sus archivos de configuración; con los antiguos, exim4 no arrancaba. Para resolverlo, descomprimí a mano el archivo deb y copié los nuevos archivos sobre los antiguos. Como los datos particulares de mi servidor se mantienen en un archivo diferente, no se sobreescribieron y exim4 arrancó ya perfectamente.

Segunda avería grave
Septiembre de 2010 fue un mal mes para mis intereses informáticos: se rompió el disco duro de este servidor, cuando lo estaba estudiando enchufado al ordenador de sobremesa también se rompió el disco duro de este, la última copia de seguridad era de hacía un año y había trabajado mucho desde entonces, incluyendo digitalizaciones de originales que ya había tirado. Un horror. Tuve que recurrir a una empresa especializada, ondata.es, en la que no solo me trataron muy bien sino que me recuperaron todos los datos.

Compré otro disco duro de 160 GB para reemplazar al roto y una tarjeta de red Gigabit, que inserté en la única ranura de la placa, con vistas a establecer un sistema de copias de seguridad que realmente fuera útil. Algún amigo me dijo "en casa de herrero cuchillo de palo" con toda razón.

Dejé el interfaz de red original de la placa (de 100 Mb) para comunicar con internet y la nueva tarjeta la uní con un cable directo a la segunda interfaz de mi ordenador de sobremesa, que estaba libre. La comunicación por cable directo entre dos ordenadores es, según mis pruebas, el doble de rápida que si pasa por un switch.

Como la fuente de alimentación, tras cinco años ininterrumpidos de trabajo, también se había roto, la cambié por otra igual; la marca se había ganado la confianza. Cuesta 120 euros, bastante más que una normal, pero creo que merece la pena. De todas formas, reutilicé la rota como almacén de papelitos de publicidad de empresas de comida a domicilio. Simplemente tuve que desatornillarla y quitarle los componentes internos, por fuera está estupenda.

Instalé Debian Lenny desde un CD NetInstall y estuve un par de días casi completos reinstalando programas y datos y modificando permisos de archivos. La sonrisa volvía poco a poco a mis labios conforme iba viendo que los diferentes servicios volvían a estar disponibles.

Por último, preparé un sistema de copias de seguridad basado en rsync dirigido por un sencillo script en Bash. En la primera copia tardó 1h 57min en mover por la red Gigabit dedicada que he explicado 48 GB de datos, lo que da una media de 410 MB/min. Ahora cada semana hago una copia incremental que suele tardar unos tres minutos. Tengo cuatro discos duros SATA para hacer las copias de seguridad, que voy rotando. Siendo optimistas, habrá que concluir que "no hay mal que por bien no venga".

Avería, cambio de disco y nueva instalación
El sistema de copias de seguridad que me lleva a hacer copia semanal me viene muy bien para comprobar cada tan poco tiempo el estado del disco duro, que es la pieza que más sufre en este ordenador.

En enero de 2013 la copia de este ordenador no se pudo completar porque una zona del disco daba errores de lectura. Me di cuenta antes de ver los errores en la pantalla (estaba trabajando en otra consola) por el sonido "tic, tic, tic" del disco. Como en ese momento no podía hacer la reparación, decidí dedicar la semana siguiente a realizar las compras necesarias y reservar el fin de semana a la nueva instalación: ya que había que cambiar el disco duro, merecía la pena instalar Debian Wheezy, que estaba ya en pruebas en ese momento, por tanto no muy lejos de ser declarado estable.

Dos modelos de la fuente de alimentación SilverStone ST30NF me habían dado la sorpresa de no volver a encenderse tras apagarlos para cambiar el sistema; por tanto, me preparé comprando otra fuente similar. Esta vez una Seasonic P400W, que también es sin ventiladores, pero además es modular; tienen precios similares y me apetecía probar otra marca. Al final resultó que la SilverStone seguía funcionando, pero es mejor prevenir; coloqué la fuente antigua en el servidor interno, Criatura, hasta que aguante.

Como disco duro estaba ya convencido de usar uno de estado sólido, incluso tenía decidido cuál gracias a la conversación con el empleado de PC BOX donde lo iba a comprar. Pero tenía un disco SATA del mismo tamaño que el IDE que iba a cambiar y que tenía muy poco uso: realmente, menos de 24 horas, ya que solo lo usaba como espejo del disco de otro ordenador crítico. Así que reutilicé material, que siempre está bien. Al final la decisión fue estupenda, porque descubrí que la placa de este equipo tiene un error en el firmware que impide enchufar discos SATA II en su controladora, que es SATA I, a no ser que se utilice la opción de bajar la velocidad en el propio disco usando un interruptor.

Comencé el fin de semana a hacer el cambio. Lo primero por actualizar una vez más una copia de seguridad evitando la zona dañada: fue muy bien, lo que nos confirma lo bueno que es cambiar un disco que dé problemas lo antes posible. Mucho mejor sería hacerlo antes, claro, pero eso lo dejaré para una próxima investigación.

A continuación, el apagado. Doloroso aunque necesario, ya que en ese momento el equipo tenía un uptime de 690 días, lo máximo que he conseguido nunca con ninguno de mis equipos.

Gracias a tener una copia de seguridad actualizada, la nueva instalación fue muy rápida: el trasvase de datos entre el disco de seguridad y el disco nuevo lo pude hacer en mi ordenador de escritorio y me llevó unos 75 minutos para mover unos 62 GB de datos. Y Debian cada vez es más sencillo y funciona mejor, así que todo fue como la seda.

En total el ordenador estuvo sin dar servicios en Internet 22 horas, de las que muchas las dediqué a dormir y comer, claro.

Placa base provisional
Un día de abril de 2013 se reinició el sistema y cuando llegué a casa vi que no había conseguido terminar el arranque. Estuve un buen rato tratando de identificar la causa y paré al llegar a un punto bien muerto: la placa ya no arrancaba en absoluto. Tras casi ocho años de trabajo sin descanso, la di por muerta y me puse a buscar una solución.

Pedí a Amazon española una placa Asus C60M1-I y 4 GB de RAM. Ya había visto antes la placa y sabía que me gustaba, aunque no para ocupar el puesto de Tedecea, sino para el de Criatura. Pero como en ese momento había prisa por estar pedroreina.net fuera de línea, en vez de ponerme a buscar una placa realmente adecuada, pedí esta con la idea de ponerla provisionalmente y más adelante tomar una decisión definitiva.

La placa y la memoria tardaron una semana en llegar. En cuanto estuvieron en casa las puse en su sitio y arranqué el sistema. Ni me preocupé de cambiar el núcleo, dejé uno para ordenadores 486 que ni siquiera era capaz de direccionar más de 2 GB, desperdiciando por tanto la mitad de la memoria comprada. Al ser una instalación provisional, podía pasar así. También tuve problemas con los periféricos conectados por USB, el SAI y el Arduino, pero como tenía prisa por dejar funcionando el sistema, opté por no investigar más y dejar desconectados esos periféricos.

Cambio de placa base
Cuando tuve algún tiempo para este asunto, me puse a buscar alternativas para poner una nueva placa base. La ASRock PV530A-ITX, la Via VB7008 y la VIA Epia M720 fueron las tres elegidas como mejores candidatas.

El precio de la ASRock en Amazon España era de 46 euros incluido el transporte, un precio muy inferior al de las otras dos placas (120 y 168 euros respectivamente). Su grave inconveniente es que la placa se vende con un ventilador en la CPU, que es algo que yo no quiero que tengan los ordenadores que uso como servidores constantemente encendidos. Pensé que podía pedirla e investigar a ver si podía usarla sin ventilador o al menos a pocas revoluciones, ya que la BIOS permite dirigir las revoluciones del ventilador mediante PWM. En caso de no conseguirlo, el dinero mal utilizado no sería mucho y siempre se puede encontrar uso a una placa.

Pedí la ASRock a amazon.es y llegó en cinco días. Pasé por PC Box para comprar 2 GB de memoria DDR3 a 1333 que funcionaron perfectamente aunque el manual de la placa especificaba una velocidad máxima de 1066. Usando material que tengo por casa probé la placa y me encontré con la sorpresa de que, aunque admite ventiladores de CPU con PWM (que llevan cuatro hilos), el que traía no admitía PWM y llevaba tres hilos: mal por ASRock. Busqué en mi ciudad un ventilador de CPU de 10x10 mm con PWM, pero no lo encontré. Pedí uno a frozencpu.com que tardó una semana en llegar, pero al instalarlo vi que como mínimo funcionaba a 3000 rpm, imposible que bajara más. También había probado a usar la placa desenchufando el ventilador, pero la temperatura subía tanto que se acabaría por dañar el micro. La placa no cubría mis necesidades, así que la guardé para pruebas y como reserva y pasé a la siguiente candidata.

La placa Via Epia M720 había bajado un poco de precio, así que a primeros de julio de 2013 la pedí a invitek y en dos semanas por 138 euros estaba en casa. Le hice una foto cenital: epia-m720.jpg. La puse en la zona de pruebas para trabajar un poco con ella y configurar la BIOS y esta sí me gusto. Era una buena sustituta de la anterior placa Via. Le puse los 2 GB de RAM que había comprado, instalé un núcleo para 686, hice un par de cambios sencillos y todo funcionó perfectamente.

Mil días de uptime
Esta configuración que he descrito está funcionando perfectamente, hasta ahora no me ha dado ningún problema. Tanto es así que escribo esta entrada para celebrar que ha llegado a los mil días de uptime. Aunque no tengo especial predilección por las potencias de diez, sí que es de reseñar que los días de uptime ahora necesitan cuatro dígitos, lo que justifica que en la pantalla LCD que tengo en el servidor reservara en su momento esos cuatro dígitos; me parecía muy optimista, pero ahora veo que fue una buena decisión.

Ninguno de mis ordenadores había llegado jamás a tal tiempo encendido, así que me asombro y celebro que una máquina tan modesta y conectada permanentemente a internet ofreciendo varios servicios tenga este nivel de fiabilidad. En mi opinión, es una prueba más del gran nivel de calidad que tiene el software libre.

Una captura de pantalla de recuerdo:

mildiasuptime

Resumen de configuraciones

Fecha Debian Modo Procesador Memoria RAM Disco duro Tipo
Noviembre 2001 Potato Instalación AMD DX2 80 MHz 24 MB 251 MB + 515 MB IDE
Enero 2002 Potato Trasvase Intel Pentium 233 MHz 128 MB 810 MB + 515 MB + 1222 MB IDE
Potato Trasvase Intel Pentium 233 MHz 128 MB 810 MB + 515 MB + 20 GB IDE
Potato Trasvase Intel Pentium 233 MHz 128 MB 2 GB + 20 GB IDE
Julio 2002 Woody Actualización Intel Pentium 233 MHz 128 MB 2 GB + 20 GB IDE
Julio 2005 Woody Trasvase Via Eden 800 MHz 512 MB 80 GB IDE
Junio 2006 Sarge Actualización Via Eden 800 MHz 512 MB 80 GB IDE
Octubre 2007 Etch Instalación Via Eden 800 MHz 512 MB 160 GB IDE
Abril 2009 Lenny Actualización Via Eden 800 MHz 512 MB 160 GB IDE
Septiembre 2011 Lenny Instalación Via Eden 800 MHz 512 MB 160 GB IDE
Enero 2013 Wheezy Instalación Via Eden 800 MHz 512 MB 160 GB SATA
Abril 2013 Wheezy Adaptación AMD C-60 1 GHz 4 GB 160 GB SATA
Julio 2013 Wheezy Adaptación Via C7 1 GHz 2 GB 160 GB SATA
Posibilidades para seguir
Volver a la página principal
Mejor visto con cualquier navegador HTML 4.01 válido CSS válido