martes, 23 de marzo de 2010

Clonar un Servidor en caliente

1. Realizar una instalación base en el servidor destino. (Lo mas similar a la instalacion del servidor origen, en especial las particiones).
2. Actualizar el servidor (update & upgrade).
3. Instalar todos los paquetes que estan instalados en el servidor origen.
3.1. En el servidor origen crear una lista de paquetes instalados:

sudo dpkg --get-selections > lista_paquetes_instalados

3.2. En el servidor destino instalar la lista de paquetes creada en 3.1.

sudo dpkg --set-selections < lista_paquetes_instalado
sudo aptitude install -f


4. Ahora solo queda sincronizar el servidor destino con el origen.

rsync -av --progress --inplace --rsh='ssh -pPORT' --exclude=boot/ --exclude=dev/ --exclude=proc/ --exclude=sys/ --exclude=selinux/ --exclude=media/ --exclude=mnt/ --exclude=srv/ --exclude=etc/fstab --exclude=etc/udev/ root@IP_SERVER_ORIGEN:/ .


Nota: Se debe habilitar la opcion de login de root por ssh en el servidor origen.

lunes, 22 de marzo de 2010

Repositorios Locales

Los pasos son los siguientes:

1.- Instalar el paquete debmirror.
2.- Se puede hacer de dos maneras:
3.- Crear una carpeta en el lugar deseado a colocar el mirror. (e.g. /home/repositorios).
4.- Para la copia de los archivos existen dos maneras sencillas de solucionarlo.

4.1- Una es, si se dispone de los dvd's se debe copiar de cada cada uno de ellos las carpetas dist y pool a la carpeta creaada en el paso 3. Luego correr el script de actualización de mirror.

4.2 La segunda es mas sencilla, pero depende de la conexión a internet ya que al correr solo el script se bajara todos los paquetes necesarios para el mirror. (Muchos Gb).

5.- La creación con el script es sencilla ya que con el paquete instalado en el paso 1 solo se debe pasar los parametros correctos.



#!/bin/bash

## Variables para debmirror
export GNUPGHOME=/home/mirrorkeyring
arch=amd64,i386
section=main,restricted,universe,multiverse
release=hardy,hardy-security,hardy-updates
server=cc.archive.ubuntu.com
inPath=/ubuntu
proto=ftp
outPath=/home/repositorio/

## Archivos de log
LOGDIR=/var/log/mirror
LOGFILE=ubuntu.log

echo "Script de Actualizacion Automatica de MIRRORs de Ubuntu Hardy $arch"
echo "Verificando..."
st=`ps cax |grep -c "debmirror"`
echo "Analizando Ejecucion..."
if [ $st -eq 0 ];then
echo "Ejecutando Actualizacion...."
cp $LOGDIR/$LOGFILE $LOGDIR/$LOGFILE.old
echo '' > $LOGDIR/$LOGFILE
debmirror -a $arch \
-s $section \
-h $server \
-d $release \
-r $inPath \
--progress \
-e $proto \
--ignore-release-gpg \
--passive \
$outPath > $LOGDIR/$LOGFILE 2>&1
echo "Listo... puedes ver el log en $LOGDIR/$LOGFILE"
else
echo "Debmirror ya se está ejecutando"
echo "La Actualizacion esta en proceso..."
fi