version initiale par marcello
manu chez fra.net
Comment remédier au tombage en ruine physique d'un serveur (vieuxpc) en migrant l'OS dans un domU HVM Xen flambant neuf.
Créer une image de disque ( taille 20 GB):
dd if=/dev/zero of=/vieuxpc/vieuxpc.hda.img bs=1024k count=20000
Créer un loop device correspondant à l'image du disque entier
losetup /dev/loop0 /vieuxpc/vieuxpc.hda.img
Partitionner l'image:
fdisk /dev/loop0
Lister les partitions créées
fdisk -ul /dev/loop0
Disk /dev/loop0: 20.9 GB, 20971520000 bytes
255 heads, 63 sectors/track, 2549 cylinders, total 40960000 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/loop0p1 63 17591174 8795556 83 Linux
/dev/loop0p2 17591175 19567169 987997+ 82 Linux swap / Solaris
Attacher les partitions comme loop devices:
losetup -o $((63*512)) /dev/loop1 /vieuxpc/vieuxpc.hda.img losetup -o $((17591175*512)) /dev/loop2 /vieuxpc/vieuxpc.hda.img
Formater: ( note: 8795556 est le nombre de blocks tel qu'affiche par fdisk )
mkfs.ext3 /dev/loop1 8795556 mkswap /dev/loop2 987997
Monter la partition racine de vieuxpc et copier les données:
mount /dev/loop0 /target mount /dev/sdc2 /source cd /source tar cf - . | ( cd /target/ && tar xf -)
Editer /target/boot/grub/menu.lst pour qu'il coincide avec votre schema de partitionnement
root (hd0,0) kernel /boot/vmlinuz-2.6.18-5-486 root=/dev/hda1 ro initrd /boot/initrd.img-2.6.18-5-486
On démonte tout le bazar
umount /target
umount /source
losetup -d /dev/loop{0,1,2}
Installer GRUB sur le disque a L'aide d'une disquette de secours grub:
cat /usr/lib/grub/stage[12] > floppy.img
Note: les utilisateurs de debian peuvent installer grub-disk, une image bootable de GRUB preconfiguree pour booter pas mal d'OS.
qemu -fda floppy.img -hda /vieuxpc/vieuxpc.hda.img -boot a GNU GRUB version 0.95 (639K lower / 31744K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... no Running "install /boot/grub/stage1 (hd0) /boot/grub/stage2 p /boot/grub/menu.l st "... succeeded Done. grub>
Tester le tout avec qemu:
qemu -hda /vieuxpc/vieuxpc.hda.img
Creer le fichier de conf xen-hvm cf http://wiki.gcu.info/doku.php?id=unix:xen_hvm par exemple:
name="vieuxpc" kernel = "/usr/lib/xen/boot/hvmloader" builder = "hvm" vif=['type=ioemu, mac=00:16:3E:00:03:05, bridge=xenbr0'] disk = [ 'file:/vieuxpc/vieuxpc.hda.img,ioemu:hda,w' ] device_model = "/usr/lib/xen/bin/qemu-dm" dhcp="dhcp" memory="256" on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' vnc=1
Au premier boot, reconfigurer l'interface reseau, l'interface physique n'existant évidemment plus, on dispose a la place d'une carte réseau ne2000 emulée.