viernes, 29 de mayo de 2009

Configuración de servidor dell powere...

Eduardo Marín Izquierdo- Dpto. Geografía. Universidad de Alcalá de Henares

Configuración de servidor Dell PowerEdge 2900 III, bajo Debian.


Introducción

    El departamento de Geografía de la Universidad de Alcalá de Henares, para cubrir la necesidad de disponer de un servidor de datos/web, ha adquirido dos equipos Dell PowerEdge 2900 III.

    Estos equipos vienen sin un sistema operativo preinstalado y, por tanto, debemos plantearnos qué solución elegir entre las diferentes opciones que se nos presentan.

    Dell, como alternativa de configuración, puede preinstalar los siguientes sistemas operativos orientados a servidores:

  • Microsoft Windows Server 2003 Standard Edition y Enterprise Edition.
  • Microsoft Windows Small Business Server 2003, Standard Edition y Premium Edition.
  • Microsoft Windows Server 2003 Standard Edition y Enterprise x64 Edition.
  • Red Hat Enterprise Linux AS y ES (versiones 3 y 4) para Intel x64.
  • Red Hat Enterprise Linux AS y ES (versión 4) para Intel Extended Memory 64 Technology (Intel EM64T).
  • SUSE Linux Enterprise Server 9 para Intel EM64T.

Sin embargo, ya venga preinstalada u optemos por adquirir uno de estos paquetes, aun cuando algunas de ellas son distribuciones linux, son paquetes comerciales, y, por tanto, debemos adquirir licencia.

Como alternativa, y dado que nuestro sistema no va a soportar grandes cargas de trabajo, el número de conexiones también será reducido, y los niveles de configuración que podamos llevar serán limitados, podemos optar por una distribución linux como Debian, ya que el grado de seguridad que nos brinda y de flexibilidad son altos.


Protocolo de configuración

    Los pasos que seguiremos para dejar operativo nuestro servidor como un servidor web, y de datos serán los siguientes:

  1. Configuración previa a la instalación del sistema operativo de la controladora RAID.
  2. Instalación del sistema operativo Debian 5.0 (11 de abril de 2009).
  3. Particionado de los discos virtuales (creados en el pto 1), dedicados al almacenamiento de los datos.
  4. Instalación de Webmin, servicio de administración del sistema remoto.
  5. Instalación del servidor de datos, bajo paquete Samba.
  6. Instalación del servidor Web (mysql + apache + php).

