Erreurs de périphérique SDS PowerFlex chiffrées par CloudLink après des redémarrages en raison du service SDS démarrant avant que l’agent CloudLink ne déverrouille les lecteurs
Summary: Lorsque les périphériques SDS PowerFlex sont chiffrés par CloudLink, les noms de mappage peuvent changer après un redémarrage. Cela entraîne une réorganisation des appareils SDS et ils s’affichent comme étant en échec dans l’interface utilisateur PowerFlex. ...
Symptoms
Produits concernés : La combinaison spécifique qui inclut :
- PowerFlex 3.6
- Cloud Link 7.1
- RHEL 8.x
- Appareils SDS chiffrés par CloudLink
Après un redémarrage, les appareils SDS chiffrés CloudLink peuvent apparaître comme étant en échec dans l’interface utilisateur PowerFlex en raison d’une réorganisation du mappeur des appareils.
Le mappage logique de l’appareil de démarrage peut basculer entre la première et la dernière lettre de l’appareil.
Les erreurs SDS peuvent également se produire après les redémarrages si le service SDS démarre avant que CloudLink n’ait déverrouillé les disques. Ce problème sera résolu dans la version 7.0.2 de CloudLink.
Cause
- Le mappeur CloudLink chiffré utilise la lettre du lecteur comme identifiant. (par exemple, /dev/mapper/svm_sdb)
- Lorsque la lettre du lecteur change, le nom du mappeur change
- Lors du redémarrage, la lettre du lecteur peut changer selon que le disque de démarrage ou les lecteurs SDS sont détectés en premier.
- Cela peut également se produire si le service SDS démarre avant que l’agent CloudLink ait déverrouillé les lecteurs.
Resolution
Solution de contournement pour le changement de lettre de lecteur :
-
Option 1 :
- Arrêtez le service SDS sur le nœud PowerFlex (/opt/emc/scaleio/sds/bin/delete_service.sh).
- Effacez toutes les alertes SDS. Cela devrait inciter PowerFlex à analyser à nouveau le système à la recherche des nouveaux noms de périphérique et à commencer à les utiliser. (Se trouve dans Appareils du serveur > de présentation.)
- Redémarrez le service SDS après (/opt/emc/scaleio/sds/bin/create_service.sh).
-
Option 2 : Retirez les disques SDS de PowerFlex et rajoutez-les. (disponible dans Appareils du serveur > de présentation)
-
Option 3 : Redémarrez le nœud PowerFlex pour que l’ordre des disques revienne à l’adressage d’origine.
Si les redémarrages suivants utilisent le nouveau format de lettre de lecteur, les erreurs SDS continuent de se produire lors des redémarrages. Pour modifier les lettres du lecteur PowerFlex afin que les erreurs SDS ne se produisent pas, exécutez les commandes scli suivantes :
Recherchez l’sds_id du nœud SDS qui présentait les erreurs :
Scli --query_all_sds
Mise à jour avec les nouvelles lettres de lecteur :
Scli --update_sds_original_paths -sds_id <id>
Retardez le démarrage de PowerFlex jusqu’à ce que CloudLink déverrouille les disques :
Les mises à niveau de CloudLink vers les versions 7.0x, 7.1, 7.1.1 et 7.1.2 suppriment le minuteur de mise en veille de 60 secondes dans /opt/emc/extra/pre_run.sh sur les nœuds SDS. Cela provoque des erreurs SDS après un redémarrage, car PowerFlex commence à utiliser les disques avant qu’ils ne soient déverrouillés par CloudLink. Pour éviter les erreurs SDS lors des redémarrages, ajoutez le délai de 60 secondes dans /opt/emc/extra/pre_run.sh sur les nœuds SDS après une mise à niveau de l’agent CloudLink. Cela retarde le démarrage du service SDS jusqu’à ce que les lecteurs chiffrés aient été déverrouillés par CloudLink.
Exemple montrant le délai de 60 secondes ajouté à pre_run.sh :
#!/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
Correctif permanent :
- Nouveaux déploiements : installation de CloudLink 7.1.2 et de PowerFlex 3.6.0.2
- Systèmes existants : Mise à niveau vers CloudLink 7.1.2 et PowerFlex 3.6.0.2
CloudLink 7.1.2 et PowerFlex 3.6.0.2 utilisent /dev/disk/by-id/.... Par conséquent, utilisez les noms /dev/mapper/svm_wwn-XXXX plutôt que le nom logique /dev/svm_sdXXX.