Kopieren Sie den Linux-Host auf neue Hardware

13

Ich muss Host-to-Host-Migrationen von alter Hardware auf neue Hardware durchführen. Insbesondere von HP BL460G7 bis HP BL460G8. Sowohl der alte als auch der neue Server haben 2 x 600 GB 2,5-Zoll-Laufwerke und sind für RAID1 konfiguriert. Ich kann mir 30 Minuten Ausfallzeit pro Server leisten.

Es müssen vier Server migriert werden. Dem kleinsten Server sind insgesamt 120 GB logische Volumes zugeordnet, und dem größten Server sind 510 GB zugeordnet. Auf drei Servern wird RHEL5 und auf einem RHEL6 ausgeführt.

Ich habe mir Gedanken darüber gemacht, wie dies innerhalb des vorgegebenen Zeitrahmens und ohne Zerstörung des Betriebssystems und der kritischen Daten geschehen soll.

Mein einziger Gedanke ist folgender:

  • ein Laufwerk vom alten Server entfernen (Server ist eingeschaltet)
  • beide Laufwerke vom neuen Server entfernen (Server ist ausgeschaltet)
  • Nehmen Sie das G7-Laufwerk aus dem Caddy und legen Sie es beiseite
  • Entfernen Sie das G8-Laufwerk aus dem Caddy und installieren Sie es im G7-Caddy
  • Installieren Sie das G8-Laufwerk im G7-Caddy auf einem alten Server
  • Warten Sie, bis der RAID-Controller das RAID1-Array wiederhergestellt hat
  • Wenn Sie fertig sind, fahren Sie den alten Server herunter
  • Entfernen Sie das G8-Laufwerk im G7-Caddy
  • Installieren Sie das G8-Laufwerk im G8-Caddy und setzen Sie es in das G8 ein (einzelnes Laufwerk installiert)
  • Starten Sie den G8-Server
  • Warten Sie, bis das Betriebssystem gestartet ist
  • Wenn das Betriebssystem gestartet wurde, fügen Sie das verbleibende Laufwerk ein
  • Warten Sie, bis das RAID-Array wiederhergestellt ist

Klingt das vernünftig?

EDIT: Die RHEL5 sind RHEL5.10 und die RHEL6 ist RHEL6.6

Ich hätte auch bemerken müssen, dass zwei der Systeme Teil eines Hot-Four-Node-Clusters sind, das nahezu die konstante Replikation von Anwendungsereignissen (Teil eines kritischen Infrastruktursystems) durchführt. Wir haben Backups, verwenden diese jedoch nur bei einem Totalausfall des Systems.

Frühere Tests haben gezeigt, dass zwischen Systemen mit etwa 50 MBit / s eine maximale Übertragungsrate besteht, was viel zu langsam ist.

EDIT: Ich wollte mich darauf verlassen, dass Kudzu die Hardwareänderungen aufnimmt und bewältigt.

user1174838
quelle
Welche spezifischen Versionen von RHEL5 und RHEL6 werden verwendet?
ewwhite
Beantwortet in Bearbeitung
user1174838
Versuchen Sie nicht, die G7-Festplatten in den Gen8-Server einzubauen - es gibt mehr Änderungen als nur das physische Fach.
Chopper3
Das absichtliche Herabsetzen eines RAID mit wichtigen Daten klingt nicht nach einem guten Plan.
Kasperd

Antworten:

18

Es ist zu beachten, dass je nach Verteilung andere Schritte erforderlich sein können. Vor allem die Treiber (danke für den Hinweis auf @ewwhite).

  1. Booten Sie den neuen Server von LiveCD / USB.
  2. Bereiten Sie Partitionen und Bootblock auf den neuen Laufwerken vor.
    • Dies kann je nach Setup durch Kopieren von MBR / Bootblock geschehen.
  3. Machen Sie die Dateisysteme.
  4. Führen Sie einen Rsync vom alten auf den neuen Server durch.
    • Möglicherweise möchten Sie es erneut ausführen, um festzustellen, wie lange die Nachsynchronisierung dauert. Wenn sie weniger als 30 Minuten dauert, fahren Sie fort.
    • Dies ist die Zeit, die Sie tatsächlich versuchen können, wenn neues System startet. Achten Sie einfach darauf, keine IP-Konflikte (oder andere Konflikte) zu verursachen.
  5. Fahren Sie alle Dienste herunter, die in das Dateisystem schreiben würden
    • Booten Sie am besten auf LiveCD / USB neu
  6. Rsync-Daten vom alten auf den neuen Server
  7. Starten Sie den neuen Server neu und verwenden Sie ihn

Auf diese Weise haben Sie den ursprünglichen Server immer noch intakt. Wenn also etwas schief geht, gibt es einen einfachen Weg zurück. Es sind jedoch einige Kenntnisse erforderlich (grub / rsync / partitions). Ich empfehle daher, einige Vorbereitungen zu treffen und diese vorab zu testen, bevor Sie sie live durchführen.

Fuchs
quelle
Es gibt tatsächlich Treiberunterschiede zwischen den beiden Plattformen, daher ist es wichtig zu wissen, welche kleineren Versionen von RHEL er verwendet.
ewwhite
Ah ja, ich sollte nichts beantworten, was mit Unternehmensdistributionen zu tun hat ... Entschuldigung ...
Fox,
@ Fox: Von der großen Nachfrage nicht gelöscht. Deine Antwort ist gut.
Sven
1
@ user1174838 das sollte kein hindernis sein ... das einzige problem, das ich sehen würde, ist eine sehr große menge kleiner dateien.
Fox
1
Und vergessen Sie nicht, dass die doppelte Synchronisierung die Ausfallzeit des Servers minimiert: Da der Großteil der Daten auf dem laufenden Server übertragen wird, kopiert die zweite Synchronisierung (auf dem jetzt außer Betrieb befindlichen Server) nur die neueste Unterschiede.
peterh
6

