Rechercher

20.10. Détection et remplacement d'un dispositif NVDIMM cassé

download PDF

Si vous trouvez des messages d'erreur relatifs aux modules de mémoire non volatile double en ligne (NVDIMM) dans votre journal système ou par S.M.A.R.T., cela peut signifier qu'un périphérique NVDIMM est défaillant. Dans ce cas, il est nécessaire de :

  1. Détecter le périphérique NVDIMM défaillant
  2. Sauvegarder les données qui y sont stockées
  3. Remplacer physiquement le dispositif

Procédure

  1. Détecter le dispositif cassé :

    # ndctl list --dimms --regions --health
    {
      "dimms":[
        {
          "dev":"nmem1",
          "id":"8089-a2-1834-00001f13",
          "handle":17,
          "phys_id":32,
          "security":"disabled",
          "health":{
            "health_state":"ok",
            "temperature_celsius":35.0,
            [...]
          }
    [...]
    }
  2. Trouvez l'attribut phys_id du NVDIMM cassé :

    # ndctl list --dimms --human

    D'après l'exemple précédent, vous savez que nmem0 est le NVDIMM cassé. Par conséquent, trouvez l'attribut phys_id de nmem0.

    Exemple 20.7. Les attributs phys_id des NVDIMM

    Dans l'exemple suivant, l'adresse phys_id est 0x10:

    # ndctl list --dimms --human
    
    [
      {
        "dev":"nmem1",
        "id":"XXXX-XX-XXXX-XXXXXXXX",
        "handle":"0x120",
        "phys_id":"0x1c"
      },
      {
        "dev":"nmem0",
        "id":"XXXX-XX-XXXX-XXXXXXXX",
        "handle":"0x20",
        "phys_id":"0x10",
        "flag_failed_flush":true,
        "flag_smart_event":true
      }
    ]
  3. Trouvez l'emplacement de mémoire du NVDIMM cassé :

    # dmidecode

    Dans le résultat, recherchez l'entrée dont l'identifiant Handle correspond à l'attribut phys_id du NVDIMM cassé. Le champ Locator indique l'emplacement de mémoire utilisé par le NVDIMM cassé.

    Exemple 20.8. Liste des emplacements de mémoire NVDIMM

    Dans l'exemple suivant, le périphérique nmem0 correspond à l'identifiant 0x0010 et utilise l'emplacement de mémoire DIMM-XXX-YYYY:

    # dmidecode
    
    ...
    Handle 0x0010, DMI type 17, 40 bytes
    Memory Device
            Array Handle: 0x0004
            Error Information Handle: Not Provided
            Total Width: 72 bits
            Data Width: 64 bits
            Size: 125 GB
            Form Factor: DIMM
            Set: 1
            Locator: DIMM-XXX-YYYY
            Bank Locator: Bank0
            Type: Other
            Type Detail: Non-Volatile Registered (Buffered)
    ...
  4. Sauvegardez toutes les données contenues dans les espaces de noms du NVDIMM. Si vous ne sauvegardez pas les données avant de remplacer le NVDIMM, elles seront perdues lorsque vous retirerez le NVDIMM de votre système.

    Avertissement

    Dans certains cas, par exemple lorsque le NVDIMM est complètement cassé, la sauvegarde peut échouer.

    Pour éviter cela, surveillez régulièrement vos périphériques NVDIMM à l'aide de S.M.A.R.T. comme décrit dans la section Surveillance de l'état des NVDIMM à l'aide de S.M.A.R.T. et remplacez les NVDIMM défaillants avant qu'ils ne se cassent.

  5. Dressez la liste des espaces de noms sur le NVDIMM :

    # ndctl list --namespaces --dimm=DIMM-ID-number

    Exemple 20.9. Liste des espaces de noms NVDIMM

    Dans l'exemple suivant, le périphérique nmem0 contient les espaces de noms namespace0.0 et namespace0.2, que vous devez sauvegarder :

    # ndctl list --namespaces --dimm=0
    
    [
      {
        "dev":"namespace0.2",
        "mode":"sector",
        "size":67042312192,
        "uuid":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "raw_uuid":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "sector_size":4096,
        "blockdev":"pmem0.2s",
        "numa_node":0
      },
      {
        "dev":"namespace0.0",
        "mode":"sector",
        "size":67042312192,
        "uuid":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "raw_uuid":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "sector_size":4096,
        "blockdev":"pmem0s",
        "numa_node":0
      }
    ]
  6. Remplacer physiquement le NVDIMM cassé.

Ressources supplémentaires

  • Les pages de manuel ndctl-list(1) et dmidecode(8)
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.