22 marzo 2005

Instalación Servidor Flytech SuperServer 5013C-MT

Básicamente la instalación es como la que que tengo en la otra anotación . En este sin embargo tuve algunos problemillas.
Cuando me dispuse a comentar la instalación no contaba con algunos problemas logísticos, aunque graves. Después de deshacer el array raid cuando comienzo la instalación, resulta que no me detecta los discos duros.
Intenté que me los detectara de todas las maneras, cambiando parámetros en la bios, cambiando de distribución, estuve buscando documentación, pero nada, no había manera.
El problema venía de la controladora SATA Marvel de la que no tenía módulo en el kernel. Al parecer tienen unos módulos para el kernel 2.4, pero por lo que estuve leyendo, ellos te daban las instrucciones para instalarlo si tienes un disco ide además, es decir, primero instalas de la manera normal, y luego compilas el módulo del kernel para tener acceso a los discos, obviamente se tiene acceso a discos como dispositivo de almacenamiento, sin opción a instalar el sistema completo.
Tras leer bastante encontré que podía acceder a los discos también por medio de la controladora SATA de Intel.
De este modo he conseguido que arranquen los discos, tras perder un día en luchar con el cacharro ;-)

Peligros VoIP

He leido en barrapunto que la voz sobre ip es fácilmente interceptable. Eso no es de extrañar, si pensamos que la comunicación precisamente se hace a través de internet. También ssh es fácilmente interceptable, aunque no por ello descifrable. De todos modos es lógico que esto ocurra en VoIP contando con que es una tecnología muy nueva. El enlace completo a la noticia es éste.Link

16 marzo 2005

Experiencias con Windows 2003 Server

He tenido que instalar un Windows XP 2003 Server, o como se llame. Va a tener una base de datos encriptada....blah, blah, blah...., cualquier sistema con Windows en mi opinión no puede ser seguro partiendo del punto de que es susceptible de tener virus, debido a la arquitectura del sistema operativo. Por supuesto que también la mayoría de los virus se hacen para Windows, pero hay que notar que en windows un usuario normal puede hacer cosas que en otros sistemas no podría hacer ni por asomo, y por ejemplo la instalación de cotroles Active X no era cosa del usuario sino del sistema...., en fin mis impresiones....

Lo primero que me ha hecho gracia es que Windows con sus propias controladoras Adaptec de instalación no me reconocía el RAID ni los discos ni nada, 1-0 a favor de linux que a 32 bits si que los reconocía. Tuve que entrar con el disco de arranque de la controladora, y sorpresa!!!!, para arrancar un minisistema funcional con ventanas arrancan un kernel linux con X-Window...juas juas, si es que al final linux vale para algo. Ahí me sale un menú para generar disco de controlador para WinXP (lo más reciente), lo genero, reinicio el sistema y pulso F6 para indicar al sistema de instalación que tengo un disco de controladores del fabricante.
Cuando me pide que introduzca el disco, otra leve sonrisa, me dice que el sistema tiene un controlador más reciente, o sea que si utilizo el controlador reciente no tengo disco, pero si utilizo el anticuado si que lo tengo; utilizo el antiguo.

Bueno instalo Windows como siempre más o menos, eso si que es un 1-1 para Windows que el sistema de instalación es siempre el mismo (para el que ya lo conoce).
Y ahora empieza el festival, recordemos que estoy instalando un servidor. Me advierte unas 50.000 veces sin exagerar que el driver del disco no está firmado por Microsoft, si le hago caso, me quedo sin instalación. Termina la instalación. Me permite añadir el IIS 6.0 que en esta versión no lo instala por defecto, y sorpresa!!!, después de media hora me doy cuenta que no reconoce los drivers de las tarjetas Giga, con lo cual, tengo que meter más controladores, que tampoco están firmados digitalmente.
Cuando ya tengo todo funcionando, o casi todo, porque tuve que meter drivers de controladores de interrupciones, instalo todas las actualizaciones que hay en windows update, y taraaaaaaaan!!!, el sistema me pide reiniciar, lo cual es cojonudo porque indica que si un servidor windows tiene un uptime muy alto es inseguro respecto al software que tiene, y si tiene un uptime como máximo de dos meses, que están realizando las actualizaciones acumulativas...., no es triste???.

Eso sí, si se lee un poco del librito que viene con el sistema operativo, se pueden ver unas 20 o 30 páginas con novedades, y con lo bueno que es que el sistema incorpora esto, aquello y lo de más allá..., casi todas las novedades de Windows están implementadas en linux desde hace años, y además no hace falta reiniciar cada vez que se hace una actualización de seguridad. Sólo hace falta reiniciar en el caso de recompilación del kernel. Que Windows lo puede manejar cualquiera?, pues bueno, pues vale, que cualquiera maneje los servidores windows, que yo preferiría contratar a profesionales... ;-), si no, nos quedamos sin trabajo.....

10 marzo 2005

Problemas a 64 bits

