miércoles, 26 de junio de 2019

Obteniendo datos MIB de equipo

En este post vimos como instalar una servidor zabbix para monitorizar los equipos del centro.

En este otro vimos como instalar el agente en los equipos ubuntu para que nos envíe información del equipo al servidor zabbix.

En el caso de que queramos monitorizar otro tipo de dispositivo como switches, impresoras, etc... el método es diferente, ya que se intercambia información a traves del protocolo SNMP.

Lo más sencillo es agregar el equipo con la plantilla "Module ICMP Ping", que lo que hace es comprobar que el equipo responde al ping y así comprobamos que está encendido.


Nosotros podemos crear y modificar plantillas existentes, a partir de las plantillas oficiales.

La primera dificultad que tenemos para modificar las plantillas es que necesitamos conocer los datos de los OIDS del dispositivo que queremos monitorizar.

En esta web puedes ver información de MIB, OIDS, etc...

Para obtener información de un dispositivo, necesitamos tener instalado en nuestro equipo en paquete snmp. Lo hacemos desde terminal:

root@servidor:~# apt-get install snmp


A continuación para conocer los diferentes OIDS lo hacemos a través de la orde snmpwalk. Puedes ver la ayuda del comando con man snmpwalk.

En mi caso quiero obtener la información de una impresora hp officejet pro x476dw, utilizamos la orden snmpwalk con la ip del equipo. A continuación vemos algunos de los parámetros que nos devuelve:

root@aplicaciones:~# snmpwalk -c public -v 1 172.17.X.X
iso.3.6.1.2.1.43.5.1.1.16.1 = STRING: "ImpresoraAdministra"
iso.3.6.1.2.1.43.5.1.1.17.1 = STRING: "CN58OKK040"
iso.3.6.1.2.1.43.11.1.1.6.1.1 = STRING: "yellow ink CN628A"
iso.3.6.1.2.1.43.11.1.1.6.1.2 = STRING: "cyan ink CN626A"
iso.3.6.1.2.1.43.11.1.1.6.1.3 = STRING: "magenta ink CN627A"
iso.3.6.1.2.1.43.11.1.1.6.1.4 = STRING: "black ink CN625A"


Como vemos tienen que ver con el nombre de la impresora, su número de serie y los cartuchos de tinta instalados.




miércoles, 19 de junio de 2019

Script y tarea para hacer backup de ficheros de configuración de equipos

Para hacer los backups del servidor del centro utilizo un script o sistema parecido al que aparece en este post.

Es aconsejable tener una copia de los archivos de configuración de diferentes servicios de cada máquina, ya que los datos pueden ser diferentes de una a otra y además puede ser que no se controlen por puppet. De esta manera, después de clonar podemos restaurar dichos archivos en un momento.

He hecho un script basándome en el que utilizo para el servidor.
Utilizo un servidor openmediavault por el que comparto los backups y monto por nfs el directorio para guardarlos.

Mediante puppet distribuyo los archivos de la tarea:
- El script, en resumen hace un backup incremental por rsync de una lista de archivos que almaceno en un archivo archivos.includes. Lo almaceno en /var/backups y luego copio por nfs a la máquina de almacenamiento.

root@servidor:/etc/puppet/modules/mp-xubuntu-ficheros-centro/files# cat bin/backupHost.sh 
#!/bin/sh

#########################################################
# Script to do incremental rsync backups
# Adapted from script found on the rsync.samba.org
# Brian Hone 3/24/2002
# This script is freely distributed under the GPL
#
# Para que este script funcione correctamente, desde en el 
# servidor que utilicemos para backup se deben generar las
# claves RSA y DSA mediante el comando:
#    ssh-keygen -t rsa -b 1024
#    ssh-keygen -t dsa -b 1024
#
# Los archivos *.pub generados en el directorio /root/.ssh/ de esa
# máquina se deben copiar a dicha máquina y añadir al fichero 
# /root/.ssh/authorized_keys:
#   cat *.pub >> ~/.ssh/authorized_keys
#
#########################################################


##################################
# Configure These Options
##################################


###################################
# HOSTNAME
#  - This is also used for reporting
#  - Debe responder a un ping (Ej ping quercus).
#  - Su valor corresponderá con el directorio 
#    en el que se almacenarán los backups de ese host
#    Ej: Si HOSTNAME es "mi_host" los backups se guardarán en
#    /var/backups/mi_host/
###################################
HOSTNAME=`facter fqdn`

