03 marzo 2005

Instalación Servidor Flytech SuperServer 5013C-T

Operativa de instalación de máquinas Flytech con Serial ATA y RAID por Software.

- El servidor a instalar es un SuperServer 5013C-T


- El sistema elegido para instalar es Gentoo Linux, dada la velocidad de estos servidores hemos elegido la instalación mínima para comenzar desde el stage-1.

Que los discos sean SATA no supone ningún problema ya que el sistema operativo lo soporta bien, el problema viene cuando queremos aprovechar el soporte RAID que tiene el equipo. Aunque nos dicen que es una controladora RAID, realmente es un RAID por software. Además no es accesible desde Linux nativamente sino que deberíamos cargar unos módulos en el kernel, que lo único que hacen es darnos soporte a datos. En muchos documentos se encuentra que la gente ha instalado en la misma máquina Windows y Linux, con lo cual, crean el RAID desde Windows y simplemente acceden a esos datos desde Linux.
En nuestro caso nostros queremos el sistema en un RAID 1, y como no podemos con los medios que nos trae el servidor lo haremos mediante una instalación de RAID por software.

Los pasos realizados son los siguientes:

  • Entramos en la bios RAID del sistema. Después de ver los textos de la bios normal, vemos unos mensaje de los volúmenes RAID del sistema. Pulsamos [Ctrl-I] con lo cual entramos en las utilidades RAID del Servidor. Aquí borramos el volumen RAID eligiendo la opción 3 (En caso de que tenga alguno activado).
  • Reiniciamos la máquina y entramos en la bios normal. Aquí buscamos las opciones avanzadas de Chipset para cambiar RAID por IDE. En el modo SATA tenemos puesto "Enhanced", que por lo visto es válido para PATA y SATA. Si no fuera bien podría probar "Pure SATA".
  • Por fin iniciamos con el CD minimal de Gentoo.
  • Configuramos la red con #net-setup eth0. Añadimos un servidor de nombres con #echo "nameserver 80.58.0.33" > /etc/resolv.conf. Probamos el ping y vemos que va la red. Si no fuera tendríamos que estar mirando los puertos o si hay algún problema de red, ya que lo necesitamos.
  • Tenemos que particionar. Como los discos son SATA el sistema de instalación y el kernel 2.6 hace que se nombren como si fueran scsi, con lo cual vamos a tener /dev/sda y /dev/sdb.
La estructura que vamos a crear para raid va a ser así:
/boot -> 250 Mb
/swap -> 4096 Mb
/ -> 4096 Mb
/resto -> resto

Lo que vamos a hacer es crear los volúmenes raid para estos espacios, luego ya pondremos las particiones que faltan.
Una vez creados los sistemas de ficheros de los dos discos tenemos que cambiar el tipo de partición de todos por "fd" que es "Linux array" (Ver foto).
  • Creamos los dispositivos RAID así: mknod /dev/md0 b 9 0
mknod /dev/md1 b 9 1
mknod /dev/md2 b 9 2
mknod /dev/md3 b 9 3


  • Creamos los array raid donde vamos a tener las particiones:

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
mdadm --create --verbose /dev/md2 --level=2 --raid-devices=2 /dev/sda3 /dev/sdb3
mdadm --create --verbose /dev/md3 --level=3 --raid-devices=2 /dev/sda4 /dev/sdb4


mdadm es una herramienta para manejar las particiones por software RAID. "Level" le indica el tipo de RAID que queremos hacer y "raid-devices" los dispositivos que forman este array, lógicamente.
Ahora hay que esperar a que termine de hacer la inicialización de los arrays.
Los de cuatro megas son rápidos, pero para los otros hay que tener un poco de paciencia.

Una vez finalizado el proceso editamos /etc/mdadm.conf y ponemos dentro:

DEVICE /dev/sda*
DEVICE /dev/sdb*
ARRAY /dev/md0 devices=/dev/sda1,/dev/sdb1
ARRAY /dev/md1 devices=/dev/sda2,/dev/sdb2
ARRAY /dev/md2 devices=/dev/sda3,/dev/sdb3
ARRAY /dev/md3 devices=/dev/sda4,/dev/sdb4


  • Creamos el sistema de archivos de la partición boot
mke2fs -j /dev/md0

  • Creamos el swap
