Dell Unity : Gestion du cache en écriture lors des activités de maintenance d’un processeur de stockage
Summary: Cet article décrit les pratiques d’excellence pour la gestion du cache en écriture (désactivation, activation, vérification, vidage) lors des activités de maintenance du processeur de stockage (SP) Unity. (Corrigible par l’utilisateur) ...
Instructions
Remarque : Dell a précédemment recommandé de désactiver le cache en écriture lors de la mise à niveau sans perturbation. Dell a révisé ces recommandations. À l’exception des redémarrages proactifs avant la mise à niveau sans perturbation (si vous choisissez de les faire), le cache en écriture doit rester activé pendant la mise à niveau sans perturbation.
Une activité de maintenance matérielle du SP est définie comme le remplacement de l’une des pièces de la liste suivante :
| Pièce |
|---|
| DIMM |
| SFP |
| SP |
| BBU |
| Module d'E/S |
| M.2 SATA |
| Boîtier DPE |
| Ventilateur |
| Carte mezzanine |
| Bloc d’alimentation du boîtier DPE - Bloc d’alimentation |
Les étapes décrites dans cet article pour désactiver manuellement le cache en écriture avant toute activité de maintenance matérielle planifiée du SP s’appliquent à Unity OE 5.3 et versions inférieures. Le cache en écriture est automatiquement désactivé lorsqu’un processeur de stockage est placé en mode maintenance sur les baies Unity exécutant OE 5.4 et versions supérieures.
La désactivation du cache en écriture est également une pratique d’excellence avant d’effectuer les activités de mise à niveau ou préalables à la mise à niveau suivantes :
| Activité |
|---|
| Mises à niveau sans déplacement des données (DIP). |
| Redémarrages proactifs du SP avant la mise à niveau sans perturbation |
Les étapes décrites dans cet article pour désactiver manuellement le cache en écriture avant toute activité de mise à niveau planifiée s’appliquent à Unity OE versions 5.1 ou ultérieures. Le cache en écriture Unity n’est PAS automatiquement désactivé lors de l’exécution d’une mise à niveau sur n’importe quelle version de Unity OE.
Le svc_cache peut être utilisée pour désactiver le cache en écriture, activer le cache en écriture et afficher l’état du cache en écriture à l’aide des trois commutateurs :
--disable --enable --getLe
svc_cache est fournie avec UnityOS version 5.2 et ultérieure.
Pour Unity OE 5.0 et 5.1, le
svc_cache doit être chargée manuellement sur le système Unity par le support technique Dell ou un prestataire de services agréé. Cela permet d’effectuer les modifications du cache sans avoir besoin d’un shell racine et en engageant un niveau de support plus élevé.
Remarque : Selon le navigateur utilisé, la police peut fausser le -- (double tiret) dans les commandes, en particulier les lignes en gras.
Le paramètre utilisé après l’attribut
svc_cache commande est précédée d’un -- (double trait d’union) et non d’un - simple .
Si les commandes en gras sont copiées dans un bloc-notes de cet article, le double tiret est plus défini.
Le
svc_cache Les paramètres répertoriés ici sont expliqués plus en détail ci-dessous :
svc_cache --force-enableCacheOperations svc_cache --get svc_cache --disable svc_cache --enable svc_cache --disableCacheOperations
Déterminer si l’option svc_cache La commande est déjà installée :
Si vous exécutez l’une des commandes svc_cache , vous pouvez déterminer si le package est installé. Il réagit différemment selon que le svc_cache a déjà été installée avec les nouvelles commandes. Pour tester cela, utilisez la commande svc_cache --get .
Si le package n’est pas encore installé :
Exécution de l’opération svc_cache --get commande renvoie l’utilisation de la commande :
19:44:58 service@APM00123456789 spa:~/user# svc_cache --get This script displays and clears the Cache Dirty or Cache Lost LUNs(CDCA) on this system. Usage: svc_cache [<qualifiers>]Si cela se produit, contactez le support technique Dell ou votre prestataire de services agréé en leur communiquant l’identifiant de cet article Dell.
Si le package est installé (déjà fourni avec OS 5.2 et versions ultérieures) :
Exécution de l’opération svc_cache --get La commande produit l’un des deux résultats suivants, selon que les commandes sont déverrouillées ou non.
- Si le package est installé, mais que les commandes ne sont pas activées, le système renvoie une erreur :
19:44:58 service@APM00123456789 spa:~/user# svc_cache --get --- ERROR: This option can only be used after enabling cache operations.
svc_cache --force-enableCacheOperations
- Si le package est installé et que l’ensemble de commandes est déjà activé, le
svc_cache --getrenvoie l’état du cache comme prévu. Passez à l'étape suivante pour désactiver le cache en écriture.
Désactiver le cache en écriture :
- Obtenez l’état du cache d’écriture :
svc_cache --get(L’état 3 est activé, l’état 7 est désactivé ou inconnu, l’état 8 est désactivé). Si le cache en écriture est déjà désactivé, aucune autre action n’est requise. - Désactiver le cache en écriture :
svc_cache --disable(Il suffit d’exécuter la commande sur un SP pour désactiver le cache sur les deux SP). - Vérifiez que le cache en écriture est désactivé : s
svc_cache --get
Write Cache State: 3 (activé)
État du cache en écriture : 7 (unknown)
Write Cache State : 8 (désactivé)
Consultez des exemples de sorties plus détaillés dans la section Remarques supplémentaires.
L’objectif est d’atteindre l’état 8 (désactivé). Si la sortie de svc_cache --get est un état de 7, cela signifie que les pages sales sont toujours vides. Réexécutez le svc_cache --get jusqu’à ce que l’état soit 8 (désactivé).
Si la désactivation prend un certain temps, vous pouvez également utiliser des metrics pour vous assurer que toutes les pages de cache corrompues sont vidées ou vidées :
uemcli /metrics/value/rt -path sp.*.blockCache.global.summary.dirtyBytes show -interval 5 -count 5
Une fois le svc_cache --get Affiche les états 8 ou les pages sales indiquent 0, vous pouvez poursuivre votre activité.
Activez le cache en écriture :
Lorsque les deux SP sont de nouveau en ligne :
- Obtenez l’état du cache en écriture :
svc_cache --get(L’état 3 est activé, l’état 7 est désactivé ou inconnu, l’état 8 est désactivé). - Activez le cache en écriture :
svc_cache --enable(La commande doit uniquement être exécutée sur un SP pour activer le cache sur les deux SP) - Confirmez que le cache en écriture est activé : s
svc_cache --get(L’état 3 est activé).
Enfin, lorsque vous avez terminé votre activité, vous devez désactiver les commandes de cache en écriture :
svc_cache --disableCacheOperations
Additional Information
Informations concernant le cache en écriture et la mise à niveau sans perturbation (NDP) de Unity :
Tout d’abord, Dell vous recommande vivement d’imprimer une procédure mise à jour à partir de notre générateur de procédures SolVe (le client doit se connecter au support Dell) et de vous reporter aux articles indiqués avant de commencer. Cela vous permet de disposer d’informations à jour concernant tous les problèmes potentiels que vous pouvez rencontrer lors de votre mise à niveau, ce qui vous offre les meilleures chances de succès.
En bref, le seul moment où Dell Technologies recommande de désactiver le cache en écriture pour les opérations de mise à niveau sans perturbation est lorsque vous effectuez des redémarrages proactifs du processeur de stockage juste avant votre mise à niveau sans perturbation. Au-delà de ce scénario, le cache en écriture doit rester activé pendant la mise à niveau sans perturbation.
Exemples de sorties :
svc_cache --get Cela indique que l’ensemble de commandes n’a pas été installé :
19:44:58 service@APM00123456789 spa:~/user# svc_cache --get This script displays and clears the Cache Dirty or Cache Lost LUNs(CDCA) on this system. Usage: svc_cache [<qualifiers>]
svc_cache --get Indique que l’ensemble de commandes n’a pas été activé :
19:44:58 service@APM00123456789 spa:~/user# svc_cache --get
--- ERROR: This option can only be used after enabling cache operations.
Si cela se produit, vous devez activer les commandes à l’aide de la commande suivante :
svc_cache --force-enableCacheOperations
svc_cache --get Affichage du cache en écriture activé :
16:28:43 service@APM00123456789 spa:~/user# svc_cache --get execute sptool -i sptool -i output: SPA current SP-A, other SP-B execute: c4admintool -c get_cache Get Cache Info. SP WWID: wwn = 06:00:00:00:05:00:00:00:00:00:00:00:00:00:00:02 SP WWID: wwn = 06:00:00:00:05:00:00:00:01:00:00:01:01:00:00:02 System Cache Information Write Cache State: 3 (enabled) SP WWID: wwn = 06:00:00:00:05:00:00:00:00:00:00:00:00:00:00:02 System Cache Information Write Cache State: 3 (enabled) SP WWID: wwn = 06:00:00:00:05:00:00:00:01:00:00:01:01:00:00:02 ** c4admintool_main: exit CSX_STATUS_SUCCESS 16:28:48 service@APM00123456789 spa:~/user# svc_cache --get showing write cache is disabled: 16:29:00 service@APM00123456789 spa:~/user# svc_cache --get execute sptool -i sptool -i output: SPA current SP-A, other SP-B execute: c4admintool -c get_cache Get Cache Info. SP WWID: wwn = 06:00:00:00:05:00:00:00:00:00:00:00:00:00:00:02 SP WWID: wwn = 06:00:00:00:05:00:00:00:01:00:00:01:01:00:00:02 System Cache Information Write Cache State: 8 (disabled) SP WWID: wwn = 06:00:00:00:05:00:00:00:00:00:00:00:00:00:00:02 System Cache Information Write Cache State: 8 (disabled) SP WWID: wwn = 06:00:00:00:05:00:00:00:01:00:00:01:01:00:00:02 ** c4admintool_main: exit CSX_STATUS_SUCCESS 16:31:30 service@APM00123456789 spa:~/user#
svc_cache --disable:
16:28:48 service@APM00123456789 spa:~/user# svc_cache --disable execute sptool -i sptool -i output: SPA current SP-A, other SP-B execute: c4admintool -c set_cache -o disable -t write currentArg 3 argc 7 currentArg 3 argc 7 Set Write Cache Disabled SP A(0). #:2022-03-04 16:29:00.035 GMT :U:( 1:1):00007f7168fd0280:25459:Unknown:: TLDflarecons:TLDconfig.cpp :09584=>TLDconfig_SetCacheBuildTree Enable 0, Type 2, SP = 0 #:2022-03-04 16:29:00.035 GMT :U:( 1:1):00007f7168fd0280:25459:Unknown:: TLDconfig: :TLDconfig.cpp :09592=>Set cache state to disabled - 8 SP WWID: wwn = 06:00:00:00:05:00:00:00:00:00:00:00:00:00:00:02 SP WWID: wwn = 06:00:00:00:05:00:00:00:01:00:00:01:01:00:00:02 c4admintool: -TAG_REQUEST(0x10016) c4admintool: --TAG_OPERATION(0x10017) <snip> c4admintool: -------TAG_WRITE_CACHE(0x102ca) c4admintool: --------TAG_STATE(0x10079) - 8 ** c4admintool_main: exit CSX_STATUS_SUCCESS 16:29:00 service@APM00123456789 spa:~/user#
svc_cache --enable:
16:32:43 service@APM00123456789 spa:~/user# svc_cache --enable execute sptool -i sptool -i output: SPA current SP-A, other SP-B execute: c4admintool -c set_cache -o enable -t write currentArg 3 argc 7 currentArg 3 argc 7 Set Write Cache Enabled SP A(0). #:2022-03-04 16:32:47.905 GMT :U:( 0:1):00007f8011b49280:09830:Unknown:: TLDflarecons:TLDconfig.cpp :09584=>TLDconfig_SetCacheBuildTree Enable 1, Type 2, SP = 0 #:2022-03-04 16:32:47.905 GMT :U:( 0:1):00007f8011b49280:09830:Unknown:: TLDconfig: :TLDconfig.cpp :09589=>Set cache state to enabled - 3 SP WWID: wwn = 06:00:00:00:05:00:00:00:00:00:00:00:00:00:00:02 SP WWID: wwn = 06:00:00:00:05:00:00:00:01:00:00:01:01:00:00:02 c4admintool: -TAG_REQUEST(0x10016) c4admintool: --TAG_OPERATION(0x10017) <snip> c4admintool: -------TAG_WRITE_CACHE(0x102ca) c4admintool: --------TAG_STATE(0x10079) - 3 ** c4admintool_main: exit CSX_STATUS_SUCCESS 16:32:48 service@APM00123456789 spa:~/user#
svc_cache --get Affichage du cache en écriture activé :
16:33:43 service@APM00123456789 spa:~/user# svc_cache --get execute sptool -i sptool -i output: SPA current SP-A, other SP-B execute: c4admintool -c get_cache Get Cache Info. SP WWID: wwn = 06:00:00:00:05:00:00:00:00:00:00:00:00:00:00:02 SP WWID: wwn = 06:00:00:00:05:00:00:00:01:00:00:01:01:00:00:02 System Cache Information Write Cache State: 3 (enabled) SP WWID: wwn = 06:00:00:00:05:00:00:00:00:00:00:00:00:00:00:02 System Cache Information Write Cache State: 3 (enabled) SP WWID: wwn = 06:00:00:00:05:00:00:00:01:00:00:01:01:00:00:02 ** c4admintool_main: exit CSX_STATUS_SUCCESS 16:33:48 service@APM00123456789 spa:~/user#