###################################
# directory to backup
# - This is the path to the directory you want to archive
###################################
BACKUPDIR=/

###################################
# excludes file - contains one wildcard pattern per line of files to exclude
#  - This is a rsync exclude file.  See the rsync man page and/or the
#    example_exclude_file
###################################
EXCLUDES=/usr/local/bin/backup/archivos.excluded
INCLUDES=/usr/local/bin/backup/archivos.included

###################################
# root directory to for backup stuff
###################################
ARCHIVEROOT=/var/backups
#ARCHIVEROOT=/export/Backups/backupltsp

#########################################
# From here on out, you probably don't  #
#   want to change anything unless you  #
#   know what you're doing.             #
#########################################

# directory which holds our current datastore
CURRENT=main

# directory which we save incremental changes to
INCREMENTDIR=`date +%Y-%m-%d`
HORA=`+%c`
#DIAS QUE SE GUARDAN LOS BACKUPS
DIASBORRADO=85

# options to pass to rsync
OPTIONS="--force --ignore-errors --delete --delete-excluded  --files-from=$INCLUDES --backup --backup-dir=$ARCHIVEROOT/$HOSTNAME/$INCREMENTDIR -av"

# make sure our backup tree exists
install -d $ARCHIVEROOT/$HOSTNAME/$CURRENT

# our actual rsyncing function
do_rsync()
{
   #creamos la carpeta donde vamos a guardar los backups, si no existiera
   touch /var/backups
   echo "$HORA  Comenzando backup de $HOSTNAME en $ARCHIVEROOT/$HOSTNAME/$CURRENT"
   echo "$HORA  Borrando Bakcups antiguos de $HOSTNAME ">> /usr/local/bin/backup/backup.log
        # Para ver las copias que se van a eliminarAlmacenamos en archivo log: 
        echo "borramos backups antiguos" >> /usr/local/bin/backup/backup.log
        find $ARCHIVEROOT/$HOSTNAME -maxdepth 1 -mtime +$DIASBORRADO -not -iname main -exec echo {} + >> /usr/local/bin/backup/backup.log
        # y las borramos
        find $ARCHIVEROOT/$HOSTNAME -maxdepth 1 -mtime +$DIASBORRADO -not -iname main -exec rm -rf {} +;
   echo "$HORA  Comenzando backup de $HOSTNAME en $ARCHIVEROOT/$HOSTNAME/$CURRENT">> /usr/local/bin/backup/backup.log
   rsync $OPTIONS $BACKUPDIR $ARCHIVEROOT/$HOSTNAME/$CURRENT
   echo "$HORA  Backup de $HOSTNAME finalizado" >> /usr/local/bin/backup/backup.log
   echo "----------------------------------------------------------------"
   echo "----------------------------------------------------------------">> /usr/local/bin/backup/backup.log
}

# some error handling and/or run our backup and accounting
#if [ -f $EXCLUDES ]; then
if [ -f $INCLUDES ]; then
if [ -d $BACKUPDIR ]; then
# now the actual transfer
do_rsync
# montamos y copiamos por nfs los archivos de backup en la máquina donde guardamos todos los backups de las diferentes máquinas 
mount -t nfs maquinaNFS:/export/Backups /mnt
cp -rf /var/backups/$HOSTNAME /mnt/backupltsp/
umount /mnt/
else
echo "cant find $BACKUPDIR">> /usr/local/bin/backup/backup.log
echo "cant find $BACKUPDIR"; exit
fi

else
echo "cant find $INCLUDES" >> /usr/local/bin/backup/backup.log
echo "cant find $INCLUDES"; exit
fi


- El fichero con lista de archivos a hacer copia: archivos.includes

