Este trabajo ha sido desarrollado íntegramente utilizando software libre: la plataforma de desarrollo fue Debian GNU/Linux (http://www.debian.org) con el entorno de escritorio GNOME (http://www.gnome.org, http://www.ximian.com); para la edición del texto se utilizó AbiWord (http://www.abisource.com) y Open Office (http://www.openoffice.org); para los diagramas, figuras y esquemas, DIA (http://www.lysator.liu.se/~alla/dia/); para los gráficos de barras, el gnuplot (http://www.gnuplot.org); y para el retoque de gráficos, el GIMP (http://www.gimp.org); y para convertir el fichero PostScript generado por OpenOffice a PDF con el conversor ps2pdf del paquete GhostScript (http://www.ghostscript.com).
1.1. GNU/Linux y el Software Libre 2
1.2. Introducción al clustering de servidores 3
1.3. Consideraciones previas 5
2.1. Gestión avanzada de los discos 7
2.1.1. RAID 7
2.1.2. LVM 11
2.2. Sistemas de Ficheros 14
2.2.1. ext2 14
2.2.1.1. Estructura física 15
2.2.1.2. Los i-nodos 17
2.2.1.3. Uso 18
2.2.1.4. ext3 19
2.2.2. ReiserFS 19
2.2.2.1. Sistemas transaccionales 19
2.2.2.2. Características de ReiserFS 20
2.2.2.3. Árboles B* 21
2.2.2.4. Uso 24
2.2.3. xfs y jfs 25
3.1. Replicación de archivos 27
3.1.1. rsync 27
3.1.1.2. El algoritmo rsync 28
3.1.1.3. Resultados 29
3.1.1.4. Instalación y uso 30
3.2. Sistemas de ficheros distribuidos 32
3.2.1. NFS 32
3.2.1.1. Los protocolos detrás de NFS 32
3.2.1.2. El servidor 33
3.2.1.3. El cliente 35
3.2.1.4. Precauciones 36
3.2.2. Samba 37
3.2.2.1. Programas 38
3.2.2.2. Configuración 38
3.2.2.3. Accediendo a Windows desde Linux 40
3.2.3. CODA 41
3.2.3.1. Terminología CODA 42
3.2.3.2. Los servidores 44
3.2.3.3. Los clientes 48
3.2.3.4. Características avanzadas 49
3.2.4. GFS 49
3.2.4.1. Sistemas de discos compartidos 50
3.2.4.2. Características de GFS 51
3.2.4.2. Instalación de GFS sobre Canal de Fibra 52
3.2.4.3. Limitaciones de GFS 57
4.1. daemontools y ucspi-tcp 59
4.1.1. Configuración y uso 59
4.2. mon 61
4.3. heartbeat y fake 62
4.4. Failover de red con iANS de Intel 63
4.4.1. Configuración de iANS en modo AFT 64
4.4.2. Ejemplo de configuración manual 66
5.1. Linux Virtual Server 67
5.1.1. Visión general de LVS 67
5.1.2. Cómo distribuir la carga 69
5.1.3. Modos de balanceado de carga en LVS 71
5.1.3.1. Balanceado por NAT (VS-NAT) 71
5.1.3.2. Balanceado por encapsulado IP (VS-Tun) 75
5.1.3.3. Balanceado por enrutamiento directo (VS-DR) 79
5.1.3.4. Resumen de los métodos de balanceado 81
5.1.4. Planificación del balanceo de carga 82
5.1.4.1. Round Robin 82
5.1.4.2. Round Robin Ponderado 82
5.1.4.3. Servidor con menos conexiones activas 83
5.1.4.4. Servidor con menos conexiones activas (ponderado) 83
5.1.4.5. Menos conectado basado en servicio 84
5.1.4.6. Tablas hash por origen y destino 84
5.1.4.7. Conexiones persistentes 84
5.1.5. Alta disponibilidad en LVS 84
5.1.5.1. mon+heartbeat+fake+coda 85
5.1.5.2. ldirectord+heartbeat 88
5.1.6. El software 89
5.1.6.1. lvs-gui 90
5.1.6.2. LVSM 92
5.1.6.3. Módulo webmin para LVS 93
5.1.6.4. Ultra Monkey 93
5.1.6.5. Piranha 96
5.2. Super Sparrow 97
5.2.1. BGP 97
5.2.2. Funcionamiento de Super Sparrow 98
5.2.3. El software 99
5.2.4. Super Sparrow y Apache 102
6.1. Linux Utility for cluster Installation (LUI) 105
6.2. FAI 107
6.2.1. Funcionamiento 107
6.3. VA SystemInstaller 108
6.3.1. Requerimientos 110
6.3.2. Funcionamiento 110
6.4. webmin 112
7.1. Instalación de GNU/Linux en un equipo 117
7.2. RAID, LVM, ext2 y reiserfs 117
7.3. Instalación remota con VA System Imager 132
7.3.1. Instalación del software en el servidor 132
7.3.2. Instalación linux en el golden client 133
7.3.3. Instalación del software cliente en el golden client 134
7.3.4. Ejecutar getimage en el servidor 135
7.3.5. Creación del disco de arranque para instalar los clientes 142
7.4. CODA 144
7.4.1. El servidor CODA 145
7.4.2. El cliente CODA 152
7.4.3. Pruebas de rendimiento 155
7.5. mon 161
7.6. iANS 164
9.1. Documentación, HOWTOs y FAQs 173
9.2. RFCs 174
9.3. Licencias 175
Imagen 1. RAID: Situación 9
Imagen 2. LVM: Situación 11
Imagen 3. LVM: Asignación de espacio 12
Imagen 4. ext2: Estructura del disco 15
Imagen 5. ext2: Estructura de una partición 16
Imagen 6. ext2: i-nodos 18
Imagen 7. ReiserFS: Árboles B 22
Imagen 8. CODA: Árbol de directorios 42
Imagen 9. CODA: Árbol de directorios 43
Imagen 10. CODA: Organización de una celda 46
Imagen 11. GFS: Esquema general 52
Imagen 12. LVS: Esquema general 68
Imagen 13. LVS: VS-NAT 72
Imagen 14. LVS: VS-NAT, esquema físico 74
Imagen 15. LVS: Encapsulado IP 76
Imagen 16. LVS: VS-Tun 77
Imagen 17. LVS: VS-DR 80
Imagen 18. LVS: Alta disponibilidad 86
Imagen 19. LVS: lvs-gui 91
Imagen 20. LVS: Ultra Monkey, método 1 94
Imagen 21. LVS: Ultra Monkey, método 2 94
Imagen 22. LVS: Ultra Monkey, método 3 95
Imagen 23. LVS: Ultra Monkey, método 4 95
Imagen 24. Super Sparrow: Ejemplo BGP 98
Imagen 25. Super Sparrow: Ejemplo de funcionamiento 99
Imagen 26. Super Sparrow: Funcionamiento de mod_supersparrow 101
Imagen 27. Super Sparrow: Integración con Apache 102
Imagen 28. LUI: Interfaz gráfico 106
Imagen 29. VA SystemImager: Instalación, paso 1 111
Imagen 30. VA SystemImager: Instalación, paso 2 111
Imagen 31. VA SystemImager: Instalación, paso 3 111
Imagen 32. webmin: Menú principal 113
Imagen 33. webmin: Administración Cyrus IMAP 115
Imagen 34. Comparativa: ext2 vs. reiserfs (1/2) 118
Imagen 35. Comparativa: ext2 vs. reiserfs (2/2) 120
Imagen 36. Comparativa: RAID + LVM + ext2 (1/2) 121
Imagen 37. Comparativa: RAID + LVM + ext2 (2/2) 123
Imagen 38. Comparativa: RAID + LVM + reiserfs (1/2) 125
Imagen 39. Comparativa: RAID + LVM + reiserfs (2/2) 127
Imagen 40. Comparativa: RAID + ext2 vs. RAID + reiserfs 128
Imagen 41. Comparativa: RAID1 + reiserfs 130
Imagen 42. Comparativa: NFS vs. CODA 160
Imagen 43. Conclusión: Cluster sencillo 170