GNU/Linux >> Znalost Linux >  >> Debian

Debian Wheezy:Rozdělte a změňte velikost obrazu disku Xen

Pozadí

Jeden z mých virtuálních serverů Xen potřeboval přes víkend rozdělit 400G disk a změnit jeho velikost a já jsem chtěl omezit výpadky na minimum. Disk měl použito 240G, z toho 235G byl adresář /backup a zbývajících 5G bylo vyhrazeno pro běžnou instalaci Debian Linuxu. Chtěl jsem rozdělit disk na dva disky - 20GB disk obsahující systém Linux a 300G disk pro připojení jako / záloha. Pak bych mohl použít své nastavení DRBD k replikaci tohoto 300G zálohovacího oddílu na samostatný 2. zálohovací stroj.

Nechtěl jsem se dostat do situace, kdy budu muset kopírovat hromadu dat na fyzickém hostiteli, a rozhodně jsem nechtěl, aby byl virtuální stroj vypnutý, když jsem to dělal.

Nastavení obrázků

Virtuální počítač má svůj obraz disku umístěný v /vm/domains/b1/disk.img a doprovodný swap.img, o který se nemusíme starat.

Problém:

losetup -a

K vyhledání všech použitých smyčkových zařízení. V mém případě bylo /dev/loop20 prvním bezplatným zařízením. Dále nastavím zařízení zpětné smyčky pro obraz a poté jej připojím:

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

Vytvořit nový prázdný řídký obrázek

Nyní nebudeme přesouvat / zálohu, místo toho přesuneme vše ostatní do nového 20G obrazu. Vytvoříme řídký soubor obrázku o velikosti 20G s:

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

Dále budeme muset nastavit nové smyčkové zařízení, vytvořit souborový systém a nakonec připojit tento nový obraz

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

mkfs.ext3 /dev/loop21

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

Kopírovat kořenový souborový systém

Nyní zkopíruji vše z /mnt/loop-copy-from do /mnt/loop-copy-to kromě záložního adresáře 235G:

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

Vyčištění stávajícího souborového systému

Chci odstranit vše v /mnt/loop-copy-from kromě záložního adresáře:

cd /mnt/loop-copy-from; ls | grep -v 'záloha' | xargs rm -rf

Poté obě zařízení odpojíme:

umount /mnt/loop-copy-from

umount /mnt/loop-copy-to

Zmenšit existující souborový systém

Nyní budu muset zmenšit /dev/loop20 ze 400G na 300G:

e2fsck -f /dev/loop20

resize2fs /dev/loop20 300G

Kopírovat spouštěcí data

A pak zkopírujte spouštěcí data před zničením zařízení zpětné smyčky:

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

losetup -d /dev/loop20

losetup -d /dev/loop21

Konfigurace Xen a spouštění virtuálního počítače

Nyní upravte konfigurační soubor Xen VM, v mém případě /etc/xen/b1.cfg, změnou:

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

S:

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',
]
A nakonec:

xm vytvořit b1.cfg

IO Digital Sec

Debian Wheezy XEN + nastavení hosta


Debian
  1. Nastavení serveru a klienta NFS na Debian Wheezy

  2. Zrychlete webový server Apache pomocí mod_pagespeed a memcached na Debian 7 (Wheezy)

  3. Upgrade z Debian 6 Squeeze pomocí ISPConfig a courier/postfix na Debian 7 Wheezy

  1. Jak zkompilovat a nainstalovat bitcoinové jádro na Debian Wheezy

  2. Instalace Xen Hypervisor 4.8 na Debian Jessie

  3. Je možné změnit velikost obrazu disku QEMU?

  1. Jak nainstalovat Gitlab, Ruby a Nginx na Debian 7 (Wheezy) VPS

  2. Jak zkompilovat ze zdroje a nainstalovat Nginx do Debian 7 (Wheezy) VPS

  3. Nainstalujte Silex na Debian Wheezy