root@servidor:/etc/puppet/modules/mp-xubuntu-ficheros-centro/files# cat bin/backup
backup/        backupHost.sh  
root@servidor:/etc/puppet/modules/mp-xubuntu-ficheros-centro/files# cat bin/backup/
archivos.excluded  archivos.included  backup.log         
root@servidor:/etc/puppet/modules/mp-xubuntu-ficheros-centro/files# cat bin/backup/archivos.included 
/etc/netplan/01-network-manager-all.yaml
/etc/escuela2.0
/etc/hostname
/etc/hosts
/etc/udev/rules.d/70-persistent-net.rules
/var/lib/aulalinex-profesor/aulalinex-profesor.conf
/var/lib/aulalinex-profesor-ltsp/setup.ini
/etc/hostapd/hostapd.accept
/etc/hostapd/hostapd.conf
/etc/hostapd/hostapd.deny
/etc/SIATIC/siaticcontrol.ini 
/usr/share/linex-ubuntu-puppet/escuela2.0
/etc/zabbix/zabbix_agentd.conf
/etc/controlwifi/controlwifi.conf
/etc/controlwifi/profesor_control_wifi.conf
/etc/cups/printers.conf
/var/spool/cron/crontabs/root


- Un fichero con lista de archivos que deseo excluir (no lo utilizo pero podría): archivos.excludes


- Un crontab para que se ejecute una vez en semana.
                # el cron para hacer backup de los ficheros de configuracion module mp-xubuntu-ficheros-centro/files/bin/backupHost.sh
                cron {  "backupSemanal":
                        command => "/usr/local/bin/backupHost.sh",
                        user => root,
                        weekday => "*/1",
                        ensure => present,
                }


- Para restaurar los archivos utilizaríamos el siguiente script:
root@servidor:/usr/local/bin/backup# cat /bin/restauraHost.sh 
#!/bin/bash
#
# nombre              : restauraHost.sh
# descripción         : Restaurar archivos de configuracion de host
# autor               : José Miguel Medina
# fecha creación      : 20062019
# última modificación : 20062019
# uso                 : ./restauraHost.sh
# instalación         : Guardar en  /usr/local/bin/

#
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License at <http://www.gnu.org/licenses/> for
# more details.
#

HOSTNAME=`facter fqdn`

###################################
# directorio a resturar
# - This is the path to the directory you want to restaure
###################################
BACKUPDIR=/

###################################
# excludes file - contains one wildcard pattern per line of files to exclude
#  - This is a rsync exclude file.  See the rsync man page and/or the
#    example_exclude_file
###################################
EXCLUDES=/usr/local/bin/backup/archivos.excluded
INCLUDES=/usr/local/bin/backup/archivos.included

###################################
# Directorio donde se montan copia de seguridad
###################################
ARCHIVEROOT=/mnt/backupltsp
#ARCHIVEROOT=/export/Backups/backupltsp

#########################################
# From here on out, you probably don't  #
#   want to change anything unless you  #
#   know what you're doing.             #
#########################################

# directory which holds our current datastore
CURRENT=main


# options to pass to rsync

# our actual rsyncing function
do_rsync()
{
   # montamos y copiamos por nfs los archivos de backup en la máquina donde guardamos todos los backups de las diferentes máquinas
   mount -t nfs equipoBackups:/export/Backups /mnt

   # restauramos la copia de seguridad
   rsync $OPTIONS $ARCHIVEROOT/$HOSTNAME/$CURRENT $BACKUPDIR 2>1

   # y desmontamos la máquina de backups
   umount /mnt/

}

# some error handling and/or run our backup and accounting
#if [ -f $EXCLUDES ]; then
if [ -f $INCLUDES ]; then
if [ -d $BACKUPDIR ]; then
# now the actual transfer
do_rsync
else
echo "cant find $BACKUPDIR"; exit
fi

else
echo "cant find $INCLUDES"; exit
fi


Contenedor servidor monitorizacion Zabbix


En un post anterior puse en marcha un servidor proxmox en un servidor de aula.

En este otro ví como restaurar máquinas virtuales desde los backups de dichos contenedores.

La instación y configuración del zabbix la podemos ver en el siguiente post:

https://clouding.io/kb/como-instalar-y-configurar-zabbix/

Yo lo primero que he hecho ha sido cambiar el idioma a español configurando los locales:


root@clonado:~# dpkg-reconfigure locales


- Posteriormente he configurado mi cuenta de correo electrónico para que nos lleguen los avisos por email en el siguiente post.



Configuracion correo electrónico con cuentas de educarex con zabbix

Para configurar la cuenta de correo para que nos lleguen avisos de las incidencias de nuestro servidor zabbix, he seguido el siguiente post:


- Instalamos ssmtp en la máquina donde tenemos instalado zabbix: 

root@aplicaciones:~# apt-get install ssmtp

- Ponemos los datos de nuestra cuenta educarex en la configuración de ssmtp:

