Proxmox for DevOps

4,763 views

Published on

Lightning Talk for Madrid Devops about what is ProxmoxVE and why is good for us at Grupo Taric. Follow our talks at http://madrid.devops.es

Published in: Technology

Proxmox for DevOps

  1. 1. Proxmox VE Easy Virtualization, Fast, Simple and Flexible @jmoratilla
  2. 2. Proxmox VE Proxmox VE is a complete virtualization management solution for servers. You can virtualize even the most demanding application workloads running on Linux and Windows Servers. It is based on the Kernel-based Virtual Machine (KVM) hypervisor and OpenVZ, the most used solution for container based virtualization. Proxmox is not about cloud, but virtualization! And best of all: it's Open Source! (Debian based) Youtube channel: http://www.youtube.com/user/ProxmoxVE
  3. 3. |Features| Virtualization (KVM) Containers (OpenVZ) Command Line Interface Rich Web Client Role Based Administration Multiple Login Modules RESTful web API Backup and Restore Live Snapshots Proxmox Cluster File System Live Migrations VLAN and Resource Management Storage local or networked (iscsi, nfs, fc and all other supported by debian)
  4. 4. Virtualization Paravirtualization (KVM) OS Virtualization (OpenVZ) By RedHat By Parallels (Virtuozzo) Needs a Hypervisor (qemu/kvm) Is the same kernel as the Host Supports multiple OSes Supports only linux based OSes VM Storage are files or volumes. VM Storage is a directory of the Host /etc/pve/qemu-server/vmid.conf /etc/pve/openvz/vmid.conf Resource Management Resource Management
  5. 5. Command Line Interface API browser: # pvesh get /nodes/<node>/openvz/<vmid>/status/curr ent <<JSON>> Benchmark # pveperf Cluster Management # pvecm status|nodes|... OpenVZ Management # vzctl KVM Management # qm Update templates # pveam update
  6. 6. Rich web client Double-click to enter text
  7. 7. Most valuable features Virtualization (KVM AND OpenVZ) |OpenVZ Templates| Proxmox Cluster No central management node |Supports multicast/unicast | RESTful API |Perl based (hackable)| |Allows knife-proxmox plugin| Backup & Restore |Scheduling| Distributed Storage (DRBD, NFS, iSCSI) |Fault Tolerant Machines| Multiple Authentication Modules |Compression| |Live Snapshot| |Local (Proxmox)| Active Project (new release 3.0 RC-2)
  8. 8. Contras Very old kernel 2.6.32 (OpenVZ dropped in kernel 3.x.x) Doesn't support LXC... yet, but maybe never. Some issues with backups and stop/starting servers Lack of firewalling... but you can use iptables, ufw, shorewall... Cannot run on USB pendrive (as VMware ESXi does) Doesn't have thinks I love from SmartOS (dtrace, zfs, branded zones, crossbow)
  9. 9. Tips and tricks Use OpenVZ to improve performance when using linux VM Use KVM when other OSes are really needed VPN and clusters works really well "MongoDB on OpenVZ" issue has been solved several years ago You can easily develop your own tools with ssh + vzctl or qm, or use the API You can create KVM VM's with storage on LVM directly You can update to new Turnkey Templates into your Proxmox with https://github.com/turnkeylinux/pve-patches.git
  10. 10. Automated Creation of CT Shell Scripting is easy, only needs a SSH connection ${SSHCMD} pvectl create ${NEW_CTID} /var/lib/vz/template/cache/ubuntu-11.10-x86_64-taric4.tar.gz -netif ifname=eth0,bridge=vmbr0 -onboot 1 -password $PASSWORD -hostname $HOSTNAME ${SSHCMD} pvectl start ${NEW_CTID} NEW_IP="" while [ "x${NEW_IP}" = "x" ]; do NEW_IP=$(${SSHCMD} vzctl exec ${NEW_CTID} ip addr ls dev eth0 | awk '/inet / {gsub(//24/, "", $2); print $2}') sleep 1 done
  11. 11. knife-proxmox knife plugin that manages openvz servers and integrates with chef-server through proxmox REST API https://rubygems.org/gems/knife-proxmox Needs a little bit of magic to allow this $ knife proxmox server list $ knife proxmox server create $ knife proxmox server info $ knife proxmox template list $ knife proxmox template available $ knife proxmox server st[art,op] $ knife proxmox server destroy Any help is welcome: https://bitbucket.org/jmoratilla/knife-proxmox
  12. 12. References Proxmox VE http://pve.proxmox.com/wiki/ http://pve.proxmox.com/pve2-api-doc/ IRC: freenode (##proxmox) OpenVZ http://en.wikipedia.org/wiki/OpenVZ http://openvz.org/Main_Page IRC: freenode (#openvz) KVM http://www.linux-kvm.org/page/Main_Page http://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine IRC: freenode (#kvm)
  13. 13. Thanks!

×