{"id":5136,"date":"2017-07-11T16:20:26","date_gmt":"2017-07-11T14:20:26","guid":{"rendered":"https:\/\/www.bdjl.de\/localhost\/?p=5136"},"modified":"2017-07-14T15:41:11","modified_gmt":"2017-07-14T13:41:11","slug":"vm-transfer","status":"publish","type":"post","link":"https:\/\/www.bdjl.de\/localhost\/?p=5136","title":{"rendered":"VM Transfer"},"content":{"rendered":"<p>EIne VM braucht so seine Zeit bis sie eingerichtet ist. Wenn nur das Netz im Hause lahmt, dann kann man diese zu Hetzner umziehen. Ich hab das mal mit Proxmox (Hetzner) und VirtualBox (im Haus) getestet.<\/p>\n<p>Hier die <em>\/etc\/network\/interfaces<\/em> des Rootservers bei Hetzner mit den Routing f\u00fcr die VMs:<\/p>\n<pre class=\"lang:default decode:true\">source \/etc\/network\/interfaces.d\/*                                                                                                                                                                   \r\n                                                                                                                                                                                                     \r\nauto lo\r\niface lo inet loopback\r\n\r\niface lo inet6 loopback\r\n\r\nauto enp0s31f6\r\niface enp0s31f6 inet static\r\n        address  111.111.111.158 # Main Server IP set by Hetzner\r\n        gateway  111.111.111.129 # Main Server Gateway set by Hetzner\r\n        up route add -net 111.111.111.128 netmask 255.255.255.192 gw 111.111.111.129 dev enp0s31f6\r\n        netmask  255.255.255.192 # Netmask set by Hetzner\r\n\r\niface enp0s31f6 inet6 static\r\n        address  2222:333:172:25dd::2 # Main Server IP set by Hetzner\r\n        netmask  64\r\n        gateway  fe80::1\r\n\r\nauto vmbr0 # red interface for Internet connection of VMs\r\niface vmbr0 inet static\r\n        address  111.111.111.158\r\n        netmask  255.255.255.255\r\n        bridge_ports none\r\n        bridge_stp off\r\n        bridge_fd 0\r\n        bridge_maxwait 0\r\n        pre-up brctl addbr vmbr0\r\n        up ip route add 99.99.99.81\/32 dev vmbr0 # first VM\r\n        up ip route add 99.99.99.82\/32 dev vmbr0 # second VM\r\n        up ip route add 99.99.99.83\/32 dev vmbr0 # third VM\r\n        up ip route add 99.99.99.84\/32 dev vmbr0 # fourth VM\r\n        up ip route add 99.99.99.85\/32 dev vmbr0 # fifth VM\r\n        up ip route add 99.99.99.86\/32 dev vmbr0 # sixth VM\r\n\r\nauto vmbr1 # green interface for local traffix between VMs\r\niface vmbr1 inet static\r\n        address  10.16.0.1\r\n        netmask  255.255.0.0\r\n        bridge_ports none\r\n        bridge_stp off\r\n        bridge_fd 0\r\n\r\nauto vmbr2 # pink interface for VMs which do NAT only\r\niface vmbr2 inet static\r\n        address  192.168.0.1\r\n        netmask  255.255.0.0\r\n        bridge_ports none\r\n        bridge_stp off\r\n        bridge_fd 0\r\n        post-up iptables -t nat -A POSTROUTING -s '192.168.0.0\/16' -o enp0s31f6 -j MASQUERADE\r\n        post-down iptables -t nat -D POSTROUTING -s '192.168.0.0\/16' -o enp0f31f6 -j MASQUERADE\r\n\r\n<\/pre>\n<p>Man erstellt sich in Proxmox eine KVM VM (hier mit der IP 99.99.99.83) mit ausreichend HDD-Platz, um den zu Hause liegenden Server aufzunehmen. Dabei achtet man in der Proxmox-GUI darauf, dass die Einstellungen m\u00f6glichst genau denen der zu \u00fcbetragenden VM in VBox entsprechen &#8211; z.B. virtio f\u00fcr die Netzwerkkarten.<\/p>\n<p>Dann zieht man sich ein Live-Medium als ISO (bei Hetzner mit <em>wget -4<\/em> weil die IPv6 Namensaufl\u00f6sung l\u00e4nger dauert als der Download) auf dem Proxmox-Server nach <em>\/var\/lib\/vz\/template\/iso<\/em> und bindet dieses in der KVM-VM in Proxmox ein. Davon dann booten.<\/p>\n<p>Die Wahl des Tastatur-Layouts gelang VNC in Proxmox bei Ubuntu ISOs hierbei nicht immer, weswegen man auch gleich bei US bleiben kann. Bessere Erfahrungen machte ich mit Lubuntu ISOs.<\/p>\n<p>Ist das Live-Medium gebootet, m\u00fcssen dessen Netzwerkeinstellungen h\u00e4ndisch vorgenommen werden. Dabei k\u00f6nnen IP und Gateway noch \u00fcber die grafische Oberfl\u00e4che festgelegt (meist handelt es sich bei den Live-Medien um den Network-Manager) werden. Als DNS kann man z.B. den von Google (8.8.8.8) nutzen. Das Feld f\u00fcr Gateway bleibt leer. Denn: Die Routen f\u00fcr die KVM-VM m\u00fcssen h\u00e4ndisch mit <em>ip route add<\/em> gesetzt werden.<\/p>\n<pre class=\"lang:default decode:true\"># address 99.99.99.83 # set this in NM\r\n# netmask 255.255.255.255 # set this in NM\r\nip route add 111.111.111.158 dev eth0\r\nip route add default via 111.111.111.158 dev eth0\r\n<\/pre>\n<p>Meist muss f\u00fcr <em>eth0<\/em> noch der Name des Interfaces an den der KVM-VM angepasst werden. Wie das Interface sich im gegebenen Fall nennt, zeigt ein <em>ifconfig<\/em>.<\/p>\n<p>Netzwerkverbindung testen.<\/p>\n<p>In der KVM-VM wird zu einer root shell gewechselt und f\u00fcr root ein Passwort vergeben<\/p>\n<pre class=\"lang:default decode:true\">sudo su -\r\npasswd<\/pre>\n<p>Dann einen openssh-server installieren und dessen Konfiguration so anpassen, dass sich root \u00fcber SSH mit Passwort einloggen darf. Den SSH Server neu starten.<\/p>\n<p>Jetzt kann man schon ausprobieren, ob man sich von der lokalen VBox VM auf dem Live-Medium bei Hetzner einloggen kann.<\/p>\n<p><a href=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2017\/07\/servertransfer.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5137\" src=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2017\/07\/servertransfer-640x265.png\" alt=\"\" width=\"640\" height=\"265\" srcset=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2017\/07\/servertransfer-640x265.png 640w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2017\/07\/servertransfer-768x318.png 768w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2017\/07\/servertransfer-1024x424.png 1024w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2017\/07\/servertransfer-624x258.png 624w, https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2017\/07\/servertransfer.png 1595w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Klappt das, dann kann es mit dem Transfer der lokalen VBox VM losgehen.<\/p>\n<p>Dazu legt man auf der HDD der KVM-VM zuerst ein Dateisystem an. Im Live-Medium kann man hierzu sogar Gparted nutzen.<\/p>\n<p>Dann mounted man die root Partition (m\u00fcsste <em>\/dev\/sda1 <\/em>sein) der KVM-VM nach <em>\/mnt<\/em> und der eigentliche Transfer erfolgt nun in mindestens zwei Schritten, will man die downtime des lokalen Servers klein halten: Einmal einen rsync aus dem laufenden System heraus. Ein zweites mal, nachdem das lokale System ebenfalls mit einem Live-Medium gebootet wurde, um die Ver\u00e4nderungen auch noch zu \u00fcbertragen. Ist einem die downtime egal, dann nutzt man am besten gleich lokal ein Live-Medium.<\/p>\n<pre class=\"lang:default decode:true\">screen rsync -e \"ssh -o PubkeyAuthentication=no\" --numeric-ids --delete --progress -axAhHSP --exclude={\"\/dev\/*\",\"\/proc\/*\",\"\/sys\/*\",\"\/tmp\/*\",\"\/run\/*\",\"\/mnt\/*\",\"\/media\/*\",\"\/lost+found\"} \/ root@99.99.99.83:\/mnt\/<\/pre>\n<p>Ab jetzt sind wieder die im Vorteil, die viel Bandbreite im Upstream haben. In meinem Fall wird die \u00dcbertragung 33 Stunden dauern, was dazu f\u00fchrt, dass mir die Zwangstrennung der Internetverbindung die \u00dcbertragung in einem Rutsch vermasselt.<\/p>\n<p>Literatur <a href=\"https:\/\/superuser.com\/questions\/709176\/how-to-best-clone-a-running-system-to-a-new-harddisk-using-rsync\">1<\/a>, <a href=\"https:\/\/wiki.archlinux.org\/index.php\/Moving_an_existing_install_into_(or_out_of)_a_virtual_machine\">2<\/a>, <a href=\"https:\/\/wiki.ubuntuusers.de\/Ubuntu_umziehen\/\">3<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>EIne VM braucht so seine Zeit bis sie eingerichtet ist. Wenn nur das Netz im Hause lahmt, dann kann man diese zu Hetzner umziehen. Ich hab das mal mit Proxmox (Hetzner) und VirtualBox (im Haus) getestet. Hier die \/etc\/network\/interfaces des Rootservers bei Hetzner mit den Routing f\u00fcr die VMs: source \/etc\/network\/interfaces.d\/* auto lo iface lo [&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,10],"tags":[203,569,181],"class_list":["post-5136","post","type-post","status-publish","format-standard","hentry","category-linux","category-schule","tag-kvm","tag-proxmox","tag-virtualbox"],"_links":{"self":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/5136","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=5136"}],"version-history":[{"count":5,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/5136\/revisions"}],"predecessor-version":[{"id":5142,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/5136\/revisions\/5142"}],"wp:attachment":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}