oot@aplicaciones:~# cat /etc/ssmtp/ssmtp.conf 
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=adminies.correo@educarex.es

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:465

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES
AuthUser=adminies.correo@educarex.es
AuthPass=Passwd_en_claro
UseTLS=YES

- Mandamos un correo de prueba :

root@aplicaciones:~# echo "E-Mail using the command-line" | ssmtp micorreo@gmail.com


- y configuramos los datos dentro del servidor zabbix en Administracion => tipos de medios => creamos uno con nuestros datos del tipo email.


- Sobre esto cambiaremos adminies.correo pornuestra cuenta de adminies.

- Y para finalizar ajustaremos en qué condiciones queremos que nos lleguen correos con los avisos o problemas. Esto se configura en Configuración => Acciones. Creando una o modificando la acción "Report problems to Zabbix administrators".

Modulo puppet para añadir agente zabbix en equipos.

En un post anterior vimos como he instalado zabbix en nuestro servidor proxmox.

También vimos como añadir grupos y equipos a zabbix.

Esta es la clase que utilizo para instalar y configurar el agente zabbix en los diferentes equipos.

Como podemos ver:

- Instalamos el paquete zabbix-agent

- Ponemos el fichero de configuración zabbix donde figuran los datos del servidor zabbix. Podemos ver los datos que hay que añadir o modificar en el siguiente post. Como se puede ver el fichero de configuración lo pongo con replace => false para que no sobreescriba cambios, sino no nos dejaría añadir el hostname de cada uno


- Añadimos el hostname propio de cada equipo al fichero de configuración del agente.
Para ello utilizo el define de Esteban Navas. add_line_above.


import "/etc/puppet/defines/*.pp"

class mp-xubuntu-zabbix{


        # instalamos paquete agente zabbix
        package { "zabbix-agent":
                ensure => "installed",
                alias => "paraLlamarlo",
        }
        # y cargamos la configuración
        file { "/etc/zabbix/zabbix_agentd.conf":
                ensure => present,
                mode => 644,
                owner => root,
                group =>root,
                require => Package["zabbix-agent"],
                source => "puppet:///modules/mp-xubuntu-zabbix/zabbix_agentd.conf",
                # como vamos a añadir el hostname despues ponemos no reemplazar
                replace => false,
        }

        add_line_above { "ponerHostname":
                file => "/etc/zabbix/zabbix_agentd.conf",
                line => "Hostname=$hostname",
                search => "Hostname=$hostname",
                above =>"# Hostname=",

        }

}


Este es el define add_line_abobe:



martes, 18 de junio de 2019

Configurar bios en portátiles HP ProBook

En un post anterior vimos como cree un servidor de clonación FOG para el centro a partir de un contenedor de Proxmox.

Una vez que el servidor FOG está funcionando, ya podemos gestionar las imágenes, crearlas y restaurarlas en los clientes del centro.

Para ello lo primero que tenemos que hacer es configurar los clientes para que como primera opción de arranque sea por red, en vez de por disco duro, como hasta ahora.

En éste post de Esteban puedes ver la configuración del cliente en un equipo hp 600.

Como en cada bios puede ser necesario la modificación en diferentes sitios, vamos a ver cómo configurar la bios de los HP ProBook 4510s.

- Entramos en la bios con F10:

-Nos vamos a la pestaña Configuración del Sistema y ahí abrimos Opciones de Dispositivo integrado:

-En la opción Wake on LAN ponemos Iniciar a través de Red. Así nos dejará iniciar desde la red.

- Dentro de la misma configuración del sistema, en Opciones de inicio, tocamos en dos sitios:

- ponemos Inicio a través de NIC PXE Interna a activado y 

- Nos situamos sobre la opción Orden de iniciio  subimos Ethernet de Notebook hasta la primera opción.


Configurar bios en portátiles ACER

En un post anterior vimos como cree un servidor de clonación FOG para el centro a partir de un contenedor de Proxmox.

Una vez que el servidor FOG está funcionando, ya podemos gestionar las imágenes, crearlas y restaurarlas en los clientes del centro.

Para ello lo primero que tenemos que hacer es configurar los clientes para que como primera opción de arranque sea por red, en vez de por disco duro, como hasta ahora.

En éste post de Esteban puedes ver la configuración del cliente en un equipo hp 600.

