GNU/Linux >> Tutoriales Linux >  >> Debian

Debian Wheezy:dividir y cambiar el tamaño de la imagen del disco Xen

Fondo

Uno de mis servidores virtuales Xen necesitaba tener su disco de 400 G dividido y redimensionado durante el fin de semana, y quería reducir al mínimo el tiempo de inactividad. El disco tenía 240G utilizados, 235G de los cuales eran un directorio /backup y los 5G restantes dedicados a una instalación normal de Debian Linux. Quería dividir el disco en dos discos:un disco de 20 GB que contiene el sistema Linux y un disco de 300 G para montar como copia de seguridad. Entonces podría aplicar mi configuración DRBD para replicar esa partición de copia de seguridad de 300 G en una segunda máquina de copia de seguridad separada.

No quería terminar en una situación en la que tuviera que copiar una gran cantidad de datos en el host físico, y ciertamente no quería que la máquina virtual se apagara mientras lo hacía.

Configurar imágenes

La máquina virtual tiene su imagen de disco ubicada en /vm/domains/b1/disk.img y un swap.img adjunto del que no debemos preocuparnos.

Problema:

losetup -a

Para localizar todos los dispositivos de bucle usados. En mi caso, /dev/loop20 fue el primer dispositivo gratuito. A continuación, configuraré un dispositivo de bucle invertido para la imagen y luego lo montaré:

mkdir -p /mnt/bucle-copiar-desde /mnt/bucle-copiar-a

losetup /dev/loop20 /vm/domains/b1/disk.img

mount /dev/loop20 /mnt/loop-copy-from

Crear una nueva imagen dispersa vacía

Ahora, no vamos a mover / respaldar, sino que vamos a mover todo lo demás a la nueva imagen 20G. Crearemos un archivo de imagen dispersa de 20G con:

dd if=/dev/zero of=/vm/domains/b1/disk-root.img bs=1k count=1 seek=$(((20*1024*1024)-1))

A continuación, necesitaremos configurar un nuevo dispositivo de bucle, crear un sistema de archivos y finalmente montar esta nueva imagen

losetup /dev/loop21 /vm/domains/b1/disk-root.img

mkfs.ext3 /dev/loop21

mount /dev/loop21 /mnt/loop-copy-to

Copiar sistema de archivos raíz

Ahora, copiaré todo desde /mnt/loop-copy-from a /mnt/loop-copy-to aparte del directorio de copia de seguridad 235G:

rsync -arplogu --exclude "/backup" --stats --progress /mnt/bucle-copiar-desde/ /mnt/bucle-copiar-a

Limpiar el sistema de archivos existente

Quiero eliminar todo en /mnt/loop-copy-from excepto el directorio de copia de seguridad:

cd /mnt/bucle-copiar-desde; ls | grep -v 'copia de seguridad' | xargs rm -rf

Luego desmontaremos ambos dispositivos:

desmontar /mnt/bucle-copiar-desde

desmontar /mnt/bucle-copiar-a

Reducir el sistema de archivos existente

Ahora necesitaré reducir /dev/loop20 de 400G a 300G:

e2fsck -f /dev/loop20

resize2fs /dev/loop20 300G

Copiar datos de arranque

Y luego, copie los datos de arranque antes de destruir los dispositivos de loopback:

dd if=/dev/loop20 of=/dev/loop21 bs=1 cuenta=512

losetup -d /dev/loop20

losetup -d /dev/loop21

Configuración de Xen y arranque de VM

Ahora edite el archivo de configuración de Xen VM, en mi caso, /etc/xen/b1.cfg, cambiando:

disk = [
  'file:/vm/domains/b1/disk.img,xvda2,w',
  'file:/vm/domains/b1/swap.img,xvda1,w',
]

Con:

disk = [
  'file:/vm/domains/b1/disk-root.img,xvda2,w',
  'file:/vm/domains/b1/disk.img,xvda3,w',
  'file:/vm/domains/b1/swap.img,xvda1,w',
]
Y finalmente:

xm crear b1.cfg

Enlaces

Seguridad digital de E/S

Debian Wheezy XEN + Configuración de invitado


Debian
  1. Actualización de Debian 6 Squeeze con ISPConfig y courier/postfix a Debian 7 Wheezy

  2. Instalación de Xen Hypervisor 4.8 en Debian Jessie

  3. Cómo instalar Gitlab, Ruby y Nginx en un VPS Debian 7 (Wheezy)

  4. Cómo compilar desde la fuente e instalar Nginx en un VPS Debian 7 (Wheezy)

  5. Instalar Silex en Debian Wheezy

Usuarios virtuales y dominios con Postfix, Courier, MySQL y SquirrelMail (Debian Wheezy)

Instalación de Nginx con PHP5 (y PHP-FPM) y compatibilidad con MySQL (LEMP) en Debian Wheezy

Instalación de Lighttpd con soporte PHP5 (PHP-FPM) y MySQL en Debian Wheezy

Cómo redimensionar y hacer crecer discos en FreeBSD

Cómo instalar Wine en Debian 7 Wheezy

Instalar y configurar Fail2ban en Debian 11