Not-so lowcost virtualization HA with Proxmox Lukas Kallies, Christian Kolinski und Marc Thomas 12. April 2014 1 / 29
Agenda 1 About 2 Was ist Proxmox? 3 Was war das Ziel? 4 Wie sieht die Plattform aus? 5 Cluster-Management 2 / 29
Agenda 1 About 2 Was ist Proxmox? 3 Was war das Ziel? 4 Wie sieht die Plattform aus? 5 Cluster-Management 2 / 29
Agenda 1 About 2 Was ist Proxmox? 3 Was war das Ziel? 4 Wie sieht die Plattform aus? 5 Cluster-Management 2 / 29
Agenda 1 About 2 Was ist Proxmox? 3 Was war das Ziel? 4 Wie sieht die Plattform aus? 5 Cluster-Management 2 / 29
Agenda 1 About 2 Was ist Proxmox? 3 Was war das Ziel? 4 Wie sieht die Plattform aus? 5 Cluster-Management 2 / 29
About Lukas Kallies, M.Sc. Christian Kolinski, M.Sc. Marc Thomas, M.Sc. CN ACM 3 / 29
Einführung Der Vortrag soll die Möglichkeiten von Proxmox anhand eines Beispiels aufzeigen und einen Überblick der Varianten verschaffen. Betriebmodie Architektur verschieden Storagetypen Virtualisierer Kosten 4 / 29
Proxmox Open-Source Virtualisierunglösung entickelt von der Proxmox Server Solutions GmbH. Proxmox kann sowohl ohne als auch mit Support betrieben werden. KVM-Virtualisierung und OpenVZ Container Basiert auf Debian/GNU Linux Webbasiertes Management Virtualisierungscluster Multi-Master Setup möglich HA Gast-VM Konfiguration flexibles Backup viele Speichertechnologien Live-Migration fähig 5 / 29
OS-Support Windows seit NT 4.0, Windows 98SE Fedora ab Version 1 RHEL seit 3, Centos ab 5.5 Debian/GNU Linux ab 3.1, Ubuntu ab 6.06 SUSE Linux ab 9.1 SLES ab Version 10 OpenBSD ab 4.0, FreeBSD ab 6.0 Solaris ab 10, OpenSolaris ab 2008.11 verschiedene andere 6 / 29
Anforderung Ziel war ein hochverfügbares Virtualisierungscluster zu installieren. Es sollte plattformunabhängig administriert werden können, optimal webbasiert. Desweiteren wollten wir einen zentralen Storage verwenden. Live Migration zwischen den Knoten sollte möglich sein, um das System möglich einfach warten zu können. Außerdem sollten viele verschieden Gast-OS unterstützt werden. 7 / 29
Bullshitbingo Maximierung der Availability und Optimierung der RTO Skalierbare RPO durch redundanten Datenhaltung Geringe MTBF durch den Einsatz von Industrie-Standard-Komponenten Geringstmögliche MTTR der Services bei Ausfall einzelner Komponenten Senkung des BEP Maximierung des ROI, durch schnellen TTM und Minimierung des CAPEX bei gleichzeitigem geringem OPEX durch Maximierung der Auslastung 8 / 29
weniger Bullshitbingo High Availibilty-Virtualisierungcluster Einsatz ohne Lizenz und Supportkosten möglich Geringe Hardwareanforderungen, CPU mit Virtualisierung-Befehlssatz Hohe Hardwarekompatibilität Administrationsfrontend OS-unabhängig Einsatz von nicht Cluster-Filesystemen möglich Anwendung von Standard-Prozessen meist sehr einfach 9 / 29
LNK HP StorageWorks SAN Switch 4/8 SPD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 HP ProLiant DL185 G5 1 2 5 1 1 2 POWER POWER SUPPLY SUPPLY 5 6 7 2 DIMMS UID PROC FANS PROC DIMMS 1 2 PPM 3 INTER LOCK OVER TEMP I-PPM 3 PCI RISER CAGE 8 4 1 2 3 4 5 6 7 8 8 4 UID UID 1 2 1 2 SID SID HP ProLiant DL360 G6 HP ProLiant DL385 G5 HP ProLiant DL360 G6 BigPicture Storage System Morgenland ProLiant DL185 HP Storageworks San Switch 4/8 Melchior (Proxmox) ProLiant DL360 G6 24GB Switch 1 (Cluster) SAN FC LAN Cu Bond Balthasar (Proxmox) ProLiant DL385 G5 64GB Switch 2 (RZ) Caspar (Proxmox) ProLiant DL360 G6 40GB 10 / 29
Virt-Hosts CPU mit Intel-VT / AMD-V Anforderungen richtigen sich nach Art und Anzahl der virtuellen Maschinen Mix von AMD / Intel möglich Was gerade da war Echte Serverhardware zu bevorzugen Aktuell: 2x HP DL360 G6, 1x HP385G5 Optional: Local Storage für non-ha-vm 11 / 29
Storage Wir ham grad keines - dann bauen wir eines Linux mit Kernel >3.5 und LIO-FC-Target QLogic-HBA Export als Standard-FC-Target Multipathing ALUA Aktuell: HP DL185 G5 mit 12x SATA/SAS 12 / 29
Storage 2 Exportiert LVM - Volumes (LV) lvextend / lvresize Management über targetcli targetcli verwendet WWPN Wichtig: LVM-Filter setzen um exportierte LV auszuschließen. 13 / 29
Installation Installations-CD mit grafischem Installer 1 Auswahl der HDD 2 Region / Timezone 3 root-pw 4 IP - Kein DHCP 5 Install... Proxmox ist auch als Package für Debian verfügbar. 14 / 29
Konfiguration Proxmox ist ein Debian - daher: Storage-Konfiguration über LVM und multipathd Netzwerkkonfiguration über /etc/network/... Usermanagement passwd/shaddow, NIS, LDAP... HA-Funktionen sind über eine Portierung der RHEL-CS realisiert, Konfiguration über /etc/cluster/cluster.conf, Versionsmanagement über GUI. 15 / 29
Cluster-Konfiguration <?xml v e r s i o n="1.0"?> < c l u s t e r c o n f i g v e r s i o n="15" name="fuwa1"> <cman k e y f i l e="/var/lib/pve - cluster / corosync. authkey "/> <c l u s t e r n o d e s > <c l u s t e r n o d e name="caspar " n o d e i d="1" v o t e s="1"> <fence > <method name=" fence1 "> <d e v i c e name=" fence_caspar "/> </method> </fence > </ c l u s t e r n o d e > <c l u s t e r n o d e name=" melchior " n o d e i d="2" v o t e s="1"> <fence > <method name=" fence2 "> <d e v i c e name=" fence_melchior "/> </method> </fence > </ c l u s t e r n o d e > </ c l u s t e r n o d e s > 16 / 29
Cluster-Konfiguration 2 <f e n c e d e v i c e s > <f e n c e d e v i c e agent=" fence_ipmilan " i p a d d r=" 192.168.0.198 " l a n p l u s="1" l o g i n=" Administrator " name=" fence_caspar " passwd=" T0t4lS5cr37 " p o w e r w a i t="5"/> <f e n c e d e v i c e agent=" fence_ipmilan " i p a d d r=" 192.168.0.178 " l a n p l u s="1" l o g i n=" Administrator " name=" fence_melchior " passwd= " T0t4lS5cr37 " p o w e r w a i t="5"/> <f e n c e d e v i c e agent=" fence_ipmilan " i p a d d r=" 192.168.0.158 " l a n p l u s="1" l o g i n=" Administrator " name=" fence_balthasar " passwd =" T0t4lS5cr37 " p o w e r w a i t="5"/> </ f e n c e d e v i c e s > 17 / 29
Cluster-Konfiguration 3 <rm> <pvevm </rm> a u t o s t a r t="1" vmid="100"/> 18 / 29
Storage-Varianten DRBD kostengünstig simpel eingeschränkt auf zwei Nodes (außer bei Reexport) Shared über (c)nfs, CIFS,... qcow2 möglich: system-state snapshots locking möglich ATA over Ethernet (AoE), iscsi GlusterFS, OCFS2,... 19 / 29
Distributed Replicated Block Device (DRBD) 2-Node Proxmox-Cluster Mittels DRBD kann auf shared Storage verzichtet werden. LVM auf DRBD VM disks als LV werden zwischen den Proxmox Nodes repliziert shared nothing live migration pve.proxmox.com/wiki/drbd pve.proxmox.com/wiki/two-node High Availability Cluster 20 / 29
Backups Backups werden auf extra Backup-Datastore angelegt, können Clusterweit oder Knotenweit sein Maximal Anzahl von Backups per Datastore definiert Standardpfad /var/lib/vz/backup Backup kann auf Knoten aufgeteilt werden Knotenspezifisch Backupkonfiguration einzelne VMs oder alle backupen einzelne virtuelle Festplatten können vom Backup ausgenommen werden 21 / 29
Interfaces Shell auf Wirt (lokal, ssh,... ) Webgui VM-Console VNC (Java-Client im Webgui, ansonsten tunneln) SPICE!!!!111111elf 1 Performancecharts (RRD-Graphs) 1 http://www.spice-space.org/ 22 / 29
23 / 29
24 / 29
Caveat & PITA Lizenzpopup Java-VNC Plugin Netzwerkconfig/Bonding/Bridge Syslog-Kombination 25 / 29
Updating/Upgrading Ohne Lizenz: Non-free repo apt-get update (im Webgui) apt-get dist-upgrade (in VNC/SPICE) 26 / 29
Monitoring Performancegrafen werden von Proxmox erstellt Monitoring mit dem persönlichen $monitoringtool Zu überwachende Dienste (Auswahl) HTTPS SSH PING Filesystem (Auslastung, Schreibzugiff, Performance) 27 / 29
Livedemo 28 / 29
FIN thx for watchin 29 / 29