CloudLink-verschlüsselte PowerFlex-SDS-Gerätefehler nach Neustarts, da der SDS-Service gestartet wird, bevor der CloudLink-Agent Laufwerke entsperrt
Summary: Wenn PowerFlex-SDS-Geräte von CloudLink verschlüsselt werden, können sich die Mapper-Namen nach einem Neustart ändern. Dies führt dazu, dass die SDS-Geräte neu angeordnet werden und in der PowerFlex-Benutzeroberfläche als fehlgeschlagen angezeigt werden. ...
Symptoms
Betroffene Produkte: Die spezifische Kombination, die Folgendes umfasst:
- PowerFlex 3.6
- Cloud-Link 7.1
- RHEL 8.x
- SDS-Geräte, die von CloudLink verschlüsselt werden
Nach einem Neustart können die mit CloudLink verschlüsselten SDS-Geräte in der PowerFlex-Benutzeroberfläche aufgrund einer Neuanordnung der Gerätezuordnung als fehlgeschlagen angezeigt werden.
Die logische Zuordnung des Startgeräts kann zwischen dem ersten und dem letzten Gerätebuchstaben wechseln.
Die SDS-Fehler können auch nach Neustarts auftreten, wenn der SDS-Service gestartet wird, bevor CloudLink die Laufwerke entsperrt hat. Dieses Problem wird in CloudLink Version 7.0.2 behoben.
Cause
- Der verschlüsselte CloudLink-Mapper verwendet den Laufwerksbuchstaben als Kennung. (z. B. /dev/mapper/svm_sdb)
- Wenn sich der Laufwerksbuchstabe ändert, ändert sich auch der Mapper-Name
- Während des Neustarts kann sich der Laufwerksbuchstabe ändern, je nachdem, ob das Startlaufwerk oder die SDS-Laufwerke zuerst erkannt werden.
- Dies kann auch auftreten, wenn der SDS-Service gestartet wird, bevor der CloudLink-Agent die Laufwerke entsperrt hat.
Resolution
Workaround für die Änderung des Laufwerkbuchstabens:
-
Option 1:
- Beenden Sie den SDS-Service auf dem PowerFlex-Node (/opt/emc/scaleio/sds/bin/delete_service.sh).
- Löschen Sie alle SDS-Warnmeldungen. Dies sollte PowerFlex dazu veranlassen, das System erneut nach den neuen Gerätenamen zu durchsuchen und sie zu verwenden. (Befindet sich in Presentation Server-Geräten>.)
- Starten Sie den SDS-Service nach (/opt/emc/scaleio/sds/bin/create_service.sh).
-
Option 2: Entfernen Sie die SDS-Laufwerke aus PowerFlex und fügen Sie sie erneut hinzu. (Befindet sich in Präsentationsserver-Geräten>)
-
Option 3: Starten Sie den PowerFlex-Node neu und die Festplattenreihenfolge wird möglicherweise wieder auf die ursprüngliche Zuordnung geändert.
Wenn bei nachfolgenden Neustarts das neue Laufwerkbuchstabenformat verwendet wird, treten die SDS-Fehler weiterhin bei den Neustarts auf. Um die Buchstaben des PowerFlex-Laufwerks so zu ändern, dass die SDS-Fehler nicht auftreten, führen Sie die folgenden SCLI-Befehle aus:
Suchen Sie die sds_id des SDS-Node, auf dem die Fehler auftraten:
Scli --query_all_sds
Aktualisieren Sie mit den neuen Laufwerksbuchstaben:
Scli --update_sds_original_paths -sds_id <id>
Verzögern Sie den Start von PowerFlex, bis CloudLink die Laufwerke entsperrt:
Bei CloudLink-Upgrades auf 7.0x, 7.1, 7.1.1 und 7.1.2 wird ein 60-Sekunden-Sleep-Timer in /opt/emc/extra/pre_run.sh auf SDS-Nodes entfernt. Dies führt nach einem Neustart zu SDS-Fehlern, da PowerFlex die Laufwerke verwendet, bevor sie von CloudLink entsperrt werden. Um SDS-Fehler bei Neustarts zu vermeiden, fügen Sie die Verzögerung von 60 Sekunden nach einem Upgrade des CloudLink-Agent wieder in /opt/emc/extra/pre_run.sh auf SDS-Nodes hinzu. Dadurch wird der Start des SDS-Service verzögert, bis die verschlüsselten Laufwerke von CloudLink entsperrt wurden.
Ein Beispiel für die Verzögerung von 60 Sekunden, die pre_run.sh hinzugefügt wurde:
#!/bin/bash -f if [ -f /sbin/svm ]; then echo svm is installed $(date) >> /var/log/svm-sds /sbin/svmd -l /var/log/svmd.log -p /var/run/svmd.pid & end=$((SECONDS+300)) while [ $SECONDS -lt $end ]; do /sbin/svm unlocked > /dev/null && break sleep 5 done fi sleep 60 echo pre_run returned...$(date) >> /var/log/svm-sds
Dauerhafte Lösung:
- Neue Bereitstellungen : Installieren von CloudLink 7.1.2 und PowerFlex 3.6.0.2
- Bestehende Systeme: Upgrade auf CloudLink 7.1.2 und PowerFlex 3.6.0.2
CloudLink 7.1.2 und PowerFlex 3.6.0.2 verwenden /dev/disk/by-id/.... Verwenden Sie daher die Namen /dev/mapper/svm_wwn-XXXX anstelle der logischen Namen /dev/svm_sdXXX.