Daten von einem Block Storage migrieren
OpenStack-Volumes zwischen Providern mit Rsync migrieren
Abschnitt betitelt „OpenStack-Volumes zwischen Providern mit Rsync migrieren“Migrieren Sie ein Volume von einem OpenStack-Anbieter zu einem anderen unter Verwendung von rsync, um die Datenkonsistenz zu gewährleisten und die Übertragungszeit zu minimieren.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Aktive Konten bei sowohl dem Quell- als auch dem Ziel-OpenStack-Anbieter.
- OpenStack CLI-Tools auf Ihrem lokalen Rechner oder einem Management-Server installiert.
- Rsync auf sowohl der Quell- als auch der Zielinstanz installiert.
- SSH-Schlüssel-basierte Authentifizierung zwischen den Quell- und Zielinstanzen für sichere, passwortlose Übertragungen eingerichtet.
- Eine ausreichend schnelle Netzwerkverbindung zwischen den Quell- und Ziel-OpenStack-Instanzen.
Schritte
Abschnitt betitelt „Schritte“Vorbereitung
Abschnitt betitelt „Vorbereitung“Stellen Sie auf der Quell- und Zielinstanz sicher, dass rsync installiert ist:
sudo apt-get install rsyncSSH-Schlüssel-Einrichtung
Abschnitt betitelt „SSH-Schlüssel-Einrichtung“Falls noch nicht geschehen, richten Sie eine SSH-Schlüssel-basierte Authentifizierung zwischen den Quell- und Zielinstanzen ein.
Generieren Sie ein neues SSH-Schlüsselpaar auf der Zielinstanz. Loggen Sie sich per SSH auf der Zielinstanz ein und generieren Sie ein neues SSH-Schlüsselpaar, das nur für den rsync-Transfer verwendet wird:
ssh user@target-instance-ipssh-keygen -t rsa -b 4096 -C "rsync-transfer" -f ~/.ssh/rsync-keyLaden Sie den öffentlichen Schlüssel auf den lokalen Rechner herunter.
Verwenden Sie von Ihrem lokalen Rechner aus den scp -Befehl, um den öffentlichen Schlüssel von der Zielinstanz herunterzuladen:
scp user@target-instance-ip:~/.ssh/rsync-key.pub.Übertragen Sie den öffentlichen Schlüssel auf die Quellinstanz. Verwenden Sie von Ihrem lokalen Rechner aus den scp-Befehl, um den heruntergeladenen öffentlichen Schlüssel auf die Quellinstanz zu übertragen:
scp ~/path/to/downloaded/rsync-key.pub user@source-instance-ip:~Hängen Sie den öffentlichen Schlüssel an die Datei authorized_keys an. Loggen Sie sich per SSH auf der Quellinstanz ein und hängen Sie dann den öffentlichen Schlüssel an die Datei ~/.ssh/authorized_keys an:
ssh user@source-instance-ipcat ~/rsync-key.pub >> ~/.ssh/authorized_keysIn diesen Befehlen:
- Ersetzen Sie
userdurch Ihren Benutzernamen auf den Quell- und Zielinstanzen. - Ersetzen Sie
source-instance-ipundtarget-instance-ipdurch die jeweiligen IP-Adressen der Quell- und Zielinstanzen. - Ersetzen Sie
\~/path/to/downloaded/rsync-key.pubdurch den Pfad zur öffentlichen Schlüsseldatei, die Sie auf die Zielinstanz heruntergeladen haben.
Nun sollte die Zielinstanz passwortlosen SSH-Zugriff auf die Quellinstanz haben, was einen nahtlosen rsync-Transfer zwischen beiden ermöglicht.
Dienste stoppen und Volume trennen (Quelle)
Abschnitt betitelt „Dienste stoppen und Volume trennen (Quelle)“Stoppen Sie alle Dienste oder Anwendungen auf der Quellinstanz, die auf das Volume schreiben oder darauf zugreifen, um die Datenkonsistenz während der Migration zu gewährleisten:
sudo service <service-name> stopVolume im Ziel einhängen (mounten)
Abschnitt betitelt „Volume im Ziel einhängen (mounten)“Erstellen und hängen Sie auf der Zielinstanz ein neues Volume mit der gleichen oder einer größeren Größe als das Quell-Volume ein.
Wenn die Zielinstanz eine OpenStack-Instanz ist, können Sie diese Anweisungen befolgen:
Erstellen Sie ein neues Volume auf der Ziel-OpenStack-Instanz:
openstack volume create --availability-zone <zone> --size <size-in-GB> <volume-name>Listen Sie die verfügbaren Volumes auf, um die ID des neuen Volumes zu finden:
openstack volume listHängen Sie das neue Volume an die Zielinstanz an:
openstack server add volume <instance-id> <volume-id>Stellen Sie sicher, dass das Volume auch innerhalb der VM gemountet ist.
Führen Sie den rsync-Befehl aus, um die Daten vom Quell- zum Ziel-Volume zu synchronisieren:
rsync -avz -e user@source-instance-ip:/path/to/source/volume/ /path/to/target/volume/Daten verifizieren
Abschnitt betitelt „Daten verifizieren“Sobald rsync abgeschlossen ist, überprüfen Sie, ob die Daten auf dem Ziel-Volume mit der Quelle übereinstimmen.
Temporären SSH-Schlüssel entfernen
Abschnitt betitelt „Temporären SSH-Schlüssel entfernen“Stellen Sie nach erfolgreicher Übertragung sicher, dass die in Schritt 1.2.2 erstellten temporären SSH-Schlüssel entfernt werden (falls sie nicht mehr benötigt werden).
Dienste starten (Quelle und Ziel)
Abschnitt betitelt „Dienste starten (Quelle und Ziel)“Starten Sie alle Dienste neu, die auf der Quellinstanz gestoppt wurden, und starten Sie die erforderlichen Dienste auf der Zielinstanz, um das migrierte Volume zu verwenden.
sudo service <service-name> start