+ All Categories
Home > Technology > Proxmox for DevOps

Proxmox for DevOps

Date post: 10-May-2015
Category:
Upload: jorge-moratilla
View: 2,228 times
Download: 14 times
Share this document with a friend
Description:
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
Popular Tags:
13
Easy Virtualization, Fast, Simple and Flexible Proxmox VE @jmoratil la
Transcript
Page 1: Proxmox for DevOps

Easy Virtualization, Fast, Simple and Flexible

Proxmox VE

@jmoratilla

Page 2: Proxmox for DevOps

Proxmox VEProxmox 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

Page 3: Proxmox for DevOps

|Features| Virtualization (KVM)

Containers (OpenVZ)Command Line InterfaceRich Web ClientRole Based AdministrationMultiple Login ModulesRESTful web APIBackup and RestoreLive SnapshotsProxmox Cluster File SystemLive MigrationsVLAN and Resource ManagementStorage local or networked (iscsi, nfs, fc and all other supported by debian)

Page 4: Proxmox for DevOps

VirtualizationParavirtualization (KVM)

By RedHat

Needs a Hypervisor (qemu/kvm)

Supports multiple OSes

VM Storage are files or volumes.

/etc/pve/qemu-server/vmid.conf

Resource Management

OS Virtualization (OpenVZ)

By Parallels (Virtuozzo)

Is the same kernel as the Host

Supports only linux based OSes

VM Storage is a directory of the Host

/etc/pve/openvz/vmid.conf

Resource Management

Page 5: Proxmox for DevOps

Command Line InterfaceAPI browser:# pvesh get /nodes/<node>/openvz/<vmid>/status/current<<JSON>>

Benchmark# pveperf

Cluster Management# pvecm status|nodes|...

OpenVZ Management# vzctl

KVM Management# qm

Update templates# pveam update

Page 6: Proxmox for DevOps

Rich web client

Double-click to enter text

Page 7: Proxmox for DevOps

Most valuable featuresVirtualization (KVM AND OpenVZ)

|OpenVZ Templates|

Proxmox ClusterNo central management node

|Supports multicast/unicast |

Distributed Storage (DRBD, NFS, iSCSI)

|Fault Tolerant Machines|

Multiple Authentication Modules

|Local (Proxmox)|

|PAM (Unix)|

|LDAP (AD)|

RESTful API

|Perl based (hackable)|

|Allows knife-proxmox plugin|

Backup & Restore

|Scheduling|

|Compression|

|Live Snapshot|

Active Project (new release 3.0 RC-2)

|Debian 7|

|New VM clone|

|kvm64 instead qemu64|

Easy Installation from CD / USB

Page 8: Proxmox for DevOps

ContrasVery 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)

Page 9: Proxmox for DevOps

Tips and tricksUse 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 withhttps://github.com/turnkeylinux/pve-patches.git

Page 10: Proxmox for DevOps

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 1done

Page 11: Proxmox for DevOps

knife-proxmoxknife 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

Page 12: Proxmox for DevOps

ReferencesProxmox VEhttp://pve.proxmox.com/wiki/http://pve.proxmox.com/pve2-api-doc/IRC: freenode (##proxmox)

OpenVZhttp://en.wikipedia.org/wiki/OpenVZhttp://openvz.org/Main_PageIRC: freenode (#openvz)

KVMhttp://www.linux-kvm.org/page/Main_Pagehttp://en.wikipedia.org/wiki/Kernel-based_Virtual_MachineIRC: freenode (#kvm)

Page 13: Proxmox for DevOps

Thanks!


Recommended