This is an old revision of the document!


Instalace KVM

TODO: udelat tutorial :)

Vytvoreni guesta

Debian 8

  1. Instalace guestu:
    virt-install -n vps1 --ram=2048 --vcpus=2 --location='http://ftp.cz.debian.org/debian/dists/jessie/main/installer-amd64/' --disk path=/dev/shared_vg/vps1  --network bridge=br0 --os-type linux --console pty,target_type=serial --graphics none --os-variant generic --extra-args 'console=ttyS0,115200n8 serial'
  2. v grubu pridat do radky linux
    console=tty0 console=ttyS0,115200
  3. do /etc/default/grub pridat do GRUB_CMDLINE_LINUX_DEFAULT “console=tty0 console=ttyS0,115200”
    GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200"

Vzdaleny pristup

Pres certifikaty

https://libvirt.org/remote.html

  • note: nepovedlo se mi rozbehat

Pres libvirt + ssh

import libvirt
conn = libvirt.open("qemu+ssh://root@10.0.0.120")
 
# vypis bezicich vps (interni ID)
conn.listDomainsID()
 
# nalezeni vps podle ID (pouze bezici)
vps = conn.lookupByID(1)
 
# nalezeni vps podle jmena (bere i masiny, ktere jsou nebezici, ale nadefinovane)
vps1 = conn.lookupByName("vps1")
 
# spusteni
vps1.start()
 
# pause
vps1.suspend()
 
# unpause
vps1.resume()
 
# shut down
vps1.shutdown()
 
# force shutdown
vps1.destroy()
 
# close connection
conn.close()

HOT migration

  • NOTE: we cannot use kvm migration, since we use mirrored clustered LVM (mirrored volume could not be activated on more than one node in time)
  • use following script instead:
    #!/bin/bash
     
    if [ $# != 2 ]; then
            echo "Usage: move_vps.sh domain destination"
            exit 1
    fi
     
    MACHINE=$1
    DESTINATION=$2
     
    XML_NAME=/tmp/$MACHINE
    virsh dumpxml $MACHINE > $XML_NAME
    scp ${XML_NAME} root@${DESTINATION}:${XML_NAME}
    rm $XML_NAME
     
    IMG_NAME=/tmp/${MACHINE}.img
    virsh save $MACHINE $IMG_NAME
    scp $IMG_NAME root@${DESTINATION}:${IMG_NAME}
    rm $IMG_NAME
     
    lvchange -an /dev/shared_vg/$MACHINE
    ssh root@$DESTINATION "lvchange -ay /dev/shared_vg/$MACHINE"
    ssh root@$DESTINATION "virsh define ${XML_NAME}"
    ssh root@$DESTINATION "virsh restore $IMG_NAME"
    ssh root@$DESTINATION "rm $IMG_NAME"
 
linux/kvm.1449498606.txt.gz · Last modified: 2015/12/07 15:30 by vondra