1757
Commentaire:
|
3900
Finalisation de la conversion (sans VIRT-MANAGER)
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
||<#ffff00> /!\ Cette page est en cours d'ébauche. /!\ || | <<TableOfContents()>> |
Ligne 5: | Ligne 5: |
== Premier essai == * création de la nouvelle image de VM (`kvm-img` est obsolète) : {{{ |
== Préparation de l'image de disque == * création de la nouvelle image de VM (NB : `kvm-img` est obsolète) : {{{ |
Ligne 14: | Ligne 15: |
* partitionner le disque (un swap et une racine) et formater la racine : {{{ | * partitionner le disque (partition racine) et formater : {{{ |
Ligne 16: | Ligne 17: |
# mkfs.ext4 /dev/nbd1p2 | # mkfs.ext4 /dev/nbd1p1 |
Ligne 18: | Ligne 19: |
. /!\ ''la pertinence du swap dans une VM serait à étudier… -- ProgFou'' | == Copie des données du CT vers le disque image == |
Ligne 20: | Ligne 23: |
# mount /dev/nbd1p2 /mnt/ | # mount /dev/nbd1p1 /mnt/ |
Ligne 23: | Ligne 26: |
== Adaptation de la config de la VM == |
|
Ligne 30: | Ligne 36: |
/dev/vda2 / ext4 errors=remount-ro 0 1 /dev/vda1 none swap sw 0 0 |
/dev/vda1 / ext4 errors=remount-ro 0 1 /dev/vda2 none swap sw 0 0 |
Ligne 33: | Ligne 39: |
* ''installer grub !? -- ProgFou'' | |
Ligne 36: | Ligne 41: |
* lancer la VM | == Finalisation de la conversion (via VIRT-MANAGER) == * sur le serveur hôte : copier le noyau et le initrd système : {{{ # cp /boot/vmlinuz-$(uname -r) /boot/initrd.img-$(uname -r) /var/lib/libvirt/images/ }}} * via virt-manager (sous Ubuntu) : * créer une nouvelle VM en utilisant l'image créée plus haut * réseau : associer la VM au bon bridge * une fois la VM créée, dans les "options de boot", dérouler l'option "démarrage direct sur le noyau" et renseigner les champs noyau, initrd (parcourir et sélectionner les fichiers précédemment copiés) et arguments du noyau (préciser le disque root) : {{attachment:Sélection_015.png}} * démarrer la VM, s'y connecter (via ssh ou sur la console virt-manager) et installer le noyau, grub2, etc. : {{{ # apt-get install linux-image-amd64 grub-pc # apt-get install console-tools console-data acpid acpi-support-base # aptitude reinstall udev }}} lire [[http://sysadmin.smile.fr/post/2013/02/20/Migrate-your-OpenVZ-containers-to-KVM|"Fourth step: start the Virtual Machine"]] pour les explications. * arrêter la VM, supprimer les options de "démarrage direct sur le noyau" (noyau, initrd et disque root) * démarrer la VM sur son propre noyau (démarrage normal) == Finalisation de la conversion (sans VIRT-MANAGER) == '''Sur le Hote : Lancement de la VM''' * kvm -m 512 -kernel /boot/vmlinuz-$(uname -r) -initrd /boot/initrd.img-$(uname -r) -append "root=/dev/vda1" -drive file=/var/lib/libvirt/images/proxy.img,if=virtio -net nic,model=virtio -net vmbr1 -vnc :20 -k fr * -net vmbr1 (bridge) hote * -k fr ne semble pas fonctionne...à revoir ! * -vnc :20 port 20 ouvert pour vnc distant '''Sur le client : connexion à la VM''' * gvncviewer serveur-kvm:20 * Attention le clavier est en qwerty ! {{{ # apt-get install linux-image-amd64 grub-pc # apt-get install console-tools console-data acpid acpi-support-base # aptitude reinstall udev }}} '''Sur le Hôte : création de la VM''' * virt-install --import --disk path=/var/lib/libvirt/images/proxy.img --vcpus=2 --ram=1024 --name=proxy --hvm --vnc --network bridge:vmbr1 |
Ligne 42: | Ligne 91: |
* http://www.pither.com/simon/blog/2011/09/20/convert-an-openvz-vm-to-kvm (celle mise en œuvre ici) | * http://www.pither.com/simon/blog/2011/09/20/convert-an-openvz-vm-to-kvm * http://blog.smile.fr/Cloud/Migrate-your-openvz-containers-to-kvm-openstack |
Ligne 45: | Ligne 95: |
CatégorieEbauche |
Sommaire
KVMLibvirt/OpenvzToKVM
Préparation de l'image de disque
création de la nouvelle image de VM (NB : kvm-img est obsolète) :
# qemu-img create -f qcow2 /var/lib/libvirt/images/frontal.img 3G Formatting '/var/lib/libvirt/images/frontal.img', fmt=qcow2 size=3221225472 encryption=off cluster_size=65536
monter l'image (il faut le module ndb) :
# modprobe nbd max_part=8 # qemu-nbd -c /dev/nbd1 frontal.img
partitionner le disque (partition racine) et formater :
# cfdisk /dev/nbd1 # mkfs.ext4 /dev/nbd1p1
Copie des données du CT vers le disque image
monter la racine et y copier les données de notre CT :
# mount /dev/nbd1p1 /mnt/ # rsync -avPHS --numeric-ids vz-www:/vz/root/109/ /mnt/
Adaptation de la config de la VM
chroot dans le dossier copié : chroot /mnt /bin/bash
adapter/vérifier la config : /etc/hosts, /etc/resolv.conf, /etc/network/interfaces
activer les tty (2 suffiront) en ajoutant dans /etc/inittab :
1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2
configurer /etc/fstab :
/dev/vda1 / ext4 errors=remount-ro 0 1 /dev/vda2 none swap sw 0 0
quitter le chroot, démonter le /mnt, puis détruire le nbd avec qemu-nbd -d /dev/nbd1
Finalisation de la conversion (via VIRT-MANAGER)
sur le serveur hôte : copier le noyau et le initrd système :
# cp /boot/vmlinuz-$(uname -r) /boot/initrd.img-$(uname -r) /var/lib/libvirt/images/
- via virt-manager (sous Ubuntu) :
- créer une nouvelle VM en utilisant l'image créée plus haut
- réseau : associer la VM au bon bridge
- une fois la VM créée, dans les "options de boot", dérouler l'option "démarrage direct sur le noyau" et renseigner les champs noyau, initrd (parcourir et sélectionner les fichiers précédemment copiés) et arguments du noyau (préciser le disque root) :
démarrer la VM, s'y connecter (via ssh ou sur la console virt-manager) et installer le noyau, grub2, etc. :
# apt-get install linux-image-amd64 grub-pc # apt-get install console-tools console-data acpid acpi-support-base # aptitude reinstall udev
lire "Fourth step: start the Virtual Machine" pour les explications.
- arrêter la VM, supprimer les options de "démarrage direct sur le noyau" (noyau, initrd et disque root)
- démarrer la VM sur son propre noyau (démarrage normal)
Finalisation de la conversion (sans VIRT-MANAGER)
Sur le Hote : Lancement de la VM
- kvm -m 512 -kernel /boot/vmlinuz-$(uname -r) -initrd /boot/initrd.img-$(uname -r) -append "root=/dev/vda1" -drive file=/var/lib/libvirt/images/proxy.img,if=virtio -net nic,model=virtio -net vmbr1 -vnc :20 -k fr
- -net vmbr1 (bridge) hote
- -k fr ne semble pas fonctionne...à revoir !
- -vnc :20 port 20 ouvert pour vnc distant
Sur le client : connexion à la VM
- gvncviewer serveur-kvm:20
- Attention le clavier est en qwerty !
# apt-get install linux-image-amd64 grub-pc # apt-get install console-tools console-data acpid acpi-support-base # aptitude reinstall udev
Sur le Hôte : création de la VM
- virt-install --import --disk path=/var/lib/libvirt/images/proxy.img --vcpus=2 --ram=1024 --name=proxy --hvm --vnc --network bridge:vmbr1
Documentation
http://sysadmin.smile.fr/post/2013/02/20/Migrate-your-OpenVZ-containers-to-KVM
https://www.webhostpython.com/billing/knowledgebase.php?action=displayarticle&id=32
http://www.pither.com/simon/blog/2011/09/20/convert-an-openvz-vm-to-kvm
http://blog.smile.fr/Cloud/Migrate-your-openvz-containers-to-kvm-openstack