Diferencia entre revisiones de «Instalacion/automatizada»
(→Instalación Automatizado del SO) |
(→Instalación Automatizado del SO) |
||
Línea 155: | Línea 155: | ||
*Ejecutar /usr/sbin/fai que controla el resto del proceso (los pasos siguientes, por lo tanto, son | *Ejecutar /usr/sbin/fai que controla el resto del proceso (los pasos siguientes, por lo tanto, son | ||
− | iniciados por este script); | + | #iniciados por este script); |
*Copiar el espacio de configuración desde el servidor a /fai/; | *Copiar el espacio de configuración desde el servidor a /fai/; | ||
Línea 161: | Línea 161: | ||
*Ejecutar fai-class. Se ejecutan en orden los scripts /fai/class/[0-9][0-9]* y devuelve los nombres de | *Ejecutar fai-class. Se ejecutan en orden los scripts /fai/class/[0-9][0-9]* y devuelve los nombres de | ||
− | «clases» que aplican a la máquina siendo instalada; esta información servirá como base para los pasos | + | #«clases» que aplican a la máquina siendo instalada; esta información servirá como base para los pasos |
− | siguientes. Esto permite cierta flexibilidad en la definición de los servicios a instalar y configurar. | + | #siguientes. Esto permite cierta flexibilidad en la definición de los servicios a instalar y configurar. |
*Obtener una cantidad de variables de configuración, que dependen de las clases relevantes; | *Obtener una cantidad de variables de configuración, que dependen de las clases relevantes; | ||
Línea 169: | Línea 169: | ||
*Particionar los discos y dar formato a las particiones basándose en la información provista | *Particionar los discos y dar formato a las particiones basándose en la información provista | ||
− | por /fai/disk_config/clase; | + | #por /fai/disk_config/clase; |
*Montar dichas particiones; | *Montar dichas particiones; |
Revisión del 22:44 15 abr 2014
Contenido
Tema
Instalación y configuración de un sistema de instalación automatizada y gestión de configuración.
Preámbulo
En los modelos de administración de centro de computo existen una gran variedad de guías para implementar, estas guías se basan principalmente en el aspecto organizacional y físico del centro de computo, dejando fuera la administración de los recursos de software que las estaciones posean así como la instalación automatizada de los sistemas operativos. En ese sentido, en el ámbito de software libre, se tienen varios enfoques para la instalación y la gestión de configuraciones. Entre los enfoques de instalación del sistema operativo tenemos:
- Instalación manual: El cual consiste en la instalación manual de cada estación de trabajo, instalado estación por estación; configurando los usuarios, software adicionales y claves maquina por maquina.
- Instalación por semilla [1]: Instalación guiada, donde el administrador desarrolla unas reglas de configuración inicial (preconfiguración) así como del software inicial que se desea instalar.
- Instalación por imágenes de disco: Se hace creando una imagen basada en una máquina patrón y luego desplegando dicha imagen en los sistemas objetivo.
- Instalación automatizada [2]: Instalación sin asistencia de una persona que configure todas las opciones que se desea, donde solo se carga el medio de instalación y no se ingresa ninguna configuración.
Enfoques de administración de configuraciones:
- Configuración manual: Configuración de sistemas de forma manual e independiente, teniendo que configurar maquina por maquina.
- Configuración automatizada: El administrador describe las configuraciones que quiere aplicar a cada
Problemática
En la Universidad Luterana se cuenta con cuatro centros de computo, estos son:
Computo | Ubicación | Sistema Operativo | No Maquinas |
---|---|---|---|
Uno | Final de Gradas | Debian | 23 |
Dos | Al par de la unidad de informática | Debian | 15 |
Tres | Frente a la unidad académica | Centos | 10 |
Cuatro | Frente a baños y computo 1 | Ubuntu | 40 |
Total | 88 |
La cantidad de computadoras en toda la Universidad Luterana, abonado a una falta de personal dedicado a a función de soporte técnico, produce que los centros de computo se encuentren en un estado no óptimo para desarrollar las clases. Dentro de los problemas identificados se encuentran:
- Falta de conocimiento : La causa de este problema se da por no dar ha conocer el estado de los centros de computo a los docentes antes de iniciar el ciclo de estudios.
- Falta de Documentación: Por el momento no se cuenta con un documento o sitio que muestre cuales programas están instalados en cada centro de cómputo.
- Falta de Manuales de instalación. : No se cuenta con un instructivo de instalación/configuración de los equipos que sirva de apoyo para conocer el estado de los centros de computo y los programas que están instalados.
- Falta de controles: Esto se refiere a que no se cuenta con un método para tener un mejor control de los centros de computo y su óptimo funcionamiento.
- Falta de soporte técnico inmediato: No se cuenta con personal técnico que brinde soporte en los centros de computo al instante, ya que a veces se necesitan nuevas aplicaciones para uso de los estudiantes y los docentes, al no contar con asistencia, dan instrucciones a los estudiantes para instalar programas que ya están instaladas e incluso instalan otras versiones que durante o después de la instalación dan conflicto entre ellas. Esto procedimiento dificulta el desarrollo de la clase de forma efectiva.
Justificación
Ejecutar una instalación automatizada en los centro de cómputo de la Universidad Luterana Salvadoreña significa reducción de tiempo y uso eficiente de los recursos que cuenta dicha institución, con el objetivo de dar una educación de calidad obteniendo mejores resultados en las sesiones educativas.
Ya que en algún momento los centros de cómputo están en mal estado su instalación y la configuración de los programas educativos. Esto dificulta la enseñanza de los alumnos.Ademas implica que los encargados de soporte técnico tienen que hacer una nueva instalación y debe ser ordenador por ordenador y es un trabajo que requiere mucho tiempo.
Con el proyecto de instalación automatizada se pretende tener en mejores condiciones los equipos informáticos en su configuración e instalaciones de las herramientas que los alumnos requieren para su enseñanza. Y a las personas que se encargan del soporte técnico no se les dificulte al momento de dar mantenimiento a los equipos obteniendo mejores resultados en menor tiempo.
Instalación Automatizado del SO
pendiente editar
Instalación de debían usando FAI
Muchos administradores de grandes servicios IT,necesitan herramientas para instalar (o reinstalar)
rápidamente, y automáticamente nuevos equipos. Como ya sabemos se puede instalar un sistema Debian desde
diferentes medios siempre que lo permita el BIOS del equipo. Puede iniciar desde un CD-ROM, una llave USB,
crear una imagen basada en una máquina patrón y luego desplegando dicha imagen en los sistemas objetivo.
Aunque existe una forma más eficiente para estos casos y es la instalación desde la red.
Aunque para eso se requiere que las máquinas objetivo sean homogéneas, saber la arquitectura del equipo. de
lo contrario necesitará tener y administrar diferentes configuración (arquitectura de sistema a instalar),
para eso debe elegir la versión apropiada, Si soporta sistemas amd64. En otros casos de i386 (32 bits).
Para su instalación se recomienda un mínimo de 512 MB de RAM y 5 GB de disco duro en un equipo de
escritorio para oficina.
Instalación a través de arranque por red.
En nuestra instalación por arranque por red debemos verificar si nuestro BIOS de nuestros clientes permiten
arrancar directamente desde la red, descargando un núcleo y una imagen mínima para usar como sistema de
archivos Este método (que tiene varios nombres como arranque PXE o TFTP). Este método de instalación
funciona en dos pasos. Primero, al arrancar el equipo, el BIOS (o la placa de red) hace una solicitud
BOOTP/DHCP para adquirir una dirección IP automáticamente.Cuando un servidor BOOTP o DHCP envía una
respuesta, incluye un nombre de archivo además de la configuración de red. Luego de configurar la red, el
equipo cliente hace un pedido TFTP (siglas en inglés de «protocolo trivial de transferencia de archivos»)
para el archivo del nombre que recibió. Una vez que adquiere dicho archivo, lo ejecuta como un gestor de
arranque. Esto luego ejecuta el programa de instalación de Debian como si lo hubiese cargado desde el disco
duro, un CD-ROM o una llave USB.
Nuestra instalación por red será mediante FAI (Fully Automatic Installer )
FAI necesita un sistema servidor para almacenar la información de despliegue y permitir que las máquinas
objetivo arranquen desde la red. Este servidor necesita el paquete fai-server (o fai-quickstart, que
también incluye los elementos necesarios para una configuración estándar).
FAI utiliza un enfoque específico para definir los varios perfiles instalables. En lugar de simplemente
duplicar una instalación de referencia, FAI es un instalador completo, totalmente configurable a través de
archivos y scripts almacenados en el servidor; no se crea automáticamente la ubicación predeterminada
/srv/fai/config/, por lo que el administrador debe crearla junto con los archivos relevantes. La mayoría de
las veces, estos archivos serán personalizados de archivos de ejemplos disponibles en la documentación del
paquete fai-doc, en el directorio /usr/share/doc/fai-doc/examples/simple/ en particular. Una vez que
definimos los perfiles, el programa fai-setup genera los elementos necesariospara iniciar una instalación
FAI; esto significa en su mayor parte preparar o actualizar un sistema mínimo (raíz NFS) para utilizar
durante la instalación. Una alternativa es generar un CD de arranque dedicado con fai-cd.
Un proceso de instalación típico FAI consiste de los siguientes:
- Obtener un núcleo de la red e iniciarlo;
- Montar el sistema de archivos raíz desde NFS;
- Ejecutar /usr/sbin/fai que controla el resto del proceso (los pasos siguientes, por lo tanto, son
- iniciados por este script);
- Copiar el espacio de configuración desde el servidor a /fai/;
- Ejecutar fai-class. Se ejecutan en orden los scripts /fai/class/[0-9][0-9]* y devuelve los nombres de
- «clases» que aplican a la máquina siendo instalada; esta información servirá como base para los pasos
- siguientes. Esto permite cierta flexibilidad en la definición de los servicios a instalar y configurar.
- Obtener una cantidad de variables de configuración, que dependen de las clases relevantes;
- Particionar los discos y dar formato a las particiones basándose en la información provista
- por /fai/disk_config/clase;
- Montar dichas particiones;
- Instalar el sistema base;
- Presembrar la base de datos Debconf con fai-debconf;
- Obtener la lista de paquetes disponibles para APT;
- Instalar los paquetes enumerados en /fai/package_config/clase;
- Ejecutar los scripts postconfiguración, /fai/scripts/clase/[0-9][0-9]*;
- Grabar los registros de instalación, desmontar las particiones y reiniciar
Instalación de FAI
USAR apt-get párr Instalar el los following Paquetes.
paquete de cliente de instalación fai-cliente / completamente automática
fai-doc / Documentación para FAI
fai-nfsroot / paquete completamente automática nfsroot Instalación
fai-inicio rápido / paquete de inicio rápido Instalación completamente automática
fai-server / paquete completamente automática del servidor de instalación
fai-kernels / granos especiales para FAI (Instalación completamente automática)
Configuracion de los Archivos del FAI:
Actualizar: / etc / fai / fai.conf
/ Etc / fai / fai.conf - configuración de FAI (Instalación completamente automática)
El acceso al servidor Debian a través de NFS montado directorio Si se define FAI_DEBMIRROR, instalar
clientes lo montan a $ mntpoint FAI_DEBMIRROR = yournfs debianmirror :/ ruta / al / debianmirror
LOGUSER: una cuenta en el servidor de instalación que ahorra todos los archivos de registro Y que pueden
cambiar el núcleo que se inicia a través de la red. Configurar. Rhosts para esta cuenta y PAM, de manera
que root puede iniciar sesión De toda instalar clientes sin contraseña. Esta cuenta debe tener Permisos
de escritura para / srv / tftp / fai. Por ejemplo, puede usar escritura permisos para:
linuxadm grupo. chgrp linuxadm / srv / tftp / fai; chmod
G+ w / srv / tftp / fai. Si no está definida la variable, esta función se desactiva. Definir ella, para que
pueda, por ejemplo. LOGUSER = fai
LOGUSER = fai
Set tipo de protocolo para el almacenamiento de registros. Valores: ssh, rsh, ftp
FAI_LOGPROTO = ssh
El espacio de configuración del servidor de instalación
FAI_CONFIGDIR = / srv / fai / config
Cómo acceder al espacio de configuración fai
Predeterminado si es undefined aquí: nfs :/ / `hostname` / $FAI_CONFIGDIR
apoyados URL-tipos: nfs, archivo, cvs cvs, + ssh, svn + archivos, svn + http, …
FAI_CONFIG_SRC = nfs :/ / YourServerName $ FAI_CONFIGDIR
Las siguientes variables son de sólo lectura para la mayoría de los usuarios
Punto de montaje donde se montará el espejo Mntpoint = / media / espejo
Actualizar: make-fai-nfsroot.conf
Estas variables sólo son utilizados por make-fai-nfsroot aquí se puede utilizar también las variables
definidas en fai.conf
Directorio del servidor de instalación donde el nfsroot para FAI es Creación, tamaño aprox: 250 MB, también
se define en bootptab o dhcp.conf
NFSROOT = / srv / fai / nfsroot
Añadir una línea para mirrorhost y Installserver cuando el DNS no está disponible en los clientes. Esta
línea (s) se añadirá a $ nfsroot / etc / hosts.
NFSROOT_ETC_HOSTS = "yourinstallserver 192.168.1.250"
FAI_DEBOOTSTRAP = "http://mirror.exp.dc.uba.ar/debian etch»
La contraseña de root encriptada (con md5 o cripta) en todas instalar clientes durante Proceso de
instalación; utilizado al acceder a través de ssh; defecto PW: fai
FAI_ROOTPW = '$ 1 $ kBnWcO.E $ djxB128U7dMkrltJHPf6d1' Este paquete kernel se usa para arrancar los
clientes a instalar.
KERNELPACKAGE = / usr/lib/fai/kernel/linux-image-2.6.18-fai- kernels_1_amd64.deb
Ubicación de un archivo identity.pub; Este usuario puede conectarse a la instalación clientes como root sin
contraseña; sólo es útil con FAI_FLAGS = "sshd"
SSH_IDENTITY = / root / .ssh / id_rsa.pub
Siguientes líneas debe ser de sólo lectura para los "usuarios"
FAI_DEBOOTSTRAP_OPTS = "- exclude = dhcp-client, info - arco amd64 - extranjero"
Para amd64 usar:
KERNELPACKAGE = / usr/lib/fai/kernel/linux-image-2.6.18-fai-kernels_1_amd64.deb
FAI_DEBOOTSTRAP_OPTS = "- exclude = dhcp-client, info - arco amd64" Para i386 usar:
KERNELPACKAGE = / usr/lib/fai/kernel/linux-image-2.6.18-fai-kernels_1_i386.deb
FAI_DEBOOTSTRAP_OPTS = "- exclude = dhcp-client, info"
En FAI_DEBOOTSTRAP_OPTS, la opción "- extranjero" permite Instalar Log in using Una arquitectura Distinta.
Agregar en / etc / fai / apt los Archivos de configuración del sources.list y pt.conf correspondientes.
Antes de Poder ejecutar FAI debemos Configurar:DHCP
Actualizar: / etc/dhcpd3/dhcpd.conf
Dhcpd.conf para un fai servidor de instalación reemplazar faiserver con el nombre de su servidor de
instalación de esta manera negar clientes desconocidos:
Opción dhcp-max-message-size 2048; utilizar-host-decl-nombres; Siempre respuesta-rfc1048 sucesivamente;
allow bootp;
permitir el arranque;
subred 192.168.1.0 netmask 255.255.255.0 {
opción routers nodo00;
option domain-name "elefante";
option domain-name-servers 157.92.27.253, 157.92.1.1;
opción de tiempo de los servidores nodo00;
opción ntp-servers nodo00;
nombre-servidor nodo00;
nodo00 next-server;
filename "pxelinux.0";
}
Generar más líneas con:
Perl-e 'para (1 .. 25) {printf "host atómicas% 02s {hardware ethernet XXX: $ _; fixed-address atómicas%
02s;} \ n", $ _, $ _;}'
Reemplazar 1:2:3:4:5: XX con las direcciones de hardware de sus clientes
Host fai-servidor {hardware ethernet 00:15:17:02:29:66; fixed-address atom02;}
acogerá nodo00 {hardware ethernet 00:15:17:0 C: 45: ed; fixed-address atom01;}
acogerá nodo01 {hardware ethernet 00:15:17:02:28: FE; fixed-address atom03;}
acogerá nodo03 {hardware ethernet 00:15:17:02:29:5 E; fixed-address atom04;}
acogerá nodo04 {hardware ethernet 00:15:17:00:00:00; fixed-address atom05;}
}
TFTP
Actualizar: / etc / default / tftpd-hpa
Valores predeterminados para tftpd-hpa RUN_DAEMON = "yes" OPTIONS = "-l-s / srv / tftp / fai /"
INETD
Actualizar: / etc / inetd.conf En la ultima linea agregar,
ftp dgram udp wait root / usr / sbin / in.tftpd in.tftpd-s / srv / tftp / fai /
NFS
Actualizar: / etc / exports para ponerte en contacto con las siguientes lineas
/ Srv / fai / config * (async, ro, no_subtree_check)
/ Srv / fai / nfsroot * (async, ro, no_subtree_check, no_root_squash)
Reiniciar Todos Los Servicios:
/etc/init.d/dhcp3-server
/ etc / init.d / tftpd-hpa
/ etc/ Init.d / openbsd-inetd etc
/ Etc / init.d / inicio mountnfs.sh
/ Etc / init.d / nfs-kernel-server
/ etc / init.d / nfs-user-server
Generar el / root
Con Todo esto configurado y actualizado Podemos armar el "/ root" Montar párrafo mediante ntfs. Lanzamos:
fai-setup
Si ocurre algún error Se Puede armar el nfsroot Log in using: make-fai-nfsroot-r-v Configuración levantar a
través de PXE en La Carpeta srv / tftp / fai / pxelinux.cfg / crear archivo Que contenga: generada por
fai-chboot para el host atom0X con IP 192.168.1.XXX
generando fai por defecto
generar una etiqueta fai
kernel vmlinuz-install
anexar ip = FAI_ACTION dhcp = install root = / dev / nfs nfsroot = 192.168.1.200 :/ srv / fai / nfsroot
FAI_FLAGS = verbose, sshd, createvt
El nombre del mismo es la direccion de IP en hexadecimal Toda en mayusculas (Example "C0A801C9")
Configuración adicional
Permitir Que las maquinas en instalación Hagan inicio de sesión del remoto al servidor de Instalación en
fai.conf
LOGUSER = fai
LOGMETOD = ssh
Generar un nuevo nfsroot ONU
hacer chroot / srv / fai / nfsroot /
Generar Las claves publica y Privada con:ssh-keygen-t rsa
salir del chroot
salida raíz autorizamos al usuario del nfsroot párr logiarse con el usuario fai en el servidor de
instalación, párr esto copiamos la clave publica en la configuracion locales del usuario fai de como las
claves Autorizadas del ssh.
cp / srv / fai / nfsroot / root / .ssh / id_rsa.pub /
home/fai/.ssh/authorized_keys2
Reconfiguración de las exportaciones párr soportadoas pro SSH cuando se esta Instalando. esta configuración
es redundante, deber usarse en segunda opción en el Caso Que se produzca error des de permisos en el NFS a
la hora de logearse a través de SSH.
/ Home 192.168.1.0/255.255.255.0 (rw)
/ Srv / fai / config 192.168.1.250/255.255.255.0 (async, ro, no_subtree_check, anonuid = 0, anongid = 0)
/ Srv / fai / nfsroot 192.168.1.250/255.255.255.0 (async, ro, no_subtree_check, no_root_squash, anonuid =
0, anongid = 0)
Configuración Automatizado de Equipos
Para la configuración automática de equipos, dentro de GNU/Linux tenemos una gran variedad de software [3] pero para nuestro caso solo consideraremos dos :
Las selección de software para la administración corresponde a la demanda que tienen en la lista de Debian Jobs. Para el proyecto de administración automatizada de software en la Universidad Luterana, se ha decido implementar puppet.
Las configuraciones que se aplicaran en los centros de computo son:
Puppet
Antes de poder implementar este sistema, es necesario asignar nombres a cada una de las computadoras dentro de la red. El dominio local para cada centro se sugiere debe corresponder a: <numero de la maquina>.<computo o unidad en la que se encuentra>.uls . Por ejemplo pc1.computo1.uls ó miriam.academica.uls .
Las configuraciones de puppet se describen a continuación:
Los manuales de usuario son:
Referencias
[1] Preseed: https://wiki.debian.org/DebianInstaller/Preseed
[2] FAI: Instalación completa automatizada http://fai-project.org/
[3] http://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software
[4] http://debian-handbook.info/browse/es-ES/stable/sect.automated-installation.html
[5] https://wiki.debian.org/DebianEdu/HowTo/FaiInstallDebianEdu