He sido incapaz de instalar Gentoo con los procesadores Intel Xeon con tecnología EM64T.
Comenzando la instalación con el "live cd" de 32 bits no tenía ningún problema, bueno uno sólo, y era que no me reconocían los 4 GB de RAM y sólo me reconocían 3 y pico.
Comenzando la instalación con el "live cd" de 64 bits es decir el de AMD64, me reconocía los 4 GB de RAM, pero no me reconocía ni dispositivos RAID, ni dispositivos SCSI, con lo cual cuando quería particionar me decía que no tenía disco. Lo intenté cargando varios módulos, y nada de nada.

Supongo que el problema viene de la migración del controlador a 64 bits, estuve hablando con un desarrollador de Gentoo AMD64 un tal "Parker" y me dijo que estaban arreglando problemillas que tenían en "udev" antes de sacar una nueva versión del "live cd". De todos modos estuvo intentándolo conmigo hasta que se dio por vencido, con la puñetera controladora ADAPTEC.

Bueno ahora tengo el sistema con Hyperthreading con 4 procesadores y los 4 GB de RAM (esto después de cambiar los máximos del kernel a 64Gb de RAM).

Escribiré sobre la instalación de servidores otro día.

08 marzo 2005

Gentoo con los nuevos Intel Xeon con optimizaciones EM64T

Buscando información sobre compilaciones en plataformas intel de 64 bits sólo encontraba información sobre el AMD64. He encontrado diversos sitios en los que indican que para instalar los nuevos procesadores Xeon hay que hacer la instalación de AMD y que así funciona.

En la página de wiki de Gentoo he encontrado un "Cómo" que nos indica cómo compilar el kernel con las extensiones de 64 bits de Intel.

Las modificaciones al make.conf serían estas:

make.conf settings

CFLAGS="-O2 -march=nocona -pipe"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

USE="nptl multilib apache2" # This was used for a server running apache


En el kernel habría que seleccionar estos valores:

Kernel Options

Setting the correct Processor Family:

( ) AMD-Opteron/Athlon64

(X) Intel x86-64

( ) Generic-x86-64

04 marzo 2005

Detectando Fallos en array por Software

La información presentada está recogida del Software Raid HOWTO
  • Consultando el estado de los arrays.
Para ello lo primero que habrá que hacer es echar un vistazo rápido a "/proc/mdstat" y nos dará un rápido diagnóstico de cómo está funcionando el sistema en RAID.
Por ejemplo:

Personalities : [raid1]
              read_ahead 1024 sectors
md5 : active raid1 sdb5[1] sda5[0]
4200896 blocks [2/2] [UU]

Tenemos que buscar los números que están entre corchetes [#/#]. Estos números nos van a indicar [número de discos en el array / número de
discos activos].

El número de que aparece después de cada dispositivo simplemente indica su posición en el Array.
Si hay un disco roto, después del número de posición aparecerá una F.

Los comandos para ver el estado de los arrays serían:

mdadm --detail /dev/mdx
lsraid -a /dev/mdx

Donde la x indica el número de dispositivo.

  • Simulando un fallo en disco
Para simular un fallo por hardware hay que apagar el ordenador, desenchufar un disco y encenderlo otra vez. No se hace con el encendido porque se podrían quemar componentes, a menos que el ordenador esté preparado para hotswapping. Con el mdadm veríamos cómo tenemos la unidad fallando.

Para simular un fallo por software haríamos:

raidsetfaulty /dev/md1 /dev/sdc2

y eso hace el disco /dev/sdc2 falle en el array /dev/md1. El equivalente a esto en mdadm es

mdadm --manage --set-faulty /dev/md1 /dev/sdc2

Ahora veríamos cómo se empiezan a generar varios fallos en el los logs.
Si hay discos libres pertenecientes al RAID podríamos ver cómo comienza la reconstrucción con dos comandos, o bien lsraid de las raidtools, o bien el mdadm:

    lsraid -a /dev/md1 
    mdadm --detail /dev/md1
  • Simulación de Corrupción de datos
El sistema RAID no está pensado para comprobar la integridad los datos. También es difícil corromperlos en un RAID, pero si se corrompen el sistema RAID no lo va a detectar.

  • Monitorización de Sistemas RAID
Mdadm se puede utilizar para monitorizar las particiones RAID y generar eventos, ya sean enviar alertas por mail, ejecutar algún programa en concreto, etc...

mdadm --monitor --mail=root@localhost --delay=1800 /dev/md2

Con este comando estamos diciendo a mdadm que monitorize el dispositivo /dev/md2 cada 1800 segundosy además que envíe el resultado a root@localhost.

nohup mdadm --monitor --scan --daemonise --mail=root@localhost /dev/md0 /dev/md1 &

Hacemos que se demonice la monitorización, que por defecto no está demonizada

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.



Servidores

De vuelta de los países bajos me he decidido por Gentoo, en el siguiente post que será un how to explicaré todo.