manuales:servidor_systemimager
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| manuales:servidor_systemimager [2011/03/18 18:49] – cayu | manuales:servidor_systemimager [2015/01/09 19:01] (actual) – [Procedimiento de recuperación] cayu | ||
|---|---|---|---|
| Línea 10: | Línea 10: | ||
| * Actualización periódica de las Imágenes de los servidores | * Actualización periódica de las Imágenes de los servidores | ||
| * Recuperación de un equipo a partir de una Imagen, minimizando la intervención manual dentro del procedimiento | * Recuperación de un equipo a partir de una Imagen, minimizando la intervención manual dentro del procedimiento | ||
| + | * Que se pueda utilizar cualquier hardware disponible sin tener que perder tiempo generando configuraciones especiales | ||
| + | * Proceso lo mas desatendido posible | ||
| ===== Esquema de implementación ===== | ===== Esquema de implementación ===== | ||
| Línea 417: | Línea 419: | ||
| - | ^^Disco^Sistema de archivos^Tamaño^Punto de montaje^^ | + | ^Disco^Sistema de archivos^Tamaño^Punto de montaje^ |
| |hda4|swap|1000|swap| | |hda4|swap|1000|swap| | ||
| |hda1|ext3|15119|/ | |hda1|ext3|15119|/ | ||
| Línea 424: | Línea 426: | ||
| + | El Kickstart para esa maquina | ||
| - | Y el archivo /var/lib/systemimager/scripts/ | + | < |
| + | install | ||
| + | url --url http:// | ||
| + | key 6c2e0645686a4a06 | ||
| + | |||
| + | lang es_ES.UTF-8 | ||
| + | keyboard es | ||
| + | |||
| + | #network --device eth0 --bootproto static --ip 10.1.2.142 --netmask 255.255.255.0 --gateway 10.1.2.1 --nameserver 10.1.1.3 --hostname proxy1-dom0 | ||
| + | network --bootproto=dhcp | ||
| + | |||
| + | rootpw --iscrypted $1$56iPwDr8$C59yfOfHe/ | ||
| + | firewall --disabled | ||
| + | authconfig --enableshadow --enablemd5 | ||
| + | selinux --disabled | ||
| + | timezone --utc America/ | ||
| + | bootloader --location=mbr --driveorder=cciss/ | ||
| + | |||
| + | clearpart --all --drives=sda | ||
| + | part /boot --fstype ext3 --size=100 --ondisk=sda | ||
| + | part pv.100000 --size=0 --grow --ondisk=sda | ||
| + | volgroup VolGroup00 --pesize=32768 pv.100000 | ||
| + | logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=15184 | ||
| + | logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=596 --grow --maxsize=992 | ||
| + | |||
| + | %packages | ||
| + | @spanish-support | ||
| + | @virtualization | ||
| + | wget | ||
| + | rsync | ||
| + | kernel-xen | ||
| + | xen-libs | ||
| + | |||
| + | %post --interpreter=/ | ||
| + | |||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | Y el archivo /var/www/html/ks/ | ||
| < | < | ||
| Línea 479: | Línea 520: | ||
| module / | module / | ||
| </ | </ | ||
| + | |||
| + | Script de recuperacion de la VM | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | #Script para automatizar el deploy de una vm | ||
| + | domU=$1 | ||
| + | imageserver=10.1.202.224 | ||
| + | |||
| + | function error() { | ||
| + | if [ $1 == 0 ]; then | ||
| + | echo ' | ||
| + | else | ||
| + | echo ' | ||
| + | exit 1 | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | if [ $# != 1 ]; then | ||
| + | echo "Uso: $0 nombredelaimagen" | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | |||
| + | if [ -e / | ||
| + | echo / | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | if [ $(which xm) != 0 ]; then | ||
| + | xm=1 | ||
| + | else | ||
| + | echo "No encuentro xm, no voy a poder arrancar la VM." | ||
| + | xm=0 | ||
| + | fi | ||
| + | |||
| + | vgs=$(vgdisplay | grep "VG Name"| uniq | wc -l ) | ||
| + | vgs=`echo $vgs | sed " | ||
| + | |||
| + | case $vgs in | ||
| + | 0) | ||
| + | echo "No encontre ningun Volume Group, crear VG antes de correr este script" | ||
| + | exit 1 | ||
| + | ;; | ||
| + | 1) | ||
| + | vg=$(vgdisplay | grep "VG Name"| awk {' | ||
| + | echo " | ||
| + | ;; | ||
| + | # *) | ||
| + | # while [ -z $vg ]; do | ||
| + | # echo $(vgdisplay |grep "VG Name" | ||
| + | # read -p " | ||
| + | # grep $REPLY /tmp/vgs && vg=$REPLY | ||
| + | # done | ||
| + | # ;; | ||
| + | esac | ||
| + | |||
| + | echo -n " | ||
| + | rsync $imageserver:: | ||
| + | error $? | ||
| + | mkdir -p /mnt/$domU | ||
| + | |||
| + | #Calculo de espacio libre en el VG | ||
| + | vgfree=$(vgs VolGroup00 --noheadings --units M -o vg_free|cut -dM -f1|tr -d " "| cut -d, -f1) | ||
| + | vgfree=`echo " | ||
| + | |||
| + | for DISK in $( cat / | ||
| + | SIZE=$(echo $DISK | cut -d, -f3) | ||
| + | TSIZE=$(($TSIZE +SIZE)) | ||
| + | TSIZE=`echo " | ||
| + | done | ||
| + | |||
| + | echo "En total voy a necesitar $TSIZE Mb " | ||
| + | |||
| + | if [ $vgfree -lt $TSIZE | ||
| + | echo "No hay espacio suficiente en el VG seleccionado, | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | for DISK in $(cat / | ||
| + | |||
| + | DEV=$(echo $DISK | cut -d, -f1) | ||
| + | FSTYPE=$(echo $DISK | cut -d, -f2) | ||
| + | SIZE=$(echo $DISK | cut -d, -f3) | ||
| + | MNT=$(echo $DISK | cut -d, -f4) | ||
| + | |||
| + | case $MNT in | ||
| + | '/' | ||
| + | lvname=$domU-root | ||
| + | ;; | ||
| + | ' | ||
| + | lvname=$domU-swap | ||
| + | ;; | ||
| + | *) | ||
| + | lvname=$domU-$( echo $MNT | sed s%/%-%g | /bin/cut -c1 --complement) | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | echo -n " | ||
| + | if [ -e / | ||
| + | echo " | ||
| + | exit 1 | ||
| + | else | ||
| + | lvcreate -L$SIZE -n $lvname $vg > /dev/null | ||
| + | error $? | ||
| + | if [ $FSTYPE = " | ||
| + | mkswap / | ||
| + | else | ||
| + | echo -n " | ||
| + | mkfs.$FSTYPE -q / | ||
| + | error $? | ||
| + | mkdir -p / | ||
| + | echo -n " | ||
| + | mount / | ||
| + | error $? | ||
| + | fi | ||
| + | fi | ||
| + | |||
| + | done | ||
| + | |||
| + | echo -n " | ||
| + | rsync -vaSH --quiet | ||
| + | error $? | ||
| + | |||
| + | #for DISK in $(cat / | ||
| + | for DISK in $(cat / | ||
| + | FSTYPE=$(echo $DISK | cut -d, -f2) | ||
| + | MNT=$(echo $DISK | cut -d, -f4) | ||
| + | if [ $FSTYPE != ' | ||
| + | echo -n " | ||
| + | umount / | ||
| + | error $? | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | echo -n " | ||
| + | rsync $imageserver:: | ||
| + | error $? | ||
| + | |||
| + | #if [ $xm == ' | ||
| + | # echo -n " | ||
| + | # xm create -c / | ||
| + | #fi | ||
| + | |||
| + | ln -s / | ||
| + | |||
| + | # Ajustando parametros de booteo del sistema | ||
| + | sed -e ' | ||
| + | </ | ||
| + | |||
| + | Lo único que tendremos que editar es el archivo de configuración de la maquina virtual de Xen, ajustandole el parametro memory acorde a los recursos prensentes en el hardware nuevo. | ||
| + | |||
| + | {{ : | ||
manuales/servidor_systemimager.1300474186.txt.gz · Última modificación: 2011/03/18 18:49 por cayu
