Hace unos meses me di cuenta que la mayoria del tiempo, mi computadora esta encendida, pero no esta haciendo nada. O mejor dicho, esta desperdiciando cualquier cantidad de energia, y hace muy poco. Es que, hasta ese entonces, casi todo el tiempo mi computadora se la pasaba bajando archivos del eMule.
También, hace varios años (en 2004), me di cuenta que los «broadband routers» comunes, no tienen la potencia de CPU necesaria para mantener abiertas suficientes conexiones de P2P, y se complica aún mas cuando son varios los usuarios que intentan bajar archivos.
Y por ultimo, el problema mas grave que note, es el escaso ancho de banda de salida que posee mi conexion ADSL (1248/256kbps). Esto hace que sea imposible mantener una buena velocidad de bajada con eMule si hay otro usuario en la red que esta usando otro programa P2P. Es que el emule exige un minimo de 10kBps de subida para permitir una buena velocidad de bajada, o de lo contrario el ratio hace que se limite la bajada a 3 veces la velocidad de subida. Cuando mi hermano abria el eMule o el BitTorrent, ocurrian dos cosas: 1) se saturaba el ancho de banda de salida (por lo que tenia que funcionar el traffic shaping para mejorar las cosa). y 2) el ratio entraba en funcionamiento, y todos saliamos perdiendo, a pesar de que efectivamente estabamos compartiendo mas archivos y habia una buena velocidad de subida.
Es asi que empieza la historia del server. A mediados de 2001, habia puesto ADSL en casa. Como ya teniamos una red, era de esperarse que las demas computadoras pudieran acceder a internet. ICS y WinGate mediante, configure la red y todo funcionaba bien. Luego, encontre en la basura de una casa de computación 2 viejas maquinas Acer 486, las CPU completas, con placa de Red y todo. Eso me llevo a investigar y al poco tiempo, una de esas maquinas paso a ser el router principal, con Linux en su distro FloppyFW.
Con el tiempo esa maquina evoluciono, y paso a ser un Cyrix 5×86 133, con mas RAM. Pero siempre habia querido tener un proxy-caché con Squid, asi que conseguí una controladora SCSI (AHA-2940UW) y un disco (Seagate Barracuda 7200 SCSI). Esto funciono un par de meses hasta que el disco dijo basta, y volvi al floppyfw. Y asi funciono todo durante muchos años.
A finales de 2006 me convenci de instalar una vieja P3 que tenia, con un disco de 4GB, y ponerla a rutear. Descubri el IPCop (del cual hablare mas adelante), y le hice unas modificaciones y este paso a ser el servidor principal. Es un linux completo, con proxy, NAT, traffic shaping, miles de cosas interesantes. Incluso, un paquete que hace que funcione con la UPS que le puse (una APC BK500EI via USB).
Como habia dicho, lo que mas me molestaba era el hecho del ancho de banda desperdiciado, y fue asi como se me ocurrio que seria bueno que todos podamos usar el mismo eMule. Busque, y encontre el famoso MLDonkey. Un cliente eMule/BitTorrent/etc multiplataforma, y mas importante aún, multiusuario. En pocas horas estaba instalado y bajando archivos en la vieja Pentium 3. Por fin mi computadora podia descansar. Y de hecho ahora lo hace: durante la noche, o cuando no estoy, se la pasa en estado S3 (Suspend-to-RAM), mientras los archivos siguen bajando tranquilamente en el server, sin ocupar valiosos recursos de mi PC.
Ademas de eso, mi server hacia las veces de server RSYNC para los backups, y note que era extremadamente pesado para la CPU y para el disco, a tal punto que el uptime mostraba un system load de 4 o 5. Llegue a la conclusion de que necesitaria una CPU mas potente, y mas RAM. Iba a instalar un Linux y tener todo ahi. Luego me di cuenta que podia hacer mucho mas: podria poner varios discos y hacer un NAS. Podria instalar un X y dejar algunas aplicaciones corriendo en el servidor. Las cosas se volvian interesantes.
Investigando, descubri que Sun hace unos meses habia presentado ZFS, el Mejor Sistema De Archivos Que Existe, o asi lo publicitaban. Las cosas parecen ser verdad, asi que baje el Solaris y lo probe. Nada mal. Busque una maquina usada en deremate y encontre un motherboard Asus que tiene 8 puertos SATA. Charly me vendio un micro Athlon64, socket 754 para dicho mother. Tenia 1GB de DDR400 dando vueltas que ya no usaba, y una placa SCSI (para aprovecharla y dejar libres los puertos SATA para el NAS). Compre ademas 2 discos SCSI de 10K RPM para tener mejor acceso al Squid. Y estoy investigando, y decidi que para el NAS, como primera instancia, voy a usar 4 discos Samsung de 500GB en RAID-Z (1,5TB en total).
Los discos SCSI fallaron (y ademas estoy estudiando) asi que por ahora el proyecto esta en espera, pero durante los proximos meses, voy a contarles por aca el progreso del proyecto, las dificultades, y las cosas que voy a ir descubriendo. Asi que por lo pronto, lo unico que les puedo dar son algunas especificaciones:
CPU: | Athlon64 2800+ |
---|---|
Motherboard: | Asus K8N4-E Deluxe |
Memoria: | 1024MB Kingston DDR400 CL3 |
Controladora SCSI: | Adaptec AHA-2940UW PCI |
Discos SCSI: | Seagate Cheetah 10K 36.4GB (2, RAID-1) |
Discos SATA: | Samsung 500GB SATA (4, RAID-Z) |
Sistema Operativo: | Solaris Express b64a |