Como en cada bios puede ser necesario la modificación en diferentes sitios, vamos a ver cómo configurar la bios de los Acer. en mi caso tengo acer aspire one y acer travel mate. En ambos casos es igual :

- Entramos en la bios con F2:

- Nos vamos a la opcion Main.

- Alli tenemos F12 Boot Menu. La ponemos a Enabled. Así nos permitirá arrancar por red.

- Nos vamos al menú de Boot a la selección del arranque: Boot Device Priority.

nos situamos sobre la opción de arranque por red y lo subimos con F6 hasta la primera opción.

viernes, 7 de junio de 2019

Error en contenedor de Proxmox Fog. rpc.nfsd[2940]: error starting threads: errno 38 (Function not implemented)

He creado un contenedor de Fog sobre Proxmox.

He podido inventariar los equipos correctamente.

El problema me ha surgido al intentar crear una imagen de un equipo. Me he encontrado con el problema de que no levantaba el servicio nfs, dando un error: rpc.nfsd[2940]: error starting threads: errno 38 (Function not implemented).

Es debido a las opciones del contenedor de proxmox, en la sección de Features, de opciones hay que marcar Nesting, quedando así:


Puedes ver como testear los problemas de nfs en la wiki de fog.

recurso puppet crontab

Mediante puppet podemos añadir y eliminar tareas en el crontab.

Este es el manifest que utilizo en el centro.

Como se puede ver mandamos que se apaguen los equipos (si estuvieran encendidos)  a las 15:35 y 23:50.

En la bios tengo configurado que si hay un corte de corriente, cuando vuelvan se enciendan. Si pusiera que se apagaran, no se encenderían por wakeonlan y habría que encenderlos a mano.

Por lo tanto si hay un corte de corriente por la noche o en fin de semana se encenderían. Por eso pongo un cron que si está encendido por la noche o en fin de semana se apague (se comprueba cada 5 minutos). Esto se ejecuta en todos los equipos menos en los del equipo directivo, que si es posible que vengan en esos intervalos. Para ello sustituyo en el case, caso_particular por el nombre o nombres del equipo.


class mp-apagado-maquinas {

        #Apagado de máquinas por la mediodía.
        cron { apagado-mediodia:
                command => "/sbin/poweroff",
                user => root,
                hour => 15,
                minute => 35,
                ensure => present,
        }

        #Apagado de máquinas por la noche
        cron {  apagado-noche:
                command => "/sbin/poweroff",
                user => root,
                hour => 23,
                minute => 50,
                ensure => present,
        }

        # y por si se encienden por un apagón de luz, bios configurada como power on,
        # cada 5 minutos comprueba si está encendido y se apaga
        # hay algunos equipos que pueden venir a deshoras o desdías a trabajar, en estos se quita el cron, en el resto se les pone
        case $hostname {
                equipo_particular-pro: {
                        cron { apagado-findesemana:
                                 ensure => absent
                        }

                        cron { apagado-madrugada:
                                 ensure => absent
                        }

                }#fin caso particular

                default:{
                        cron { apagado-findesemana:
                                 command => "/sbin/poweroff",
                                 user => root,
                                 hour => '*',
                                 minute => '*/5',
                                 weekday  => [0,6],
                                 ensure => present
                        }

                        cron { apagado-madrugada:
                                 command => "/sbin/poweroff",
                                 user => root,
                                 hour => ['0-6'],
                                 minute => '*/5',
                                 weekday  => ['1-5'],
                                 ensure => present
                        }
                } #fin default
        }#fin hostname
}

jueves, 6 de junio de 2019

Añadir un disco con datos a servidor FOG sobre Proxmox.

En https://adminiesfuenteroniel.blogspot.com/2019/05/servidor-proxmox.html.

Y en este otro como crear una servidor de clonación FOG sobre él.

Tenía un disco con las imágenes clonezilla de las diferentes máquinas del IES. Ahora pretendo añadir dicho disco al servidor FOG para almacenar ahí las nuevas imágenes y restaurar los equipos desde él.

Lo primero es añadir el disco al almacenamiento de Proxmox

Lo puedes ver en el siguiente post, donde pone 1ª vía:

https://informaticacoslada.com/anadir-disco-duro-para-almacenamiento-backup-contenedores-mvs-con-proxmox/

Basicamente es en proxmox Datacenter => Storage dar a  botón añadir => Seleccionamos Directory.
Ahí ponemos los datos:
Añadimos en el fstab de la máquina de proxmox para que nos la monte.