Zwei Dinge:

  • Ich würde neu erstellen und Daten synchronisieren.
  • Ihr Ausfallzeitkontingent / -fenster scheint zu kurz zu sein. 30 Minuten können in bestimmten Situationen arbeiten, aber sollten SIE die realistische Ausfallzeit nicht auf der Grundlage dessen vorschreiben, was für die tatsächliche Ausführung der Arbeit erforderlich ist?

Abhängig von den auf den einzelnen Servern enthaltenen Daten, der Menge der Datenabwanderung und Ihrem Bereitstellungsschema kann es sinnvoll sein, das erforderliche Betriebssystem auf dem neuen Gen8 ProLiant zu installieren und die Einstellungen und anderen Datenteile an einem Punkt zu synchronisieren, an dem Sie den Computer stilllegen können Daten.

Erstellen Sie möglicherweise eine Ausgangskopie und leiten Sie Ihre Ausfallzeit aus der Zeit ab, die erforderlich ist, um die Dateiänderungen bei nachfolgenden Rsyncs zu erfassen. Wenn Sie den Übertragungsprozess beschleunigen müssen oder viele kleine Dateien haben, gibt es Techniken, die dabei helfen können .

Ich mache diese Art von Übergängen oft. Bei ähnlichen Linux-Installationen benötigen Sie selten mehr als eine genaue Paketliste (leicht erhältlich über Yum oder RPM), die Konfigurationsverzeichnisse (z. B. /etc) und Ihre Datenpartitionen. Wenn Sie noch kein Kickstart-Bereitstellungssystem haben, können Sie die /root/anaconda-ks.cfgDatei nutzen, um eine Vorstellung davon zu erhalten, wie das G7-System erstellt wurde.

Dies ist absolut möglich, um Ihre Frage zum einfachen Verschieben der Festplatten zu beantworten, basierend auf den spezifischen RHEL-Versionen, die Sie erwähnt haben. Sie können die Datenträger / Caddys verschieben, und die HP Smart Array-Metadaten sind zwischen den P410- und P420-Controllern kompatibel, die sich möglicherweise in Ihren Systemen befinden. Ich würde dies jedoch nicht tun, ohne zuerst die Firmware der Laufwerke und Komponenten des neuen Systems vollständig zu aktualisieren.

ewwhite
quelle
Einige wirklich gute Kommentare in diesem Thread, danke an alle. Ich gehe zurück zur PM und fordere ein größeres Änderungsfenster an.
user1174838
1

Wenn Ihre vorherige Betriebssystemversion mit der neuen Hardware (hauptsächlich RAID-Controller) umgehen kann, können Sie CloneZilla ausprobieren .

Um zu überprüfen, ob es möglich ist, von einer Hardware auf eine andere zu wechseln, übergeben Sie alle Daten von einem alten auf einen neuen Server, indem Sie einige Tricks mit dd ausführen.

Starten Sie den neuen Server mit einer Live-Distribution wie SystemRescueCD , und konfigurieren Sie ihn mit einer IP-Adresse und einem Befehl dd wie diesem:

nc -l 8000 | dd of=/dev/sda

Auf dem aktuellen Server durchführen

dd if=/dev/sda | nc ${newserverip} 8000

Dadurch wird eine Rohkopie von / dev / sda Ihres Servers auf den neuen Server / dev / sda erstellt. Auf diese Weise können Sie einen Test ohne Ausfallzeiten auf Ihrem ursprünglichen Server durchführen und dabei nahezu kein Risiko eingehen.

alphamikevictor
quelle
2
Wenn auf dem alten Server Prozesse ausgeführt werden, die in Dateien auf dem alten Datenträger schreiben, insbesondere auf Datenbankservern und Ähnlichem, ist die Wahrscheinlichkeit sehr hoch, dass Sie ein beschädigtes (kopiertes) Dateisystem und beschädigte Daten in Ihren (kopierten) Dateien haben. Nehmen Sie niemals eine Rohdiskette auf, es sei denn, diese ist nicht gemountet oder schreibgeschützt gemountet.
Guntram Blohm unterstützt Monica
@GuntramBlohm Ich weiß, es ist nur zu überprüfen, ob Sie in der Lage sind, den alten Server ohne Zeitverlust auf einen neuen zu klonen. Nach dem Testen können Sie den Server klonen, ihn natürlich herunterfahren oder Schlüsseldienste beenden.
Alphamikevictor
CloneZilla und verwandte Techniken benötigen länger als 30 Minuten, um die Daten zwischen Systemen zu kopieren.
user1174838
0

Der Projektmanager hat meine Anfrage nach einem größeren Ausfallfenster abgelehnt.

Das in der Frage beschriebene vorgeschlagene Verfahren hat sich beim Testen bewährt. Die Ausfallzeit betrug weniger als 20 Minuten. Ich habe das Hilfsprogramm hpacucli verwendet, um den Fortschritt auf dem G7 und dann auf dem Gen8 zu überwachen. Dies war sehr nützlich.

Ich habe dies noch nicht im Zorn getan, aber wie bereits erwähnt, hat dies beim Testen von RHEL 5.10 auf BL460G7 bis BL460 Gen8 gut funktioniert.

Ich habe die Firmware nicht aktualisiert.

Die anfängliche Neusynchronisierung von RAID1 im G7 dauerte etwas mehr als eine Stunde. Die Neusynchronisation im Gen8 dauerte weniger als 50 Minuten. Dies hat mich beunruhigt, aber ich konnte keine Probleme feststellen.

Nochmals vielen Dank für alle hilfreichen Kommentare und Vorschläge.

user1174838
quelle