CategoríaDocumentacion

Tip: Migración de servidores a Xen

xen_tipsEste es el segundo post del día relacionado con Xen ya que he estado jugando con Xen, hace tiempo que no probaba cosas. Este post se trata de un tip para poder mgirar cualquier servidor hacia Xen, no importa si está virtualizado con VMWare, si es una máquina fisica, Xen, etc etc, es una forma bastante sencilla que no tiene ninguna ciencia.

La teoría
Copiar todos los archivos (por red) de una máquina a otra manteniendo los permisos e integridad de cada fichero.

La práctica
Lo haremos en 4 sencillos pasos y haciendo uso de la herramienta rsync

Seguir leyendo

Instalar CentOS con Xen en Debian

Luego de intentar varias maneras de instalar CentOS sobre Xen y luego de varios intentos fallidos, puedo resumir todo en 5 sensillos pasos para no morir en el intento.

  1. Descargar las imágenes
  2. Descargar las siguientes imágenes (checkear si existen más nuevas):
    * https://mirror.centos.org/centos/5.3/os/i386/images/xen/vmlinuz
    * https://mirror.centos.org/centos/5.3/os/i386/images/xen/initrd.img

    Por ejemplo, dejemoslo en /tmp/

    wget https://mirror.centos.org/centos/5.3/os/i386/images/xen/vmlinuz -O /tmp/
    wget https://mirror.centos.org/centos/5.3/os/i386/images/xen/initrd.img -O /tmp/

  3. Configuración de la máquina virtual
  4. El fichero de configuración de la máquina debe ser algo como: (//modificar según requerimientos//)

    kernel=’/tmp/vmlinuz’
    ramdisk=’/tmp/initrd.img’
    extra=’text’
    maxmem=’3072′
    memory=’2048′
    vcpus=2

    disk=[
    ‘file:/vm/cpanel/root.img,hda,w’,
    ‘file:/vm/cpanel/home.img,hdb,w’,
    ‘file:/vm/cpanel/tmp_swap.img,hdc,w’,
    ]

    name=’cpanel’
    vif=[ ‘ip=200.55.200.126,mac=00:1B:CC:C3:B3:33,bridge=xenbr1’ ]

    on_poweroff = ‘destroy’
    on_reboot = ‘restart’
    on_crash = ‘restart’

  5. Preparación de discos
  6. root será nuestra partición que montaremos en /
    en home vamos a montar nuestro /home y
    tmp_swap la usaremos para montar /tmp y la swap del sistema.

    Creamos los discos:
    dd if=/dev/zero of=root.img bs=1M count=10240 #10Gb
    dd if=/dev/zero of=home.img bs=1M count=40960 #40Gb
    dd if=/dev/zero of=tmp_swap.img bs=1M count=2048 #2Gb

  7. Instalación
  8. Iniciamos la máquina virtual:
    xm create -c configuration.cfg

    Seguimos paso a paso la instalación y finalizamos.

  9. Booteo
  10. Para bootear debemos hacer una modificacion en el fichero de configuración de la máquina, la dejamos así:

    bootloader = ‘/usr/lib/xen-3.2-1/bin/pygrub’ #El path depende de la version
    extra=’text’
    maxmem=’3072′
    memory=’2048′
    vcpus=2

    disk=[
    ‘file:/vm/cpanel/root.img,hda,w’,
    ‘file:/vm/cpanel/home.img,hdb,w’,
    ‘file:/vm/cpanel/tmp_swap.img,hdc,w’,
    ]

    name=’cpanel’
    vif=[ ‘ip=200.55.200.126,mac=00:1B:CC:C3:B3:33,bridge=xenbr1’ ]

    on_poweroff = ‘destroy’
    on_reboot = ‘restart’
    on_crash = ‘restart’

    Luego iniciamos la maquina:
    xm create configuration.cfg -c

El phishing y la poca preocupación para combatirlo

El phishing es una de las técnicas de robo de identidad e información más fácil de explotar, no porque el hacerlo sea sencillo, sino por las empresas y la gente que no se preocupa de proteger su información. Si bien esta técnica muchas veces requiere de ingenieria social (más aún cuando es un ataque dirigido), conocimientos basicos de programación y/o diseño o desarrollo web, es explotado muchas veces por personas no muy expertas y no necesariamente “hackers”.
El phishing se puede lograr de varias formas, entre las más conocidas están la duplicación de sitios web y mediante la vulnerabilidad XSS. Esta última facilita a la anterior.

Básicamente, ¿Qué es el phishing?

Definamos phishing como una tecnica de “pesca” para robar información privada/personal de personas y/o empresas.

¿Cómo se lleva acabo esta técnica?

Puede resultar tan sencillo como intentar engañar a un niño, pues hacemos creer a una persona algo que no lo es con la finalidad de que esta persona nos entregue datos confidenciales y/o privados, por ejemplo, mediante un formulario de login a un sistema (universidad, banco, etc) falsificado.

Seguir leyendo

Cómo redimenzionar el tamaño de un disco virtual en Xen

hdd-1

El otro día, jugando un rato con Xen me encontré con el problema de querer redimenzionar el tamaño de disco virtual de las máquinas virtuales y, cabezeandome un rato, lo logré.
En teoría, aumentar el tamaño de un disco es fácil, creamos un fichero del tamaño que queramos usando dd y luego concatenamos con el que ya tenemos, creamos el sistema de ficheros y listo. Pero el disminuirlo me pareció más complejo, pero no fue así.

Seguir leyendo

Tip: Liberar memoria ‘cacheada’, dentries e inodos

Hay veces que los programas (especialmente FF) ocupan mucha memoria y la memoria cacheada aumenta hasta quedarnos sin memoria (o con menos de lo que deberíamos tener), esta memoria se puede liberar para que quede utilizable nuevamente, basta con que le tiremos un echo al fichero /proc/sys/vm/drop_caches con los valores 1, 2 o 3 para liberar el pagecache, inodos y dentries, o los tres, respectivamente.
Esta funcionalidad fue implementada en la version 2.6.16 del kernel de linux.

¿Qué es el pagecache, inodos y dentries?
Los ficheros y directorios se representan, en la memoria, como inodos, de esta misma forma, los dentries corresponden a la representación de la información del path, directorios, etc.
Pueden leer una definición de pagecache más completa en: https://en.wikipedia.org/wiki/Pagecache.

Ejemplo:

echo -n 1 > /proc/sys/vm/drop_caches; # Libera el pagecache
echo -n 2 > /proc/sys/vm/drop_caches; # Liberamos inodos y dentries
echo -n 3 > /proc/sys/vm/drop_caches; # Libera pagecache, inodos y dentries.

Pueden ejecutar el comando free -m para ver la memoria antes y despues de liberar el caché.

Xen: Migración de discos fisicos a discos virtuales (pt3)

quantum-bigfoot La migración de discos físicos a discos virtuales para poder montar una VM en Xen es, en teoría, fácil. Es simplemente hacer una copia con dd de las particiones que deseas. Hay que tener mucho cuidado, no debemos hacer una imágen del disco completo, sólo las particiones que deseamos, sin el sector 0 (mbr), ni tabla de particiones, etc. Tampoco recomiendo migrar la swap, es mejor crearla (en teoría demoraría menos).

Cuando se trata de máquinas de producción o servidores, lo que debemos hacer para no tener conflictos con las direcciones ip, hostnames, fstab o cualquier configuración especial que tenga esa máquina que de una u otra forma pueda generar conflictos, es montarla con loop y modificar las configuraciones directamente desde la imágen que creamos.
Los pasos a seguir (recomendados por mi) son:

  1. Determinar qué particiones son las que debemos migrar.
  2. Hace las imágenes correspondientes de cada partición.
  3. Configuración de la máquina virtual (crear el .cfg).
  4. Montar las particiones que podrían generar algún tipo de conflicto y modificar los archivos necesarios.
  5. Creación de la swap.
  6. Levantar la máquina.

Seguir leyendo