{"id":5038,"date":"2017-05-01T15:27:39","date_gmt":"2017-05-01T13:27:39","guid":{"rendered":"https:\/\/www.bdjl.de\/localhost\/?p=5038"},"modified":"2017-05-01T17:27:20","modified_gmt":"2017-05-01T15:27:20","slug":"proxmox-mit-lxc-bei-hetzner","status":"publish","type":"post","link":"https:\/\/www.bdjl.de\/localhost\/?p=5038","title":{"rendered":"Proxmox mit LXC bei Hetzner"},"content":{"rendered":"<p>Xen? KVM? LXC? Oder gar systemd-nspawn? In der Schule drehen wir uns bez\u00fcglich der Virtualisierungsbasis f\u00fcr unsere Cloud h\u00fcbsch im Kreis. Aktuell neige ich LXC zu, musste aber bei meinen ersten Gehversuchen einige Schl\u00e4ge einstecken: Restricted Container zickten, Debian Jessie Container auf Ubuntu 16.04 als Wirt ebenfalls, das Netzwerk-Setup war fummelig und die Namensaufl\u00f6sung in den Containern selbst immer wieder &#8222;einfach weg&#8220; &#8230;<\/p>\n<p>Also das schlechte Wetter heute mal sinnvoll genutzt und einen ganz anderen Weg beschritten: nicht wie sonst per Shell gearbeitet, sondern heute mal per Oberfl\u00e4che gefummelt und mir Proxmox n\u00e4her angesehen. Geht flott und funktioniert z\u00fcgig. Hier eine kurze Doku.<\/p>\n<p>Im Hetzner <em>installimage<\/em> das aktuelle Debian ausw\u00e4hlen &#8211; hier: Jessie. Setup durchf\u00fchren, Updates installieren, neu booten und dann an die Arbeit.<\/p>\n<p>Hinweis f\u00fcr die Partitionierung: Die LXC-VMs werden sp\u00e4ter unter \/var &#8211; genauer: \/var\/lib\/vz\/images &#8211; liegen.<\/p>\n<pre class=\"lang:default decode:true\">echo \"deb http:\/\/download.proxmox.com\/debian jessie pve-no-subscription\" &gt;&gt; \/etc\/apt\/sources.list\r\nwget -O - http:\/\/download.proxmox.com\/debian\/key.asc | apt-key add -\r\napt-get update\r\napt-get upgrade\r\napt-get dist-upgrade\r\nuname -a\r\nreboot<\/pre>\n<p>Ich habe mir dann &#8222;die volle Packung Proxmox&#8220; installiert:<\/p>\n<pre class=\"lang:default decode:true \">apt-get install proxmox-ve ssh postfix ksm-control-daemon open-iscsi systemd-sysv mailutils\r\n<\/pre>\n<p>Nach einem erneuten Reboot zeigte ein uname -a nun<\/p>\n<pre class=\"lang:default decode:true \">Linux hostname 4.4.59-1-pve #1 SMP PVE 4.4.59-87 (Tue, 25 Apr 2017 09:01:58 +0200) x86_64 GNU\/Linux\r\n<\/pre>\n<p>Also frisch in Proxmox unter https:\/\/server.domain:8006 mit dem PAM Account f\u00fcr root angemeldet und dort eine neue VMBR0 angelegt, die erst einmal unkonfiguriert blieb.<\/p>\n<p>Reboot. Proxmox \u00fcbernimmt sonst die \u00c4nderungen nicht.<\/p>\n<p>Dann das restlichen Netzwerk-Setup von Hand erledigt.<\/p>\n<p>Die Basis-IP des Server war<\/p>\n<pre class=\"lang:default decode:true\">78.78.78.82<\/pre>\n<p>Dazu kamen zwei \u00fcber den Robot zus\u00e4tzlich bestellte IPs<\/p>\n<pre class=\"lang:default decode:true\">78.78.78.86<\/pre>\n<pre class=\"lang:default decode:true\">78.78.78.90<\/pre>\n<p>Es ergab sich damit f\u00fcr\u00a0<em>\/etc\/network\/interfaces<\/em> diese Konfiguration:<\/p>\n<pre class=\"lang:default decode:true\">auto lo\r\niface lo inet loopback\r\niface lo inet6 loopback\r\n\r\n# ETH0\r\nauto eth0\r\niface eth0 inet static\r\n  address 78.78.78.82 # Server Basis IP\r\n  netmask 255.255.255.255 # Netzmaske neu gesetzt\r\n  gateway  78.78.78.65 # wird von Hetzner mitgeteilt\r\n  pointopoint 78.78.78.65 # PTP auf das Gateway\r\n\r\n# VMBR0\r\n\r\nauto vmbr0\r\niface vmbr0 inet static\r\n  address 78.78.78.82 # Server Basis IP\r\n  netmask 255.255.255.255 # Netzmaske neu gesetzt\r\n  bridge_ports none\r\n  bridge_stp off\r\n  bridge_fd 0\r\n    up ip route add 78.78.78.86\/32 dev vmbr0 # erste VM mit erster Zusatz-IP\r\n    up ip route add 78.78.78.90\/32 dev vmbr0 # zweite VM mit zweiter Zusatz-IP\r\n\r\n# IPv6 Config \r\n\r\niface eth0 inet6 static\r\n        address  121:121:121:121::2\r\n        netmask  128\r\n        gateway  fe80::1\r\n        up ip -6 route add default via fe80::1 dev eth0\r\n        up sysctl -p\r\n\r\niface vmbr0 inet6 static\r\n        address 121:121:121:121::2\r\n        netmask 64\r\n<\/pre>\n<p>F\u00fcr jede weitere IP, die im vorliegenden Fall noch kommen mag, muss man f\u00fcr die VMBR0 eine Zeile erg\u00e4nzen. Ich denke, das Schema ist nachvollziehbar. Die restliche IP-Konfiguration l\u00e4uft \u00fcber Proxmox direkt (siehe unten).<\/p>\n<p>Es folgt die Anpassung von <em>\/etc\/sysctl.conf <\/em><\/p>\n<pre class=\"lang:default decode:true\"># Uncomment the next line to enable packet forwarding for IPv4\r\nnet.ipv4.ip_forward=1\r\n\r\n# Uncomment the next line to enable packet forwarding for IPv6\r\nnet.ipv6.conf.all.forwarding=1\r\n<\/pre>\n<p>Reboot.<\/p>\n<p>Und ab jetzt geht es klickend in Proxmox weiter. Zuerst zieht man sich die ben\u00f6tigten Templates (hier: f\u00fcr Ubuntu und Debian). Dann legt ein Klick auf das entsprechende Icon die erste VM als LXC an. Der erste Container erh\u00e4lt als IP im hier vorliegenden Fall<\/p>\n<pre class=\"lang:default decode:true\">78.78.78.86\/32<\/pre>\n<p>und f\u00fcr seine Gateway-Adresse die Basis-IP des Servers:<\/p>\n<pre class=\"lang:default decode:true\">78.78.78.82<\/pre>\n<p>Der Rest &#8211; also die Ressourcenzuteilung usw &#8211; war f\u00fcr die Testmaschinen dann eine Geschmacksfrage.<\/p>\n<p>Die Verwaltung (Softwareinstallation etc.) der einzelnen VMs nahm ich lieber direkt auf dem Wirt vor. Da reagiert die Shell einfach z\u00fcgiger als jedes Frontend. Ein<\/p>\n<pre class=\"lang:default decode:true \">lxc-attach -n 100<\/pre>\n<p>bindet den zuerst erzeugten LXC an die Rootshell.<\/p>\n<p>Ein internes Netzwerk, \u00fcber das die VMs untereinander sprechen k\u00f6nnen, ist auch schnell eingerichtet: Auf dem Host oder auch \u00fcber Proxmox in die <em>\/etc\/network\/interfaces<\/em><\/p>\n<pre class=\"lang:default decode:true \">auto vmbr1\r\niface vmbr1 inet static\r\n        address  10.16.1.0\r\n        netmask  255.255.0.0\r\n        bridge_ports none\r\n        bridge_stp off\r\n        bridge_fd 0\r\n<\/pre>\n<p>Reboot und in Proxmox dann der jeweiligen Maschine eine neue Netzwerkkarte (eth1) geben, die an die vmbr1 gebunden wird, passende IP und Netzmaske setzen &#8211; voila.<\/p>\n<p>Erste Messungen mit iperf geben so um die 55 Gbit\/sec.<\/p>\n<p>Erstes Ergebnis:<\/p>\n<ul>\n<li>Netzwerksetup, Einrichtung, Verwaltung laufen rund und z\u00fcgig ab<\/li>\n<li>Die Templates f\u00fcr Proxmox kommen ziemlich &#8222;dick&#8220; mit Software ausgestattet daher. So w\u00fcrde ich diese ungern als Basis f\u00fcr eigene VMs nutzen<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Xen? KVM? LXC? Oder gar systemd-nspawn? In der Schule drehen wir uns bez\u00fcglich der Virtualisierungsbasis f\u00fcr unsere Cloud h\u00fcbsch im Kreis. Aktuell neige ich LXC zu, musste aber bei meinen ersten Gehversuchen einige Schl\u00e4ge einstecken: Restricted Container zickten, Debian Jessie Container auf Ubuntu 16.04 als Wirt ebenfalls, das Netzwerk-Setup war fummelig und die Namensaufl\u00f6sung in [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,18],"tags":[570,490,569],"class_list":["post-5038","post","type-post","status-publish","format-standard","hentry","category-linux","category-memo","tag-hetzner","tag-lxc","tag-proxmox"],"_links":{"self":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/5038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5038"}],"version-history":[{"count":11,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/5038\/revisions"}],"predecessor-version":[{"id":5049,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/5038\/revisions\/5049"}],"wp:attachment":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}