Fysieke server virtualiseren

Stel je hebt een fysieke productie linux server en daar wil je de belangrijke software die je daarop hebt draaien van versie 10 naar 11 upgraden.

Doordat het zo belangrijke software is wil je zeker weten dat de upgrade succesvol verloopt. Wanneer deze server virtueel zou zijn geweest zou je een clone gemaakt hebben en op deze clone in een testomgeving de procedure uittesten

Maar het probleem is, je server is niet virtueel maar fysiek. Nou zou je een image kunnen maken van de server en die uitrollen in op de virtuele server, maar dan moet de server offline.

De procedure die ik dan afloop houd in dat ik middels rsync een kopie maak van de server.

 

1. Maak binnen virtualbox een machine aan.
2. Open middels vdfuse de disk van de virtuele machine.

# vdfuse -f ~/VirtualBox\ VMs/lab-server-01/lab-server-01.vdi /mnt/nbd0p1/

3. Partitioneer de virtuele disk, dit mag groter of kleiner zijn dan de bestaande server. Belangrijkste is dat de data op de disk past, vergeet niet ook de boot partitie de boot bit te activeren.

# cfdisk /mnt/nbd0p1/EntireDisk

4. Formateer de partities:
# mkfs.ext4 /mnt/nbd0p1/Partition1
# mkswap /mnt/nbd0p1/Partition2

5. Mount de partities:
# mount /mnt/nbd0p1/Partition1 /mnt/par1

6. Plaats de data op de partitie, middels dit rsync commando kopieer ik alle data over van de server exclusief de device bestanden. Let op hier kopieer je ook alle bestanden die eventueel via een share gemount zijn op de server. Dus controleer goed of je meer wilt exclude.

# blkid /mnt/nbd0p1/Partition1
#   /mnt/nbd0p1/Partition2

9. open het fstab bestand en verander de device points die je zojuist hebt opgezocht naar die waardes:

UUID=164a3c0e-9d4c-4f39-b252-018978f1d775 /               btrfs   defaults,subvol=@ 0       1

10. Verwijder de netwerk adapters zodat je weer netjes eth0 krijgt na het online brengen van de machine:

# nano etc/udev/rules.d/70-persistent-net.rules

11. Umount de disks:

# umount /mnt/par1
# umount /mnt/nbd0p1

12. Boot up het virtuele systeem, je zal zien dat de server nog niet zal booten, koppel de ubuntu installatie iso aan het virtuele systeem. Letop, zorg dat je de zelfde versie gebruikt als het fysieke systeem, dus als fysiek 10.04 64bits is gebruikt moet je ook die iso gebruiken.

13. Ga naar de recovery procedure, hier herinstalleer je grub en in de chroot omgeving voer je update-grub uit.

reboot de server en verwijder de CDROM/iso, nu zal je zien dat de server mooi virtueel actief wordt.