mkswap /dev/md1
swapon /dev/md1


  • Cramos el sistema de archivos root con reiserfs
mkereiserfs /dev/md2

  • Lanzamos el módulo LVM2

modprobe dm-mod

  • Para evitar escaneado innecesario creamos lvm.conf con un filtro de dispositivos:

mkdir -p /etc/lvm
echo 'devices { filter=["r/cdrom/" }' > /etc/lvm/lvm.conf


  • Scaneamos la partición LVM
vgscan

Está bien que no encuentre nada, si no te ha salido a la primera y estás en el segundo intento, también
es lógico que te encuentre el volumen ya creado.

  • Creamos el volumen físico LVM en md3

pvcreate /dev/md3

  • Creamos el grupo de volúmenes VG

vgcreate vg /dev/md3

Ignoramos los errores "/etc/lvm/backup: fsync failed: Invalid argument" por ahora
  • Creamos los particiones en la partición extendida, luego las podemos ampliar:
lvcreate -L10G -nusr vg
lvcreate -L5G -nhome vg
lvcreate -L5G -nopt vg
lvcreate -L10G -nvar vg
lvcreate -L2G -ntmp vg


  • Creamos el sistema de archivos en las particiones
mkreiserfs /dev/vg/usr
mkereiserfs /dev/vg/home
mkereiserfs /dev/vg/opt
mkereiserfs /dev/vg/var
mkereiserfs /dev/vg/tmp


  • Creamos los puntos de montaje y montamos el sistema:
mount /dev/md2 /mnt/gentoo
mkdir /mnt/gentoo/boot
mkdir /mnt/gentoo/home
mkdir /mnt/gentoo/usr
mkdir /mnt/gentoo/opt
mkdir /mnt/gentoo/var
mkdir /mnt/gentoo/tmp
mount /dev/md0 /mnt/gentoo/boot
mount /dev/vg/usr /mnt/gentoo/usr
mount /dev/vg/home /mnt/gentoo/home
mount /dev/vg/opt /mnt/gentoo/opt
mount /dev/vg/var /mng/gentoo/var
mount /dev/vg/tmp /mnt/gentoo/tmp


  • Hacemos un stage 3 como trae el handbook de gentoo teniendo en cuenta que deberíamos copiar nuestra información de mdadm
cp -L /etc/mdadm.conf /mnt/gentoo/etc/mdadm.conf

Despues de todas historias debemos tener en cuenta varias cosas.
Debemos compilar el soporte para raid 1 en el kernel
Debemos compilar LVM2 como módulo (yo lo he hecho monolítico)
Instalar algunas herramientas

emerge raidtools
emerge mdadm
emerge lvm2
emerge reiserfsprogs

  • El fstab quedaría así:
/dev/md0                /boot           ext3            noauto,noatime          1 1
/dev/md2 / reiserfs noatime 0 0
/dev/md1 none swap sw 0 0
/dev/vg/usr /usr reiserfs noatime 0 0
/dev/vg/var /var reiserfs noatime 0 0
/dev/vg/opt /opt reiserfs noatime 0 0
/dev/vg/tmp /tmp reiserfs noatime 0 0
/dev/vg/home /home reiserfs noatime 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0



También hay que arreglar el /etc/lvm/lvm.conf para que inicie rápido
añadiendo esto:


nano -w /etc/lvm/lvm.conf
#fill it with following
devices {
scan=["/dev/md"]
filter=["a|^/dev/md/3$|","r/.*/"]
}


Para aaaa
dd
  • Instalación de Grub.
Se instala como siempre, pero hay que tener en cuenta dos cosas a la hora de instalarlo en el mbr. Hay que instalarlo en el mbr de los dos discos, con lo cual una vez ejecutada la linea de comandos de grub ejecutaríamos esto:

#setup MBR on /dev/hda
root (hd0,0)
setup (hd0)
#setup MBR on /dev/hdg
device (hd0) /dev/hdg
root (hd0,0)
setup (hd0)


En mi caso la configuración que tengo del grub.conf es ésta:

# For booting GNU/Linux
title GNU/Linux
root (hd0,0)
kernel /vmlinuz root=/dev/md2
#initrd /initrd.img


Práticamente todo el material está sacado del Wiki de Gentoo, pero quería añadir mis
cosillas con discos SATA.

Además está por completar y tengo que mostrar la configuración del kernel.



No hay comentarios: