{"id":376,"date":"2009-08-27T14:48:37","date_gmt":"2009-08-27T12:48:37","guid":{"rendered":"http:\/\/blog.benny-baumann.de\/?p=376"},"modified":"2009-08-27T15:00:02","modified_gmt":"2009-08-27T13:00:02","slug":"ein-serverumzugsmarchen","status":"publish","type":"post","link":"https:\/\/blog.benny-baumann.de\/?p=376","title":{"rendered":"Ein Serverumzugsm\u00e4rchen"},"content":{"rendered":"<p>Es war einmal vor langer Zeit ein Server-Betreiber in einem fernen Land im Norden Frankreichs. Dieser bot f\u00fcr einen fairen Preis Server f\u00fcr seine Kunden an. Dies ging eine ganze Weile so, bis dieser Anbieter eines Tages beschloss, sein Angebot zu \u00e4ndern. Daraufhin beschlossen einige seiner Kunden, ihr bisheriges Angebot vor dieser Umstellung noch durch eine leistungsst\u00e4rkere Alternative auszutauschen, was auch ohne Gr\u00f6\u00dfere Probleme ging: Kaum wurde das neue Angebot bestellt, folgte 2 Tage sp\u00e4ter bereits die Lieferung &#8211; nat\u00fcrlich frisch aus neuen Einzelteilen zusammengebaut!<\/p>\n<p>Und so begab es sich, das ein mutiger Server-Admin eines Tages eben diesen Umtausch vornehmen wollte und nach der Bestellung seines neuen Migrations-RPS3 auch bereit f\u00fcr diesen wagemutigen Schritt war. Das Versprechen des H\u00e4ndlers lautete ungef\u00e4hr 5 Minuten Downtime; da dachte sich der Admin &#8222;das ist verkraftbar&#8220; und bet\u00e4tigte nach l\u00e4ngerem Suchen in seinem ManagerV3 den mit &#8222;Jetzt migrieren&#8220; beschrifteten Knopf in der Weboberfl\u00e4che, nach dem er sorgf\u00e4ltig die neue physische Maschine als Ziel dieser Operation auserkohren hatte.<!--more--><\/p>\n<p>Und so nahm das Schicksal seinen Lauf: Nach gerade einmal 2 Minuten begann die Migration, nachdem alles korrekt initialisiert worden war. Nach weiteren viereinhalb Minuten war gar der Systemtest der neuen Maschine abgeschlossen! Und so war der mutige Admin frohem Gem\u00fctes, dass er seinen Server in n\u00e4herer Zukunft wieder in Empfang nehmen k\u00f6nne &#8230;<\/p>\n<p>Doch daraus wurde so schnell nichts! Das Herunterfahren seines treuen alten Servers ben\u00f6tigte fast 10 Minuten und so beschloss der Admin, erst einmal eine Pause in Form von Fr\u00fchst\u00fcck einzulegen &#8211; immerhin war es bereits halb 12 blendender Zeit &#8211; und der Admin war gerade frisch aufgestanden. Nach weiteren 5 Minuten des Wartens erblickte der Admin Fortschritt. In leuchtenden Buchstaben verk\u00fcndete der ManagerV3, dass die Migration Erfolgreich abgeschlossen sei und auch die obligatorischen pings auf diverse, f\u00fcr diesen Vorgang relevante IPs deuteten darauf hin, dass der neue Server nun einsatzbereit sei.<\/p>\n<p>Doch weit gefehlt: Das Migrationstool beschloss bei Abschluss des Umzugs, dass es den treuen Server des mutigen Admins doch gerne in frischer Installation erblicken m\u00f6chte und versetzte das System in den Reinstall-Modus, anstatt wie \u00fcblich das System sauber zu booten. Auch das \u00c4ndern der Netboot-Option f\u00fcr seinen treuen Server wollte der ManagerV3 nicht Folge leisten: Diese Operation sei im aktuellen Systemzustand leider nicht m\u00f6glich.<\/p>\n<p>Dies &#8211; zusammen mit der Tatsache, dass der hungrige Admin sein Fr\u00fchst\u00fcck fertig zubereitet hatte &#8211; sorgte somit vorerst f\u00fcr eine kleine Verschnaufpause. Denn mit leerem Magen telefoniert es sich schlecht mit dem Support. Somit ergab sich vorerst eine mehr oder weniger erzwungene Pause, nach deren Abschluss der nun ges\u00e4ttigte Admin beim Support des H\u00e4ndlers anrief.<\/p>\n<p>Dort erkl\u00e4rte er nun in aller Ruhe sein Problem, was vom zust\u00e4ndigen Techniker auch sofort durch Einwahl in das System best\u00e4tigt wurde mit der Auskunft, dass der Server nicht &#8211; wie vom mutigen Admin bis hierher angenommen &#8211; im normalen, sondern im Reinstall-Rescuemode war und es daher gut war, dass er sich gemeldet hat. Der Techniker entfernte daraufhin nun sofort den Reinstall-Modus und bat den mutigen Admin darum, das System nun \u00fcber die Oberfl\u00e4che normal hochzufahren, was dank eh bereits geschehenem Login in wenigen Augenblicken erledigt war. Zus\u00e4tzlich f\u00fchrte der mutige Admin wie angewiesen einen Reboot aus, um diese neue Konfiguration zu aktivieren.<\/p>\n<p>Der treue Server des Admins bootete nun wieder wie gew\u00fcnscht, auch wenn es zuerst fast 2 Minuten dauerte, bis irgendwelche Ports des Servers als offen gemeldet wurden, was u.a. an der recht umfangreichen und vielseitigen Konfiguration des treuen Servers lag.<\/p>\n<p>Nachdem auch der Admin wieder auf seinen &#8211; nun auf frische Hardware umgezogenen &#8211; Server zugreifen konnte, stellte der Admin noch eine letzte Frage, die IP-Konfiguration betreffend: Wie \u00e4ndert man die Default-IP mit der sich der Server gegen\u00fcber der Au\u00dfenwelt zeigt? Auch hierauf erhielt der wissbegierige Admin prompt eine Antwort: Nach Abgleich der Email-Adresse versendete der Techniker prompt eine Mail an unseren mutigen Admin, in der ein Link enthalten war. Dieser Link zeigte auf das Forum des H\u00e4ndlers, in dem verschiedene andere Kunden bereits eine \u00e4hnliche Frage gehabt hatten und es ein recht wirksames Script gab, dass genau die von unserem mutigen Admin zu erledigende Aufgabe bew\u00e4ltigte:<\/p>\n<pre lang=\"perl\" escaped=\"true\">#! \/usr\/bin\/perl\r\n\r\n$IP1 = `ifconfig eth0`;\r\nif ($IP1 =~ \/(Adresse|addr):(\\d+\\.\\d+\\.\\d+\\.\\d+)\/im) {$IP1 = $2;} else { $IP1 = \"\"; }\r\n\r\n$IP2 = `ifconfig eth0:0`;\r\nif ($IP2 =~ \/(Adresse|addr):(\\d+\\.\\d+\\.\\d+\\.\\d+)\/im) {$IP2 = $2;} else { $IP2 = \"\"; }\r\n\r\nprint \"IP #1: $IP1\\n\";\r\nprint \"IP #2: $IP2\\n\";\r\n\r\nif (!$IP1 || !$IP2) { print \"IP Konfiguration ist nicht wie erwartet =&gt; EXIT!\\n\\n\"; exit 1; }\r\n\r\n$route = `ip route show | grep default`; chomp ($route);\r\nprint \"route: $route\\n\\n\";\r\n\r\nif ($route =~ \/src\\s+$IP2\/im)\r\n{\r\n print \"=&gt; Als Source IP ist bereit IP #2 ($IP2) konfiguriert!\\n\\n\";\r\n print \"folgender Befehl kann verwendet werden, um $IP1 als Source-IP festzulegen:\\n\";\r\n $route =~ s\/\\s+src\\s+$IP2\/\/im;\r\n print \"ip route change $route\\n\\n\";\r\n}\r\nelse\r\n{\r\n # print \"folgender Befehl kann verwendet werden, um $IP2 als source-IP festzulegen:\\n\";\r\n print \"Konfiguriere nun $IP2 als Source-IP:\\n\";\r\n print `ip route change $route src $IP2\\n\\n`;\r\n print `ip route show`;\r\n}<\/pre>\n<p>Nach einer kurzen Erg\u00e4nzung eines Aufrufs dieses Scripts in \/etc\/rc.local<\/p>\n<pre lang=\"bash\" escaped=\"true\">\/sbin\/change-outgoing-ip.pl &gt;&gt; \/var\/log\/outgoing-ip.log<\/pre>\n<p>vor dem abschlie\u00dfenden <\/p>\n<pre lang=\"bash\" escaped=\"true\">exit 0<\/pre>\n<p>war der Admin nun beruhigt, dass endlich einer seiner Kollegen nicht mehr \u00fcber den Reversename-Mismatch seines Mailservers rummeckern wird.<\/p>\n<p>Blieb nur noch die Aufgabe \u00fcber, die 17 Domains auf die neue IP-KKonfiguration anzupassen, was aber dank der flinken Finger unseres Admins in wenigen Minuten erledigt war. Und auch die Dienste, die sich bisher dem Starten verweigern wollten, wurden von unserem geliebten Admin kurzerhand zum Funktionieren verdonnert. Denn nicht funktionierende Services werden von unserem Admin nicht geduldet, was sich auch entsprechend unter den bisher widerwilligen Diensten rumsprach, weshalb die notwendige \u00dcberzeugungsarbeit auf ein Minimum beschr\u00e4nkt bleiben konnte.<\/p>\n<p>Und so lebte der mutige Admin gl\u00fccklich und zufrieden bis zum n\u00e4chsten Problem mit seinem treuen Server.<\/p>\n<p class=\"wp-flattr-button\"><a href=\"https:\/\/blog.benny-baumann.de\/?flattrss_redirect&amp;id=376&amp;md5=1e110068187ce8e16501971b057a7a1b\" title=\"Flattr\" target=\"_blank\"><img src=\"http:\/\/blog.benny-baumann.de\/wp-content\/plugins\/flattr\/img\/flattr-badge-large.png\" srcset=\"http:\/\/blog.benny-baumann.de\/wp-content\/plugins\/flattr\/img\/flattr-badge-large.png\" alt=\"Flattr this!\"\/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Es war einmal vor langer Zeit ein Server-Betreiber in einem fernen Land im Norden Frankreichs. Dieser bot f\u00fcr einen fairen Preis Server f\u00fcr seine Kunden an. Dies ging eine ganze Weile so, bis dieser Anbieter eines Tages beschloss, sein Angebot zu \u00e4ndern. Daraufhin beschlossen einige seiner Kunden, ihr bisheriges Angebot vor dieser Umstellung noch durch [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[4],"tags":[85,346,80],"class_list":["post-376","post","type-post","status-publish","format-standard","hentry","category-server","tag-ovh","tag-server","tag-umzug"],"_links":{"self":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=376"}],"version-history":[{"count":6,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/376\/revisions"}],"predecessor-version":[{"id":382,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/376\/revisions\/382"}],"wp:attachment":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}