Preparando el equipo - RAID 5

    Nuestro servidor viene preparado con una controladora RAID PERC5I/6I 3-8 HDD. Gracias a este controlador, nuestro sistema tendrá un soporte RAID transparente al sistema operativo, que nos permitirá elevar la consistencia del mismo hasta los niveles Raid que nosotros escojamos.


  


    RAID (Redundant Array of Independent Disk), por definición, es un sistema de almacenamiento que utiliza múltiples discos sobre los cuales se distribuye o replican los datos. (más sobre RAID en wikipedia: http://es.wikipedia.org/wiki/RAID)

    Por su conocida relación coste/integridad/rendimiento, hemos elegido el nivel RAID 5, que permite aprovechar hasta un 75% de espacio, con un alto rendimiento.

    A continuación, detallamos los pasos necesarios para configurar la controladora RAID de nuestro servidor en un nivel RAID 5.

1. Configuración previa a la instalación del sistema operativo de la controladora RAID 


    Tras encender el equipo, estaremos atentos para pulsar las teclas CTRL + R cuando aparezca el siguiente mensaje:


    Una vez dentro de la Utilidad de configuración Perc, veremos una pantalla similar a la siguiente:


    De fábrica, (o de un estado anterior), tendremos una configuración determinada. En nuestro caso eliminaremos la configuración existente, y la adaptaremos a nuestras necesidades. 

    Para ello, basta con seleccionar la entrada en el árbol "Controller 0" y seleccionar "Clear Config":


    En caso de que exista alguna configuración "foreign", también la eliminaremos, accediendo desde la pestaña pertinente (CTRL + N).

    Con el sistema limpio, comenzamos a configurar nuestro RAID 5.

    Volvemos a la única entrada que tendrá el árbol (Controller 0):


    Desde este punto, creamos una nueva unidad virtual ("Create New VD"), que será uno de los discos duros que, más adelante, nuestro sistema operativo podrá ver.

    El siguiente paso será seleccionar el nivel RAID que queremos establecer en este nuevo grupo de discos. En nuestro caso, tanto para el SO como para el disco de datos seleccionaremos el nivel RAID 5.
    

    En este nivel, necesitamos utilizar, mínimo, tres discos duros. Para nuestro caso particular, dado que disponemos de 7 discos, seleccionaremos todos, formando así una unidad RAID con distribución de bits entre todos los disponibles.

    Con todos los discos seleccionados, el siguiente dato a aportar será el tamaño de la unidad virtual. En nuestro caso, este disco será el que contenga el sistema operativo, así como futuras aplicaciones que queramos instalar. Nosotros estableceremos un tamaño de 50GB aprox. Además, damos un nombre al disco virtual (debian, p.ej.).

    

    Esto originará la siguiente estructura en el árbol principal:


    Posiblemente, y de forma automática, comience un proceso de comprobación de la consistencia de esta unidad virtual para, más adelante, comenzar la inicialización de la unidad. Para esta unidad, que tan sólo ocupa 50GB, este proceso es rápido (el de la comprobación de la consistencia), y podemos dejar que finalice sin problemas.

    A continuación, y operando de la misma forma que la anterior unidad, crearemos la segunda y tercera, dedicadas a albergar los datos de trabajo en el sistema. (En un principio optamos por crear una única unidad de datos, pero más tarde, en Debian, por alguna razón, no es capaz de crear más de dos particiones de 2TB). Para ello, volvemos a crear una nueva unidad virtual ("Create New VD"), seleccionando de forma obligatoria RAID 5, y todos los discos disponibles. El tamaño de la segunda unidad será de 4TB, y de la tercera del resto del espacio sobrante. Tendremos en cuenta de que si estamos trabajando con más discos, y en Debian, intentaremos no crear unidades virtuales de más de 4TB. Así, etiquetaremos las dos unidades como "data1" y "data2".
    

    En este punto, y al igual que con la anterior unidad virtual, puede iniciar el proceso de comprobación de consistencia. Para esta unidad este proceso es muy lento (días), y, dado que partimos de un sistema nuevo, podemos omitir este paso (para equipos con ciclo de trabajo ejecutado, es recomendable respetarlo). El paso que no debemos omitir será el de la inicialización de las unidades (que para el caso de la primera puede haberse completado, aunque para asegurarnos, no está de más volver a realizarlo). Para ello, y para cada unidad, seleccionamos la entrada en el árbol, y pulsando F2 - Operations, seleccionamos "Initialization -> Start Init.":


    Nos debería quedar una estructura como la siguiente (con tres unidades virtuales en vez de 2):


    Finalizamos así la configuración del sistema RAID, pulsando la tecla "ESC" y confirmando la salida.

    Ahora tendremos dos unidades virtuales, una de 50GB para albergar nuestro SO y otra de 5,4 TB para los datos de trabajo.

    
2. Instalación del sistema operativo Debian 5.0 (11 de abril de 2009).

    El siguiente paso será instalar como sistema operativo la versión 5.0 de Debian. 

    Para ello, partiendo del DVD 1 que habremos descargado desde la página oficial, reiniciaremos el sistema para su carga. Cuando nos pregunte por las opciones disponibles, seleccionaremos "Install":


     El siguiente paso será seleccionar el lenguaje, país, y distribución de teclado.
    
    Tras estos preliminares, posiblemente nos pregunte sobre un controlador o firmware comercial no libre que debe cargar desde un dispositivo externo (disquete o USB) llamado "bnx2-06-4.0.5.fw". Este archivo hace referencia a la controladora ethernet "Broadcom NetXtrem II", cuyos archivos no vienen incluidos en esta distribución de Debian. La descargaremos desde aquí  (http://www.megaupload.com/?d=U496MTA8) y guardaremos el archivo en un disquete o usb (raíz). Cuando nos pida confirmación, confirmaremos que deseamos cargar el controlador:


    Seleccionaremos como interfaz de red primaria una de las dos, (debemos asegurarnos de que tenemos conectada dicha interfaz a la red, pues más adelante necesitaremos descargar archivos de internet):


    A continuación daremos nombre a nuestro equipo (debian p.ej.), y nos pedirá nombre de dominio (posiblemente lo detecte de forma automática). También nos preguntará por nuestra zona horaria, y el siguiente paso será el particionado de las unidades virtuales.

    Para instalar debian, necesitamos montar toda la estructura de directorios en una partición adecuada al sistema linux. Para ello, y partiendo de la unidad virtual, crearemos dos particiones necesarias para el sistema.

    Para ello, como método de particionado seleccionaremos la forma "manual":



    A continuación seleccionamos la unidad adecuada (en nuestro caso, la de 50 GB - sda):


    Cuando nos pregunte si deseamos crear una nueva tabla de particiones aceptaremos, y a continuación, seleccionando el espacio libre disponible, configuraremos nuestra primera partición.

    En esta partición, albergaremos todo el sistema, y lo montaremos en "/". Tenemos que tener en cuenta que hay que dejar espacio suficiente para el área de intercambio (swap), aproximadamente 2GB:

 
    

    Establecemos esta partición como "primaria" y la emplazamos al "Principio". Como punto de montaje nos aseguramos de que quede en / :


    Terminamos de definir la partición y a continuación crearemos una nueva, con el espacio restante, como área de intercambio (swap).

    Para ello, igual que antes, seleccionamos el espacio libre restante, establecemos el tamaño máximo existente, y en la configuración de la partición, seleccionando "utilizar como:", modificaremos para establecer la misma como "área de intercambio":



    Automáticamente se establecen los parámetros adecuados para este tipo de partición, y tan sólo nos queda "Se ha terminado de definir la partición":


    Saldremos del particionado, seleccionando "Finalizar el particionado y escribir los cambios en el disco":


    Confirmaremos que deseamos escribir los cambios en el disco, y el proceso  de instalación continuará.

    El siguiente paso será introducir datos de administración (clave de superusuario, nombre de cuenta de usuario principal, clave de dicha cuenta y sus respectivas confirmaciones).

    Por último, analizaremos la consistencia del dvd antes de la instalación, confirmaremos que deseamos utilizar réplica en red (configurando proxy en caso de que lo necesitemos), y, opcionalmente, confirmamos si deseamos enviar estadísticas del uso de Debian.

    Como programas a instalar, y de momento, tan sólo seleccionaremos los que vienen por defecto ("Entorno de escritorio" y "Sistema estándar").

    Después de confirmar la instalación del cargador de arranque Gurb, la instalación comenzará y, al cabo de unos minutos, cuando finalice, confirmamos que deseamos "continuar". Extraemos el dvd y reiniciaremos el equipo.

    Nuestro sistema Debian estará listo para arrancar.

3. Particionado del disco virtual (creado en el pto 1), dedicado al almacenamiento de los datos.

    El siguiente paso, una vez arrancado Debian y logueado correctamente, será configurar correctamente la unidad virtual que habíamos configurado en el paso 1 para albergar los datos. Esta partición, de unos 5,4TB, debe ser particionada y montada al arrancar debian. Para ello, lo primero que debemos hacer es configurar correctamente la tabla de particiones.

    En "Terminal", introducimos:


debian:/home/becario# fdisk -l

Disco /dev/sda: 53.6 GB, 53686960128 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000a7520

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sda1               1        6322    50781433+  83  Linux
/dev/sda2            6323        6527     1646662+  82  Linux swap / Solaris

Disco /dev/sdb: 4398.0 GB, 4398046248960 bytes
255 heads, 63 sectors/track, 534698 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000edf7c

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema

Disco /dev/sdc: 1546.1 GB, 1546188619776 bytes
255 heads, 63 sectors/track, 187980 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000bb88a

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema


    Podemos comprobar como, para la unidad virtual sda de 53,6GB existe una tabla de particiones que fue la que creamos al instalar Debian.

    En cambio, para la unidad virtual sdb y sdc, no existe tabla alguna.

    Para crear la tabla de particiones en sdb (recordemos que habíamos dado 4TB de espacio), haremos uso del editor de particiones gráfico (aunque puede usarse cfdisk o fdisk):

    Añadimos dos particiones de tamaño máximo 2TB (2097152 MB). En este punto, tal vez pueda dar problemas la creación de particiones. En vez de crear las dos particiones del primer disco duro a la vez, podemos crear la primera, aplicar los cambios, y después crear la segunda.


Operamos de la misma forma con la segunda unidad virtual de datos, esta vez, particionando todo el espacio disponible (que en nuestro caso será menor que 2TB).



   Ya tenemos la tabla de particiones para las dos unidades configuradas correctamente. El único paso que nos queda es configurar el montaje de esta nueva unidad de forma automática al arrancar el sistema.

    Para ello, desde consola, creamos primero el directorio donde se montará esta partición, y después editamos fstab:     
   
       
        debian:sudo mkdir /mnt/data1
        debian:sudo mkdir /mnt/data2
        debian:sudo mkdir /mnt/data3
        debian:sudo gedit /etc/fstab
    
    Y en archivo fstab, añadimos al final la siguiente línea:

        /dev/sdb1    /mnt/data1    ext3    rw,user,auto    0    1
        /dev/sdb2    /mnt/data2    ext3    rw,user,auto    0    1
        /dev/sdc1    /mnt/data3    ext3    rw,user,auto    0    1


4. Instalación de Webmin, servicio de administración del sistema remoto.  

    Para facilitar el acceso a la gestión del servidor de forma remota, y como apoyo al "escritorio remoto" que más tarde configuraremos, instalaremos el servicio de administración Webmin.

    Para ello, desde consola, descargamos el paquete:

    debian: sudo wget http://prdownloads.sourceforge.net/webadmin/webmin_1.450_all.deb

    Instalamos las dependencias necesarias:

    debian: sudo aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

    Y finalmente instalamos webmin:

    debian: sudo dpkg --install webmin_1.450_all.deb

    Finalmente, debemos cambiar la contraseña que, por defecto, establece webmin:

    debian: sudo /usr/share/webmin/changepass.pl /etc/webmin usuario mipassword

    Podremos, entonces, acceder vía web (de forma local, o remota tras oportunas configuraciones), a la gestión del servidor:




5. Instalación del servidor de datos, bajo paquete Samba.

    Bajo sistemas Windows, la forma de intercambiar archivos (dejando de lado servicios ftp, sftp o http) se lleva a cabo bajo las herramientas que éste ofrece para "compartir carpetas".

    En linux, esta capacidad se puede conseguir gracias a diversas utilidades que nos ofrecen servidores como SAMBA.

    Para ello, debemos instalar tanto SAMBA como dependencias necesarias para el correcto funcionamiento.    

    Desde consola:


        debian: sudo aptitude update
        debian: sudo aptitude dist-upgrade
        debian: sudo aptitude install samba smbclient winbind krb5-doc krb5-user krb5-config


    En este proceso de instalación, se nos preguntará sobre el nombre del grupo de trabajo donde queremos que aparezcan las carpetas compartidas. Si deseamos instalar la compatibilidad con servidores WINS (homólogo a DNS), confirmamos y continuamos.

    Nos preguntará también sobre el nombre del servidor Kerberos, que será el que ofrezca capacidad de autenticación en las comunicaciones. Introduciremos un nombre en las dos peticiones que nos realice (en la segunda, por defecto tomará el primer nombre).

    El siguiente paso será configurar SAMBA mediante su archivo de configuracion, y establecer algún directorio compartido. Para nuestro caso particular, en el que hemos montado el servidor de datos, principalmente, para este acometido, lo lógico es situar los directorios a compartir en las particiones para ese propósito, es decir, en las particiones "data1", "data2" o "data3".

    Para ello, y como archivo de configuración de prueba:

        debian: sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
      debian: sudo gedit /etc/samba/smb.conf
     
    
[global]
workgroup = GEOGRAFIA
server string = %h server
obey pam restrictions = Yes
passdb backend = tdbsam
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d

[homes]
comment = Home Directories
valid users = %S
create mask = 0700
directory mask = 0700
browseable = No

[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
browseable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers

[datos1]
path = /mnt/data1/datos1
read only = No
create mask = 0770
directory mask = 0770


    En este archivo de configuración, que estará correctamente formado tras la instalación anterior, tan sólo hemos modificado el nombre del grupo de trabajo (por defecto se encontraba como "WORKGROUP"), y la sección final ([datos1]), relativa a una carpeta de prueba que vamos a compartir. Esta carpeta se encontrará en /mnt/data1/, tendrá permisos de lectura y escritura, y establecemos las máscaras de permisos para creación de archivos y directorios propios al usuario.

    Comprobaremos que la sintáxis es correcta desde consola:


        debian: sudo testparm

    Una vez hecho esto, tan sólo nos quedaría crear un usuario de prueba, que podrá acceder al directorio "datos1" configurado en el paso anterior.

    Para ello, primero debemos crearlo en el sistema:


        debian: sudo adduser miusuario

    Tras ingresar su contraseña y confirmación, así como posibles datos para este usuario, debemos crear el usuario para samba:

        debian: sudo smbpasswd -a miusuario
    
    Al igual que antes, insertamos de nuevo la misma contraseña anterior y confirmación.

    Por último, crearemos el directorio datos1 en /mnt/data1 y cambiaremos permisos de escritura lectura y el propietario del mismo:

          debian: sudo mkdir /mnt/data1/datos1
        debian: sudo chmod 777 /mnt/data1/datos1
        debian: sudo chown miusuario /mnt/data1/datos1

    Finalmente, reiniciamos el servidor samba:

        debian: sudo cd /etc/init.d
      debian: sudo ./samba restart

    
  
    Podremos, entonces, ver desde una máquina remota, el equipo y el directorio compartido tras identificarse correctamente como el usuario "miusuario".


6. Instalación del servidor Web (mysql + apache + php).

    El último paso en nuestra configuración para el servidor PowerEdge, será la instalación del servidor Apache + Mysql + PHP (destinado, en principio, a albergar un sistema DRUPAL).

    Desde consola, obtenemos los paquetes necesarios:

        debian: apt-get install apache2
        debian: apt-get install php5
        debian: apt-get install php5-mysql
        debian: apt-get install php5-gd
        debian: apt-get install libapache2-mod-php5
        debian: apt-get install mysql-server-5.0
        debian: apt-get install mysql-client-5.0
        debian: apt-get install phpmyadmin

    La instalación es automática y tan sólo habrá que introducir la contraseña de administrador para mysql.

    Comprobaremos que funciona correctamente nuestro servidor php. Para ello creamos en /var/www, un archivo info.php que contenga la siguiente línea: 

        <?php  phpinfo(); ?>

    Y después, desde navegador web, accedemos a http://localhost/info.php, donde debería aparecernos la configuración correcta del servidor.


domingo, 3 de mayo de 2009

Rutas Saltamontes se muda.

Hasta ahora hemos estado recopilando nuestras rutas bajo el formato blog que hasta ahora acostumbrábais a leer.

Para facilitar el acceso a las rutas estrenamos página: rutas-saltamontes.com