Como vemos ya nos aparece.


Ahora sólo tenemos que añadirla para que la monte la máquina del servidor de clonación FOG.

Para ello añadimos la línea:

mp0: /mnt/imagenes /,mp=/images

al archivo de configuración del contenedor, dentro de la máquina Proxmox. 

A continuación vemos todo el contenido:

root@pve:~# cat /etc/pve/nodes/pve/lxc/103.conf 
arch: amd64
cores: 2
hostname: clonado
memory: 2048
mp0: /mnt/imagenes,mp=/images
net0: name=eth0,bridge=vmbr0,hwaddr=E2:40:51:51:FA:E4,ip=dhcp,type=veth
onboot: 1
ostype: debian
rootfs: local-lvm:vm-103-disk-1,size=20G

swap: 4000

Aquí vemos como ya nos aparece:

Puedes ver otra forma en el blog de Esteban.

miércoles, 5 de junio de 2019

Importar hosts en Servidor de Clonación FOG

En este post anterior vimos como crear un contenedor con un servidor de clonación FOG.

Una forma de inventariar y añadir los diferentes equipos a nuestro servidor FOG es en el arranque del cliente seleccionar la opción "Perform full host registration and inventory". Ésto nos permitirá ponerle el nombre que deseemos que tenga el cliente en nuestro servidor FOG y además tomará datos sobre el hardware del equipo.

El único inconveniente es que tendremos que ir arrancando uno a uno los equipos para inventariarlos.

Si tenemos la mac y los nombres de todos los hosts, podemos agilizar esta tarea, ya que en FOG tenemos opciones de importar y exportar tanto hosts como grupos, explico:

En mi caso tengo una hoja de cálculo con todos los datos de los diferentes equipos del centro: nombre, tipo o grupo al que pertenecen, macs, etc....

Tengo diferentes portátiles Acer Travel Mate y los quiero añadir de un tirón.

Nos vamos a la sección de administración de Hosts, y seleccionamos la opción de "Export Hosts" y pulsamos el botón de Export.


Nos generará un fichero con extensión .csv que lo podremos abrir con un editor de hojas de cálculo.

En mi caso voy a utilizarlo para subir los datos de los Travel Mate, por ello he registrado uno de ellos, el armarioG11-TM, lo busco en la hoja de cálculo y copio todas las columnas de esa fila.


Las pego a continuación en una nueva hoja de cálculo. Las columnas 1ª y 2ª guardan mac y nombre del equipo, las otras no son importantes.

Este es el fragmento de hoja de cálculo donde guardo los datos de estos equipos de mi centro.


Por lo tanto, sólo tengo que copiar las columnas de la mac de equipo, y del nombre (en mi caso he suprimido el dominio en el nombre del equipo) en la nueva hoja de cálculo...



...y copiar el resto de las columnas de la 1ª fila al resto.




- Guardamos el nuevo documento en formato .csv. con delimitador de cadena vacio, sin comillas, y delimitador de campos ",".

- Importamos ese fichero con el botón de importar del mismo menú de Hosts desde donde hemos exportado antes, y ya los tenemos.


- Ya sólo queda añadirlos al grupo que queramos.








martes, 4 de junio de 2019

Configurar bios en portátiles Samsung Xtrem para FOG

En un post anterior vimos como cree un servidor de clonación FOG para el centro a partir de un contenedor de Proxmox.

Una vez que el servidor FOG está funcionando, ya podemos gestionar las imágenes, crearlas y restaurarlas en los clientes del centro.

Para ello lo primero que tenemos que hacer es configurar los clientes para que como primera opción de arranque sea por red, en vez de por disco duro, como hasta ahora.

En éste post de Esteban puedes ver la configuración del cliente en un equipo hp 600.

Como en cada bios puede ser necesario la modificación en diferentes sitios, vamos a ver cómo configurar la bios de los Samsung Xtrem ng111:

- Entramos en la bios con F2:

- Nos vamos a la opcion de Arranque. Boot:

-En la opción de PXE-EPROM ponemos Always, así nos dejará seleccionar como primer arranque la red.



- Reiniciamos el equipo para que en la selección de arranque nos aparezca la red.

- Nos vamos en el mismo menú de Boot a la selección del arranque: Boot Device Priority.

nos situamos sobre la opción de arranque por red y lo subimos con F6 hasta la primera opción.



