unix:xen_p2v_howto
 

xen p2v ( physical to virtual) howto

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.

1 - on prépare la place pour vieuxpc sur le serveur xen

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

2- On copie les données de vieuxpc

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}

3- on installe le bootloader

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>

4 - on teste et on met en prod

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.

 
unix/xen_p2v_howto.txt · Last modified: 2010/01/12 14:29 (external edit)
   
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki