GNU/Linux >> Linux Esercitazione >  >> Debian

Debian Wheezy:divide e ridimensiona l'immagine del disco Xen

Sfondo

Uno dei miei server virtuali Xen doveva dividere e ridimensionare il suo disco da 400G durante il fine settimana e volevo ridurre al minimo i tempi di inattività. Il disco aveva 240G utilizzati, 235G dei quali era una directory /backup e il restante 5G dedicato a una normale installazione di Debian Linux. Volevo dividere il disco in due dischi:un disco da 20 GB contenente il sistema Linux e un disco da 300 GB da montare come /backup. Quindi potrei applicare la mia configurazione DRBD per replicare quella partizione di backup da 300G su una seconda macchina di backup separata.

Non volevo finire in una situazione in cui dovevo copiare un carico di dati sull'host fisico e di certo non volevo che la macchina virtuale si spegnesse mentre lo facevo.

Imposta immagini

La macchina virtuale ha la sua immagine disco situata in /vm/domains/b1/disk.img e un file swap.img di accompagnamento di cui non dobbiamo preoccuparci.

Problema:

losetup -a

Per individuare tutti i dispositivi loop utilizzati. Nel mio caso, /dev/loop20 è stato il primo dispositivo gratuito. Successivamente, imposterò un dispositivo di loopback per l'immagine, quindi lo monterò:

mkdir -p /mnt/loop-copy-from /mnt/loop-copy-to

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

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

Crea una nuova immagine sparse vuota

Ora, non sposteremo /backup, ma sposteremo tutto il resto nella nuova immagine 20G. Creeremo un file immagine sparso di 20G con:

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

Successivamente, dovremo configurare un nuovo dispositivo loop, creare un filesystem e infine montare questa nuova immagine

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

mkfs.ext3 /dev/loop21

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

Copia il filesystem radice

Ora copierò tutto da /mnt/loop-copy-from a /mnt/loop-copy-to a parte la directory di backup 235G:

rsync -arplogu --exclude "/backup" --stats --progress /mnt/loop-copy-from/ /mnt/loop-copy-to

Ripulisci il filesystem esistente

Voglio rimuovere tutto su /mnt/loop-copy-from tranne la directory di backup:

cd /mnt/loop-copia-da; ls | grep -v 'backup' | xargs rm -rf

Smonteremo quindi entrambi i dispositivi:

smonta /mnt/loop-copy-from

smonta /mnt/loop-copy-to

Riduci il filesystem esistente

Ora dovrò ridurre /dev/loop20 da 400G a 300G:

e2fsck -f /dev/loop20

resize2fs /dev/loop20 300G

Copia dati di avvio

E quindi, copia i dati di avvio prima di distruggere i dispositivi di loopback:

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

losetup -d /dev/loop20

losetup -d /dev/loop21

Configurazione Xen e avvio VM

Ora modifica il file di configurazione di Xen VM, nel mio 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',
]
E infine:

xm crea b1.cfg

IO Digital Sec

Debian Wheezy XEN + Configurazione ospite


Debian
  1. Come compilare e installare Bitcoin Core su Debian Wheezy

  2. Come installare Gitlab, Ruby e Nginx su un VPS Debian 7 (Wheezy).

  3. Come compilare dal sorgente e installare Nginx in un VPS Debian 7 (Wheezy).

  4. Installa Silex su Debian Wheezy

  5. Come installare Group Office (un CRM aziendale e uno strumento di collaborazione) su Debian 7 (Wheezy)

Utenti virtuali e domini con Postfix, Courier, MySQL e SquirrelMail (Debian Wheezy)

Installazione di Nginx con PHP5 (e PHP-FPM) e supporto MySQL (LEMP) su Debian Wheezy

Installazione di Lighttpd con PHP5 (PHP-FPM) e supporto MySQL su Debian Wheezy

Come ridimensionare e far crescere i dischi in FreeBSD

Come installare Wine su Debian 7 Wheezy

Installa e configura Fail2ban su Debian 11