Configurar bios en servidores Telefónica para FOG

En un post anterior vimos como cree un servidor de clonación FOG para el centro a partir de un contenedor de Proxmox.

Una vez que el servidor FOG está funcionando, ya podemos gestionar las imágenes, crearlas y restaurarlas en los clientes del centro.

Para ello lo primero que tenemos que hacer es configurar los clientes para que como primera opción de arranque sea por red, en vez de por disco duro, como hasta ahora.

En éste post de Esteban puedes ver la configuración del cliente en un equipo hp 600.

Como en cada bios puede ser necesario la modificación en diferentes sitios, vamos a ver cómo configurar la bios de los servidores de aula de Telefónica:

El primer menú de la bios donde tenemos que tocar es en Sección Advanced => submenu Onboard Devices Configuration.

Aquí lo que hacemos es decirle al SO que funcionen o no los dispositivos integrados que tenemos en el equipo.

Estos equipos tienen 4 tarjetas de red. Las dos de abajo están conectadas por una ranura pci Express (PCIE). Las otras dos están integradas en la placa base. La de arriba es la que a nosotros nos aparece en la bios como Marvell Lan 2 y la otra la 1.
Como norma general nosotros en estos servidores tenemos conectados 2 cables de red, el de la intranet es el de arriba del todo (Marvell lan 2) el otro es el inferior que está creando una red local.
Aquí podemos ver la configuración.





Como vemos, en la opción LAN BOOT ROM que nos aparece cuando activamos una tarjeta lo que hace es permitir que podamos arrancar por red desde esa tarjeta.
Aunque no estemos utilizando las tarjetas, hay que dejarlas activadas, por que sino es posible que nos nos levante las tarjetas nuestro linex.

- Aquí reiniciamos el equipo para que nos aparezca esta tarjeta en el menú de arranque.

- Lo siguiente que tocamos es en el menú POWER => submenú APM Configuratión.


                                  

Aquí le estamos diciendo que si recibimos un wakeonlan por esa tarjeta lo detecta y encienda el equipo.  Como nosotros nada mas que recibimos wakeonlan por la intranet, dejamos activados nada más los dispositivos PCI ( nuestra marvel lan)


- Lo último configuramos el orden de arranque para poner como primera opción el de red, que como vemos es Network:B0... Yuco




Crear contenedor de clonación FOG

En este post anterior vimos como crear una servidor Proxmos donde poder alojar diferentes máquinas y contenedores virtuales.
En éste otro cómo restaurar desde los backups los tres contenedores virtuales que voy a usar en el centro. Ya vimos como hemos creador el contenedor de los repositorios.

En éste, veremos como he hecho el servidor de clonación FOG.

Como en el caso anterior partimos desde la plantilla de Debian 9.
Una de las primeras cosas a hacer es cambiar el idioma a español.

root@clonado:~# dpkg-reconfigure locales

y generamos el local para es_ES ISO-8859-1



Y le decimos que lo aplique al sistema
 

Otra cosa muy importante es establecer en las opciones del repositorio en Features marcar únicamente nesting, ya que de lo contrario no iniciará el servidor nfs y no podremos subir y bajar imágenes. Lo vemos aquí:


- Lo siguiente sería instalar FOG. Yo lo he hecho siguiendo el post de Esteban Navas .

Viene tan bien explicado que sobra cualquier añadido, tan sólo indicar que instalamos Fog para la distribución Debian, que es de la que hemos creado el contenedor, que instalamos un servidor normal, le indicamos los datos nuestra red para configurarla y le indicamos que no deseamos que el servidor FOG no sea servidor dhcp, ya que de eso se encarga nuestro servidor del centro.

- Hay que configurar las imágenes que vamos a almacenar. Una imagen es de un tipo de equipo y va asociada normalmente a un equipo o grupo de equipos. Por ello yo creo primero las imágenes (no es subirlas, tan solo decimos cómo se van a llamar y la ubicación donde se van a almacenar cuando la subamos desde un cliente). Aquí podemos ver que he creado una por cada de tipo de equipo que tengo.



- Antes de importar o añadir los clientes, yo he creado los grupos que contendrán los diferentes equipos. Cada grupo corresponde a un tipo de máquina que hay en el centro.





- Por último añadiríamos los clientes uno a uno o bien lo podemos importar desde un archivo .csv.