Instalacion servidor
ballester.david en gmail.com
ballester.david en gmail.com
Jue Jun 21 16:41:13 BST 2007
El jue, 21-06-2007 a las 11:52 -0300, Emilio M. Alvarado escribió:
> Estoy encarando la instalación de servidores que utilizaran Ubuntu
> como SO
>
> Las necesidades son Apache – PHP – MySQL
>
> Pero necesito poder escalar la capacidad de espacio en disco, es
> decir, configurar el SO para que me permita sumar discos rígidos a
> medida que crezca la necesidad, si existe la posibilidad y mecanismo
> para que los discos puedan estar en otros cpu (corriendo la misma
> versión de Ubuntu) buscando la forma de no limitar el espacio en disco
> y permitirme una gran escalabilidad.
>
Usa LVM ( la partición /boot que sea ext3 pura y dura, fuera de
cualquier volumen lógico )
Crea una partición ( fdisk ) LVM suficiente para albergar el sistema
operativo + SWAP ( ¿ 10GB ? ).
Crea un grupo de volúmenes ( vgcreate ) asignado a esa partición
anterior ( physical disk en nomenclatura LVM )
Crea distintos logicalVolumes ( lvcreate ) asignados al volume group
anterior. Aquí, los volúmenes lógicos serán las 'particiones' que
montarás en el sistema.
El swap te recomiendo formarlo por varias particiones ( logicalVolumes )
distintas, no un solo lv ( 'partición' ) grande.
Con el resto de espacio sin particionar del disco, crea otro physical
disk, otro VolumeGroup y logicalVolumes para hospedar la base de datos y
otros datos de la aplicación. Dependiendo del ratio y tipo de
lectura/escritura sería deseable modificar el tamaño de bloque de los
LogicalVolume y de los filesystems que para optimizar en lo posible la
entrada/salida.
LVM junto con las características actuales de ext3 te permitirá la
adición de nuevo espacio y redimensionamiento de las particiones en
caliente, sin tener que desmontar/montar y evitar la pérdida de servicio
durante esas operaciones.
El storage es un disco 'tal cual' o estará protegido por algún tipo de
raid? si es intensivo en escritura, NO USES RAID5. Si no se harán
backups de la máquina de forma frecuente ( nocturnos ) NO USES RAID5.
> Y otro tema es el Load Balancing, necesito saber como manejar este
> punto, desconozco las variables de aplicación, es decir, los
> servidores serán básicamente servidores web que contendrán un sitio de
> alta demanda, como se configuraría el sistema para que, de llegar al
> máximo de la capacidad del servidor 1 pase al servidor 2 y asi
> sucesivamente. No se si se configura desde Ubuntu o desde Apache, me
> gustaría saber que opciones tengo para armar este esquema.
Apache tiene directrices/módulos para facilitar el load-balancing, si no recuerdo mal, mira en google, busca por
apache load balancing
El tema es que tipo de balanceo y como se aplica.
Los datos que presenta el apache son de una sola base de datos o cada
máquina tiene su propia copia de los datos sin interactuar entre ellas ?
Si fuera el primer caso, ningún problema, siempre que el módulo de
apache para el balanceo esté programado para hacer seguimiento de las
transacciones y control de quien es cada cosa. ( Si fuera este el caso
doy por entendido que el storage es común a las 2 máquinas )
Si es el segundo caso, una sesión en en nodo1 tiene que empezar y
terminar en el nodo1, no se puede fragmentar entre los N nodos del
cluster.En ese caso te recomiendo que el balanceo se haga fuera del
cluster, algo tipo round-robin ( sesion1 al nodo1, sesion2 al nodo2,
sesion3 al nodo3, etc... ) se puede hacer vía dns, con un Load
Director...
También tendrás que tener en cuenta como redirigir las nuevas sesiones
entrantes en caso de caída de un nodo.
Links interesantes:
http://www.linux-ha.org/ te permitirá pivotar las direcciones ip y/o
servicios de una máquina a otra en caso de caída de un nodoç
http://db.glug-bom.org/Documentation/HOWTO/Apache-Overview-HOWTO-7.html
módulos que dan distintos tipos de capacidad de load balancing en apache
http://bulma.net/body.phtml?nIdNoticia=1217 un poco antiguo pero sigue
siendo igual de válido. round robin con bind ( dns ) y load balancing
HTH
D.
--
http://dballester.blogspot.com
The Ubuntu Counter Project - user number # 4472
counter.li.org #206389
Más información sobre la lista de distribución ubuntu-es