Ich muss Host-zu-Host-Migrationen von alter auf neue Hardware durchführen. Genauer gesagt von HP BL460G7 auf 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 sind insgesamt 120 GB in logischen Datenträgern zugewiesen, dem größten 510 GB. Auf drei Servern läuft RHEL5 und auf einem RHEL6.
Ich habe mir den Kopf darüber zerbrochen, wie ich das innerhalb des vorgegebenen Zeitrahmens und ohne Zerstörung des Betriebssystems und wichtiger Daten bewerkstelligen könnte.
Mein einziger Gedanke ist dieser:
- Entfernen Sie ein Laufwerk vom alten Server (Server ist eingeschaltet).
- Entfernen Sie beide Laufwerke vom neuen Server (Server ist ausgeschaltet).
- G7-Laufwerk aus dem Caddy entfernen und beiseite legen
- G8-Laufwerk aus dem Caddy entfernen und in den G7-Caddy einbauen
- Installieren Sie das G8-Laufwerk im G7-Caddy im alten Server
- Warten Sie, bis der RAID-Controller das RAID1-Array neu erstellt hat
- wenn fertig, alten Server herunterfahren
- G8-Laufwerk im G7-Caddy entfernen
- G8-Laufwerk im G8-Caddy installieren und in G8 einsetzen (einzelnes Laufwerk installiert)
- G8-Server booten
- Warten Sie, bis das Betriebssystem hochgefahren ist
- Wenn das Betriebssystem gebootet ist, legen Sie das verbleibende Laufwerk ein
- Warten Sie, bis das RAID-Array neu erstellt wurde
Klingt das vernünftig?
EDIT: Die RHEL5 sind RHEL5.10 und die RHEL6 sind RHEL6.6
Ich hätte auch erwähnen sollen, dass zwei der Systeme Teil eines Hot-4-Node-Clusters sind, der nahezu ständig Anwendungsereignisse repliziert (es ist Teil eines kritischen Infrastruktursystems). Wir haben Backups, aber wir verwenden sie nur im Falle eines vollständigen Systemausfalls.
Frühere Tests haben eine maximale Übertragungsrate (DD) zwischen Systemen von etwa 50 MBit/s gezeigt, was viel zu langsam ist.
BEARBEITEN: Ich wollte mich darauf verlassen, dass Kudzu die Hardwareänderungen erkennt und bewältigt.
Antwort1
Es ist zu beachten, dass je nach Distribution möglicherweise noch weitere Schritte erforderlich sind. Vor allem die Treiber (danke für den Hinweis @ewwhite).
- Starten Sie den neuen Server von einer Live-CD/einem USB-Stick.
- Bereiten Sie Partitionen und Bootblöcke auf den neuen Laufwerken vor.
- Je nach Setup kann dies durch Kopieren des MBR/Bootblocks erfolgen.
- Erstellen Sie die Dateisysteme.
- Führen Sie ein Rsync vom alten zum neuen Server durch.
- Möglicherweise möchten Sie es noch einmal tun, um zu sehen, wie lange die nachfolgende rsync-Operation dauert. Wenn es weniger als 30 Minuten dauert, fahren Sie fort.
- Dies ist die Zeit, die Sie tatsächlich ausprobieren können, wenn das neue System bootet. Achten Sie nur darauf, keine IP-Konflikte (oder andere Konflikte) zu verursachen.
- Beenden Sie alle Dienste, die in das Dateisystem schreiben würden.
- Vorzugsweise Neustart auf Live-CD/USB
- Daten erneut vom alten auf den neuen Server synchronisieren
- Starten Sie den neuen Server neu und verwenden Sie ihn
Auf diese Weise bleibt der ursprüngliche Server intakt, sodass Sie ihn problemlos wiederherstellen können, wenn etwas schief geht. Allerdings sind hierfür einige Kenntnisse erforderlich (Grub/Rsync/Partitionen), daher empfehle ich, vorab einige Vorbereitungen und Tests durchzuführen, bevor Sie es live schalten.
Antwort2
Zwei Dinge:
- Ich würde es neu erstellen und die Daten per Rsync synchronisieren.
- Ihr Zeitfenster für die Ausfallzeit scheint zu kurz zu sein. 30 Minuten können in bestimmten Situationen funktionieren, sollten es aber nichtDUden realistischen Ausfallzeitbedarf auf Grundlage dessen diktieren, was zur tatsächlichen Erledigung der Arbeit erforderlich ist?
Abhängig von den Daten, die auf den einzelnen Servern gespeichert sind, ist die Datenmengeabschütteln, und Ihrem Bereitstellungsschema kann es sinnvoll sein, das erforderliche Betriebssystem auf dem neuen Gen8 ProLiant zu installieren und die Einstellungen und andere Datenteile an einem Punkt zu synchronisieren, an dem Sie die Daten ruhigstellen können.
Erstellen Sie vielleicht eine Seed-Kopie und ermitteln Sie Ihren Ausfallzeitbedarf anhand der Zeit, die benötigt wird, um die Dateiänderungen bei nachfolgenden rsyncs zu übernehmen. Wenn Sie den Übertragungsprozess beschleunigen müssen oder viele kleine Dateien haben, gibt esTechniken, die dabei helfen können.
Ich mache solche Übergänge oft. Bei ähnlichen Linux-Installationen brauchen 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 Datei nutzen, /root/anaconda-ks.cfg
um sich ein Bild davon zu machen, wie das G7-System aufgebaut wurde.
Um Ihre Frage zum einfachen Verschieben der Festplatten zu beantworten: Basierend auf den spezifischen RHEL-Versionen, die Sie erwähnt haben, ist dies absolut möglich. Sie können die Festplatten/Caddies 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 vorher die Firmware der Laufwerke und Komponenten im neuen System vollständig zu aktualisieren.
Antwort3
Wenn Ihre bisherige Betriebssystemversion mit der neuen Hardware (meistens RAID-Controller) zurechtkommt, können Sie versuchen,CloneZilla.
Um zu prüfen, ob der Wechsel von einer Hardware zu einer anderen möglich ist, können Sie mit einigen Tricks mit DD alle Daten vom alten auf den neuen Server übertragen.
Booten Sie den neuen Server mit einer Live-Distribution wieSystemRescueCD, konfigurieren Sie mit einer IP-Adresse und einem DD-Befehl wie diesem:
nc -l 8000 | dd of=/dev/sda
Führen Sie auf dem aktuellen Server aus
dd if=/dev/sda | nc ${newserverip} 8000
Dadurch wird eine Rohkopie von /dev/sda Ihres Servers auf dem neuen Server /dev/sda erstellt. Auf diese Weise können Sie einen Test ohne Ausfallzeiten auf Ihrem ursprünglichen Server durchführen und gehen dabei nahezu kein Risiko ein.
Antwort4
Der Projektmanager hat meinen Antrag auf ein größeres Ausfallzeitfenster abgelehnt.
Das in der Frage beschriebene vorgeschlagene Verfahren hat im Test gut funktioniert. Die Ausfallzeit betrug weniger als 20 Minuten. Ich habe das Dienstprogramm hpacucli verwendet, um den Fortschritt auf dem G7 und dann auf dem Gen8 zu überwachen. Es war dafür sehr nützlich.
Ich habe dies noch nicht im Ernstfall getan, aber wie gesagt hat es beim Testen für RHEL 5.10 auf BL460G7 bis BL460 Gen8 gut funktioniert.
Ich habe die Firmware nicht aktualisiert.
Die erste RAID1-Neusynchronisierung im G7 dauerte etwas über eine Stunde. Die Neusynchronisierung im Gen8 dauerte weniger als 50 Minuten. Das machte mir Sorgen, aber ich konnte keine Probleme feststellen.
Nochmals vielen Dank für alle hilfreichen Kommentare und Vorschläge.