Diferencia entre revisiones de «Instalacion/automatizada»

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar
(Instalación Automatizado del SO)
(Visión General)
 
(No se muestran 10 ediciones intermedias de 2 usuarios)
Línea 75: Línea 75:
 
== Instalación Automatizado del SO ==
 
== Instalación Automatizado del SO ==
  
'''pendiente editar'''
+
 
 +
=== Visión General ===
 +
 
 +
[[File:FAI.gif|Vision General FAI]]
 +
 
 +
 
 +
'''Explicación '''
 +
 
 +
* El '''FAI configuration space''' (caja naranja en la izquerda) esta ubicado tipicamente en <tt>/var/lib/fai/config</tt> (Este es <tt>live/filesystem.dir/var/lib/fai/config</tt> en [http://fai-project.org/fai-cd/ FAI Live-CD] ISO or USB stick image).
 +
* Una configuración FAI has '''dos directorios adicionales''' en el configuration space de FAI:
 +
*# <tt>hooks/</tt> ... let you specify functions or programs which are run at certain steps of the installation process. ([http://fai-project.org/fai-guide/ar01s07.html#_anchor_id_hooks_xreflabel_hooks_hooks FAI-Guide, 7.11. Hooks])
 +
*# <tt>tests/</tt> ... using these test, you can check for errors of the installation or of the softupdate. ([http://fai-project.org/fai-guide/ar01s05.html#_anchor_id_itests_xreflabel_itests_automated_tests FAI-Guide, 5.8. Automated tests])
 +
* '''Steps 1-3''' above (''FAI Install Server'') are performed if you execute a FAI installation from a FAI Server only. You can run an installation from a [http://fai-project.org/fai-cd/ FAI Live-CD] or a [[Fai-cd_from_usb_stick|bootable USB stick]] as an alternative, then the Live system boots and FAI starts at step 4 above.
 +
 
 +
 
 +
 
 +
'''Instalación de debían en red usando el programa 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'''
 
'''Instalación de FAI'''
  
USAR apt-get párr Instalar el los siguientes Paquetes.
+
USAR apt-get párr Instalar el los following Paquetes.
 
 
aptitude install fai-quickstart
 
  
 
paquete de cliente de instalación fai-cliente / completamente automática
 
paquete de cliente de instalación fai-cliente / completamente automática
Línea 95: Línea 215:
 
fai-kernels / granos especiales para FAI (Instalación completamente automática)
 
fai-kernels / granos especiales para FAI (Instalación completamente automática)
  
'''Configuracion de los Archivos del FAI:'''
+
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
  
Actualizar: / etc / fai / fai.conf
+
cambiar el núcleo que se inicia a través de la red. Configurar. Rhosts para esta cuenta y PAM, de manera
  
# / Etc / fai / fai.conf - configuración de FAI (Instalación completamente automática)
+
que root puede iniciar sesión  De toda instalar clientes sin contraseña. Esta cuenta debe tener  Permisos
  
# El acceso al servidor Debian a través de NFS montado directorio
+
de escritura para / srv / tftp / fai. Por ejemplo, puede usar escritura  permisos para:
# Si se define FAI_DEBMIRROR, instalar clientes lo montan a $ mntpoint
+
 
# FAI_DEBMIRROR = yournfs debianmirror :/ ruta / al / debianmirror
+
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: 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 el 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
 
LOGUSER = fai
  
# Set tipo de protocolo para el almacenamiento de registros. Valores: ssh, rsh, ftp
+
Set tipo de protocolo para el almacenamiento de registros. Valores: ssh, rsh, ftp
 +
 
 
FAI_LOGPROTO = ssh
 
FAI_LOGPROTO = ssh
  
# El espacio de configuración del servidor de instalación
+
El espacio de configuración del servidor de instalación
 +
 
 
FAI_CONFIGDIR = / srv / fai / config
 
FAI_CONFIGDIR = / srv / fai / config
  
# Cómo acceder al espacio de configuración fai
+
'''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, ...
+
Predeterminado si es undefined aquí: nfs :/ / `hostname` / $FAI_CONFIGDIR
# FAI_CONFIG_SRC = nfs :/ / YourServerName $ 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'''
  
# Las siguientes variables son de sólo lectura para la mayoría de los usuarios
+
'''Actualizar: make-fai-nfsroot.conf'''
  
# Punto de montaje donde se montará el espejo
+
Estas variables sólo son utilizados por make-fai-nfsroot aquí se puede utilizar también las variables  
Mntpoint = / media / espejo
+
 
Actualizar: make-fai-nfsroot.conf
+
definidas en fai.conf
# Estas variables sólo son utilizados por make-fai-nfsroot (8)
+
 
# 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
  
# 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
 
NFSROOT = / srv / fai / nfsroot
  
# Añadir una línea para mirrorhost y Installserver cuando el DNS no está disponible
+
Añadir una línea para mirrorhost y Installserver cuando el DNS no está disponible en los clientes. Esta  
# 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»
+
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
+
La contraseña de root encriptada (con md5 o cripta) en todas instalar clientes durante Proceso de  
# Proceso de instalación; utilizado al acceder a través de ssh; defecto PW: fai
+
 
FAI_ROOTPW = '$ 1 $ kBnWcO.E $ djxB128U7dMkrltJHPf6d1'
+
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
  
# Este paquete kernel se usa para arrancar los clientes instalar
+
contraseña; sólo es útil con FAI_FLAGS = "sshd"
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 en como root sin contraseña; sólo es útil con FAI_FLAGS = "sshd"
 
 
SSH_IDENTITY = / root / .ssh / id_rsa.pub
 
SSH_IDENTITY = / root / .ssh / id_rsa.pub
# ----------------------------------
+
 
# Siguientes líneas debe ser de sólo lectura para la mayoría de ustedes
+
Siguientes líneas debe ser de sólo lectura para los "usuarios"
  
 
FAI_DEBOOTSTRAP_OPTS = "- exclude = dhcp-client, info - arco amd64 - extranjero"
 
FAI_DEBOOTSTRAP_OPTS = "- exclude = dhcp-client, info - arco amd64 - extranjero"
Para amd64 USAR:
+
 
 +
'''Para amd64 usar:'''
 +
 
 
KERNELPACKAGE = / usr/lib/fai/kernel/linux-image-2.6.18-fai-kernels_1_amd64.deb
 
KERNELPACKAGE = / usr/lib/fai/kernel/linux-image-2.6.18-fai-kernels_1_amd64.deb
 +
 
FAI_DEBOOTSTRAP_OPTS = "- exclude = dhcp-client, info - arco amd64"
 
FAI_DEBOOTSTRAP_OPTS = "- exclude = dhcp-client, info - arco amd64"
 +
'''
 +
Para i386 usar:'''
  
Para i386 USAR:
 
 
KERNELPACKAGE = / usr/lib/fai/kernel/linux-image-2.6.18-fai-kernels_1_i386.deb
 
KERNELPACKAGE = / usr/lib/fai/kernel/linux-image-2.6.18-fai-kernels_1_i386.deb
 +
 
FAI_DEBOOTSTRAP_OPTS = "- exclude = dhcp-client, info"
 
FAI_DEBOOTSTRAP_OPTS = "- exclude = dhcp-client, info"
 +
 
En FAI_DEBOOTSTRAP_OPTS, la opción "- extranjero" permite Instalar Log in using Una arquitectura Distinta.
 
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 apt.conf correspondientes estafa do configuración.
 
  
 +
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'''
  
Antes de Poder Lanzar el FAI Que heno Configurar:
 
DHCP
 
 
Actualizar: / etc/dhcpd3/dhcpd.conf
 
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
+
Dhcpd.conf para un fai servidor de instalación reemplazar faiserver con el nombre de su servidor de  
+
 
negar desconocidos-clientes;
+
instalación de esta manera  negar clientes desconocidos:
opción dhcp-max-message-size 2048;
+
 
utilizar-host-decl-nombres en;
+
Opción dhcp-max-message-size 2048; utilizar-host-decl-nombres; Siempre respuesta-rfc1048 sucesivamente;
# Siempre-respuesta-rfc1048 sucesivamente;
 
  
 
allow bootp;
 
allow bootp;
 +
 
permitir el arranque;
 
permitir el arranque;
  
 
subred 192.168.1.0 netmask 255.255.255.0 {
 
subred 192.168.1.0 netmask 255.255.255.0 {
 +
 
   opción routers nodo00;
 
   opción routers nodo00;
 +
 
   option domain-name "elefante";
 
   option domain-name "elefante";
 +
 
   option domain-name-servers 157.92.27.253, 157.92.1.1;
 
   option domain-name-servers 157.92.27.253, 157.92.1.1;
 +
 
   opción de tiempo de los servidores nodo00;
 
   opción de tiempo de los servidores nodo00;
 +
 
   opción ntp-servers nodo00;
 
   opción ntp-servers nodo00;
 +
 
   nombre-servidor nodo00;
 
   nombre-servidor nodo00;
 +
 
   nodo00 next-server;
 
   nodo00 next-server;
 +
 
   filename "pxelinux.0";
 
   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", $ _, $ _;}'
  
# Generar más líneas con:
+
Reemplazar 1:2:3:4:5: XX con las direcciones de hardware de sus clientes
  
# Perl-e 'para (1 .. 25) {printf "host atómicas% 02s {hardware ethernet XXX: $ _; fixed-address atómicas% 02s;} \ n", $ _, $ _;}'
+
Host fai-servidor {hardware ethernet 00:15:17:02:29:66; fixed-address atom02;}
  
# 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á 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á 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á 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;}
 
acogerá nodo04 {hardware ethernet 00:15:17:00:00:00; fixed-address atom05;}
 +
 
}
 
}
TFTP
+
 
 +
'''TFTP'''
 +
 
 
Actualizar: / etc / default / tftpd-hpa
 
Actualizar: / etc / default / tftpd-hpa
# Valores predeterminados para tftpd-hpa
+
 
RUN_DAEMON = "yes"
+
Valores predeterminados para tftpd-hpa RUN_DAEMON = "yes" OPTIONS = "-l-s / srv / tftp / fai /"
OPTIONS = "-l-s / srv / tftp / fai /"
+
 
INETD
+
'''INETD'''
 +
 
 
Actualizar: / etc / inetd.conf En la ultima linea agregar,
 
Actualizar: / etc / inetd.conf En la ultima linea agregar,
 +
 
ftp dgram udp wait root / usr / sbin / in.tftpd in.tftpd-s / srv / tftp / fai /
 
ftp dgram udp wait root / usr / sbin / in.tftpd in.tftpd-s / srv / tftp / fai /
NFS
+
 
Actualizar: / etc / exports para ponerte en contacto following Las lineas
+
'''NFS'''
 +
 
 +
Actualizar: / etc / exports para ponerte en contacto con las siguientes lineas
 +
 
 
/ Srv / fai / config * (async, ro, no_subtree_check)
 
/ Srv / fai / config * (async, ro, no_subtree_check)
 +
 
/ Srv / fai / nfsroot * (async, ro, no_subtree_check, no_root_squash)
 
/ Srv / fai / nfsroot * (async, ro, no_subtree_check, no_root_squash)
Reiniciar Todos Los Servicios
+
 
/ Reinicio etc/init.d/dhcp3-server
+
'''Reiniciar Todos Los Servicios:'''
Reiniciar / etc / init.d / tftpd-hpa
+
 
/ / Init.d / openbsd-inetd etc
+
/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 / inicio mountnfs.sh
 +
 
/ Etc / init.d / nfs-kernel-server
 
/ Etc / init.d / nfs-kernel-server
Reiniciar / etc / init.d / nfs-user-server
+
 
Generar el / root
+
/ etc / init.d / nfs-user-server
Con Todo ESTO configurado Y ACTUALIZADO Podemos armar el "/ root" Montar párrafo mediante ntfs. Lanzamos:
+
 
 +
'''Generar el / root'''
 +
 
 +
Con Todo esto configurado y actualizado Podemos armar el "/ root" Montar párrafo mediante ntfs. Lanzamos:  
 +
 
 
fai-setup
 
fai-setup
Si ocurre algun error Se Puede armar el nfsroot Log in using:
 
make-fai-nfsroot-r-v
 
Configurancion levantar párrafo a través de PXE
 
En La Carpeta srv / tftp / fai / pxelinux.cfg / Armar sin achivo porción nodo Que contenga:
 
generada por fai-chboot para el host atom0X con IP 192.168.1.XXX
 
generado por fai defecto
 
  
generado por fai etiqueta
+
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
 
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 hexa Toda en mayusculas (Example "C0A801C9")
+
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")
  
'''Configuracion adicional
+
 
Permitir Que las maquinas en instalación Hagan inicio de sesión del remoto al servidor de Instalación
+
'''Configuración adicional'''
en fai.conf'''
+
 
 +
Permitir Que las maquinas en instalación Hagan inicio de sesión del remoto al servidor de Instalación en
 +
 
 +
fai.conf
  
 
LOGUSER = fai
 
LOGUSER = fai
 +
 
LOGMETOD = ssh
 
LOGMETOD = ssh
 +
 
Generar un nuevo nfsroot ONU
 
Generar un nuevo nfsroot ONU
HACER chroot / srv / fai / nfsroot /
+
 
Generar Las claves publica y Privada con:
+
hacer chroot / srv / fai / nfsroot /
ssh-keygen-t rsa  
+
 
 +
Generar Las claves publica y Privada con:ssh-keygen-t rsa  
 +
 
 
salir del chroot
 
salir del chroot
salida
 
raíz autorizamos al usuario del nfsroot párr logiarce 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 Los exportaciones párr soportar SSH CUANDO SE ESTA Instalando'''
+
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
  
esta configuración es redundante, Florerias usarce COMO Segunda opcion en el Caso Que se produsca error des de permisos en el NFS a la hora de logearce a través de SSH.
+
la hora de logearse a través de SSH.
  
 
/ Home 192.168.1.0/255.255.255.0 (rw)
 
/ 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 / 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)
+
 
 +
/ 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 ==
 
== Configuración Automatizado de Equipos ==
Línea 302: Línea 510:
  
 
[5] https://wiki.debian.org/DebianEdu/HowTo/FaiInstallDebianEdu
 
[5] https://wiki.debian.org/DebianEdu/HowTo/FaiInstallDebianEdu
 +
 +
[6] http://wiki.fai-project.org/wiki/FAI_Installation_Overview
 +
 +
[7] http://fai-project.org/fai-guide.html

Revisión actual del 12:19 23 jun 2014

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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:

  1. Configuración manual: Configuración de sistemas de forma manual e independiente, teniendo que configurar maquina por maquina.
  2. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

Visión General

Vision General FAI


Explicación

  • El FAI configuration space (caja naranja en la izquerda) esta ubicado tipicamente en /var/lib/fai/config (Este es live/filesystem.dir/var/lib/fai/config en FAI Live-CD ISO or USB stick image).
  • Una configuración FAI has dos directorios adicionales en el configuration space de FAI:
    1. hooks/ ... let you specify functions or programs which are run at certain steps of the installation process. (FAI-Guide, 7.11. Hooks)
    2. tests/ ... using these test, you can check for errors of the installation or of the softupdate. (FAI-Guide, 5.8. Automated tests)
  • Steps 1-3 above (FAI Install Server) are performed if you execute a FAI installation from a FAI Server only. You can run an installation from a FAI Live-CD or a bootable USB stick as an alternative, then the Live system boots and FAI starts at step 4 above.


Instalación de debían en red usando el programa 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 :

  1. Chef
  2. Puppet
  3. CFEngine

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

[6] http://wiki.fai-project.org/wiki/FAI_Installation_Overview

[7] http://fai-project.org/fai-guide.html