1 / 17

Virtual Infrastructure: kvm , uvb + libvirt

Virtual Infrastructure: kvm , uvb + libvirt. Bryan McLellan http://loftninjas.org btm@loftninjas.org Senior Systems Administrator Widemile. Widemile is awesome. I work there, and thus the world is a better place for all of humanity. Identical Blades

minowa
Download Presentation

Virtual Infrastructure: kvm , uvb + libvirt

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Virtual Infrastructure:kvm, uvb + libvirt Bryan McLellan http://loftninjas.org btm@loftninjas.org Senior Systems Administrator Widemile

  2. Widemile is awesome I work there, and thus the world is a better place for all of humanity.

  3. Identical Blades • Running non identical Debian installs (etch/sid, i386/amd64) • Running different versions of vmware-server • OS, software, installed by hand • Configure using notes in an outlook public folder • Host database tracked with DNS • vm04-something.test.widemile.com What I got for “free”

  4. Problems • Lack of Homogeneity • Monkey configuration sucks • Documentation offensive http://www.flickr.com/photos/annebuzz/2666654754/

  5. What I did • Lack of Homogeneity • debianpxe install with preseeds • Monkey configuration sucks • puppify (configuration management) • capistrano (ruby scripting over ssh) • iclassify (node classification) • Documentation offensive • Configuration management is self documenting • Wikify the notes

  6. We can always do better http://www.flickr.com/photos/jpasden/67513019/

  7. What upset me (nobody else cares) • PXE installs take soooooo long • Backporting too many packages to debian • Interacting with VMware programmatically too much work. • VMware UIs cost $$ • Dreams: cpu/ram hotplug, live migration

  8. How I Learned to Stop Worrying and Love the Bomb • PXE installs take soooooo long • deb-bootstrap with ubuntu-vm-builder (2.5min) • Backporting too many packages to debian • switch to Ubuntu! • Interacting with VMware programmatically too much work. • libvirt is much easier and cleaner • VMware UIs cost $$ • Libvirt is free • Dreams: cpu/ram hotplug, live migration • Word on the street is that kvm + libvirt support these • I don’t think they’re there yet though.

  9. libvirt – virtualization API Started at Redhat ‘s Emerging Technology Group Was Xen focused, but Redhat recently bought Qumranet, makers of KVM Ubuntu/Canonical picked KVM as virtualization platform of choice libvirt doesn’t really support all that Provides CLI management (virsh) Provides GUI management (virt-manager)

  10. virsh

  11. virt-manager

  12. ubuntu-vm-builder • Bash script wrapper for deb-bootstrap + qemu • apt-get install ubuntu-vm-builder • capistrano script: • vmware: 102 lines • uvb: 12 lines • ubuntu-vm-builder kvm hardy • --addpkgopenssh-server • -d /srv/kvm/#{hostname} • --domain #{domain} • --hostname #{hostname} • --mem #{memory} • --mirror http://ubuntu.widemile.com/ubuntu • --libvirt qemu:///system • --bridge #{eth0}

  13. ubuntu-vm-builder • Bash script wrapper for deb-bootstrap + qemu • apt-get install ubuntu-vm-builder • capistrano script: • vmware: 102 lines • uvb: 12 lines • ubuntu-vm-builder kvm hardy • --addpkgopenssh-server • -d /srv/kvm/#{hostname} • --domain #{domain} • --hostname #{hostname} • --mem #{memory} • --mirror http://ubuntu.widemile.com/ubuntu • --libvirt qemu:///system • --bridge #{eth0} Not a lot of enterprise features yet Bridging vs NAT Root password / creates user

  14. kvm • The cool hypervisor on the block (ubuntu, redhat) • Kernel modifications are mainlined (unlike xen) • Super fast / lightweight (feel the wind in your hair) • Growing fast class kvm { case $lsbdistid { "Ubuntu": { # Only Ubuntu releases are new enough for this package { "kvm": ensure => present; "libvirt-bin": ensure => present; "ubuntu-vm-builder": ensure => latest; }

  15. file { "/srv/kvm": ensure => directory, group => admins, mode => 0775, } # Permissions required for remote access # Puppet doesn't support managing the libvirtd group members through the group type file { "/var/run/libvirt/libvirt-sock": group => admins, require => Service["libvirt-bin"]; "/var/run/libvirt/libvirt-sock-ro": group => admins, require => Service["libvirt-bin"]; }

  16. service { "libvirt-bin": ensure => running, hasstatus => true, require => Package["libvirt-bin"], } # required by u-v-b exec { "devmapper-autoload": command => "/bin/echo dm_mod >> /etc/modules", onlyif => "/usr/bin/test `grep -c '^dm_mod' /etc/modules` -lt 1", } exec { "devmapper-load": command => "/sbin/modprobedm_mod", onlyif => "/usr/bin/test `/bin/lsmod | grep -c '^dm_mod'` -lt 1", } realize Group["libvirtd"] } } }

  17. http://loftninjas.org

More Related