6. Réinitialiser en cas de re-bootstrap

Durée estimée : quatre jours

Propriétaire du composant exploitable : matériel

Profil de compétences : ingénieur de déploiement

Effectuez les tâches suivantes pour réinitialiser les appareils et les systèmes exécutés dans l'environnement isolé Google Distributed Cloud (GDC).

6.1. Sommaire

  1. Présentation de la procédure de réinitialisation
  2. Réinitialisation du serveur HPE
  3. Réinitialisation de NetApp StorageGRID
  4. Réinitialisation de NetApp ONTAP
  5. Réinitialisation de Thales HSM
  6. Réinitialisation des pare-feu Palo Alto
  7. Réinitialisation des commutateurs Cisco
  8. Autres ressources

6.2. Conditions préalables et sécurité

6.2.1. Accès requis

  • Accès physique : accès à la salle du centre de données avec un chariot d'urgence
  • Accès au réseau : connectivité de l'interface de gestion ou accès à la console
  • Identifiants : accès administrateur à tous les systèmes
  • Sauvegardes : sauvegarde complète de tous les secrets et données de configuration

6.2.2. Checklist de sécurité

  • [ ] Accès physique à l'infrastructure
  • [ ] Les secrets de secours ont été sécurisés hors connexion
  • [ ] Sauvegarde de l'infrastructure (si nécessaire)

6.3. Présentation de la procédure de réinitialisation

La procédure de réinitialisation d'une zone de cellule GDC existante vise à libérer tous les appliances matériels de toute dépendance, puis à les rétablir dans leur état de structure.

6.3.1. Dépendances de l'infrastructure

Les composants ont les interdépendances suivantes qui déterminent l'ordre de réinitialisation :

  1. Les serveurs, NetApp ONTAP et NetApp StorageGrid s'appuient sur les appliances Thales HSM, car elles fournissent les clés de chiffrement pour les ILO, les disques, les locataires et les buckets.
  2. Les appliances HSM Thales reposent sur la connectivité des pare-feu IDP/de périmètre et des commutateurs Cisco.
  3. Les pare-feu IDP/de périmètre s'appuient sur l'infrastructure réseau des commutateurs Cisco.
  4. Les commutateurs Cisco doivent être réinitialisés en dernier recours, car la connectivité sera interrompue après leur réinitialisation.

6.3.2. Réinitialiser l'ordre (critique)

Suivez cet ordre exact pour éviter le blocage du système :

  1. Serveurs HPE : supprimez d'abord les dépendances HSM
  2. NetApp StorageGRID : effacer le chiffrement et réinitialiser les nœuds
  3. NetApp ONTAP : désactiver le HSM et réinitialiser le cluster
  4. HSM Thales : rétablir la configuration d'usine et effacer la racine de confiance
  5. Pare-feu : rétablir la configuration d'usine
  6. Routeurs Cisco : réinitialiser la dernière connexion (interrompt la connectivité)

Présentation

6.4. Effacement sécurisé Hewlett Packard Enterprise

Trois types d'opérations de réinitialisation sont disponibles. Chacun d'eux constitue une méthode alternative pour nettoyer la configuration du Gestionnaire de clés iLO. L'objectif principal est de supprimer la dépendance au module de sécurité matériel (HSM).

En règle générale, la réinitialisation d'ILO aux paramètres d'usine suffit à nettoyer la configuration KMS. Ensuite, lors du prochain bootstrap, le processus de bootstrap du serveur initialisera les paramètres BIOS du serveur, effacera les disques et réinitialisera le serveur.

Cette section explique comment effectuer trois types d'effacements :

  1. Rétablir la configuration d'usine d'iLO

  2. Réinitialisation manuelle d'iLO

  3. Effacement sécurisé

Ces scripts d'effacement utilisent un exemple de fichier CSV appelé example.csv. Avant de continuer, préparez le fichier CSV suivant :

    root@example-bootstrapper:/home/ubuntu/md# cat example.csv
    ip,passd
    10.251.248.62,XXXXXXXX
    10.251.248.64,XXXXXXXX
    10.251.248.66,XXXXXXXX
    10.251.248.68,XXXXXXXX
    10.251.248.70,XXXXXXXX
    10.251.248.72,XXXXXXXX
    10.251.248.74,XXXXXXXX
    10.251.248.76,XXXXXXXX

6.4.1. Rétablir la configuration d'usine iLO

Rétablissez la configuration d'usine d'iLO :

  1. Créez un fichier nommé serversreset.py et ajoutez-y le script Python suivant :

    import csv
    import argparse
    import requests
    import urllib3
    import json
    urllib3.disable_warnings()
    PARSER = argparse.ArgumentParser(prog='serversreset.py', \
        description='reset ilo to factory settings')
    PARSER.add_argument('-csv', '--file', help='choose the csv file', type=str)
    ARGS = vars(PARSER.parse_args())
    headers = {'content-type': 'application/json'}
    payload = {'ResetType': 'Default'}
    url = '/redfish/v1/Managers/1/Actions/Oem/Hpe/HpeiLO.ResetToFactoryDefaults/'
    with open(ARGS['file'], encoding="utf8", mode='r') as csv_file:
        CSV_READER = csv.DictReader(csv_file)
        for row in CSV_READER:
          try:
            system = requests.post('https://'+row['ip']+url,data=json.dumps(payload),headers=headers,verify=False,auth=('administrator',row['passd']))
            systemData = system.json()
            print(systemData)
          except Exception as err:
            print(err)
    
  2. Exécutez la commande suivante et remplacez example.csv par votre fichier CSV :

    python3 serversreset.py -csv example.csv
    

    Le résultat doit ressembler à ce qui suit :

    {'error': {'code': 'iLO.0.10.ExtendedInfo', 'message': 'See @Message.ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'iLO.2.15.ResetInProgress'}]}}
    {'error': {'code': 'iLO.0.10.ExtendedInfo', 'message': 'See @Message.ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'iLO.2.15.ResetInProgress'}]}}
    {'error': {'code': 'iLO.0.10.ExtendedInfo', 'message': 'See @Message.ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'iLO.2.15.ResetInProgress'}]}}
    

6.4.2. Étapes manuelles supplémentaires pour iLO

Effectuez une réinitialisation manuelle d'iLO à l'aide de l'interface utilisateur iLO :

  1. Sélectionnez iLO > Administration > Gestionnaire de clés > Supprimer les paramètres.

  2. Dans la console BIOS, sélectionnez System Utilities > System Configuration > Embedded Raid > Administration > Reset To Default (Utilitaires système > Configuration système > RAID intégré > Administration > Rétablir les paramètres par défaut).

  3. Définissez les interfaces sur "netboot only" (démarrage réseau uniquement) pour LOM1. Tous les nœuds GPU ne disposent PAS de cartes LOM1, mais de cartes Intel.

  4. Définissez le réseau iLO sur DHCP.

6.4.3. Réinitialisation du BIOS

Suivez les étapes ci-dessous pour réinitialiser le BIOS :

  1. Créez un fichier nommé biosreset.py et ajoutez-y le script Python suivant :

    import csv
    import argparse
    import requests
    import urllib3
    import json
    urllib3.disable_warnings()
    PARSER = argparse.ArgumentParser(prog='biosreset.py', \
        description='reset BIOS to factory settings')
    PARSER.add_argument('-csv', '--file', help='choose the csv file', type=str)
    ARGS = vars(PARSER.parse_args())
    headers = {'content-type': 'application/json'}
    payload = {}
    with open(ARGS['file'], encoding="utf8", mode='r') as csv_file:
        CSV_READER = csv.DictReader(csv_file)
        for row in CSV_READER:
          try:
            system = requests.post('https://'+row['ip']+'/redfish/v1/systems/1/bios/Actions/Bios.ResetBios/',data=json.dumps(payload),headers=headers,verify=False,auth=('administrator',row['passd']))
            systemData = system.json()
            print(systemData)
          except Exception as err:
            print(err)
    
  2. Exécutez la commande suivante et remplacez example.csv par votre fichier CSV :

    python3 biosreset.py -csv example.csv
    

    Le résultat doit ressembler à ce qui suit :

    {'error': {'code': 'iLO.0.10.ExtendedInfo', 'message': 'See @Message.ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'iLO.2.15.SystemResetRequired'}]}}
    
  3. Une fois la commande exécutée, les serveurs sont en état d'activation. Vous devez exécuter le script suivant pour éteindre tous les serveurs :

    import csv
    import argparse
    import requests
    import urllib3
    import json
    urllib3.disable_warnings()
    PARSER = argparse.ArgumentParser(prog='power-ilo.py', \
        description='power off server')
    PARSER.add_argument('-csv', '--file', help='choose the csv file', type=str)
    ARGS = vars(PARSER.parse_args())
    headers = {'content-type': 'application/json'}
    payload = {'ResetType': 'PushPowerButton'}
    with open(ARGS['file'], encoding="utf8", mode='r') as csv_file:
        CSV_READER = csv.DictReader(csv_file)
        for row in CSV_READER:
            try:
                system = requests.post(
                    'https://' + row['ip'] +
                    '/redfish/v1/systems/1/Actions/ComputerSystem.Reset/',
                    data=json.dumps(payload),
                    headers=headers,
                    verify=False,
                    auth=('administrator', row['passd']))
                systemData = system.json()
                if 'Success' in systemData['error']['@Message.ExtendedInfo'][0][
                        'MessageId']:
                    print(f"ilo with ip {row['ip']} succeeded")
                    #print(systemData)
                else:
                    print(f"ilo with ip {row['ip']} failed")
                    print(systemData)
            except Exception as err:
                print(err)
    

    Éteignez manuellement les serveurs :

    python3 power-ilo.py -csv ~/servers.csv
    
    1. (Facultatif) Pour vérifier l'état, utilisez le script suivant :
    import csv
    import argparse
    import requests
    import urllib3
    import json
    urllib3.disable_warnings()
    PARSER = argparse.ArgumentParser(prog='ilostatus.py', \
    description='check power status of server')
    PARSER.add_argument('-csv', '--file', help='choose the csv file', type=str)
    ARGS = vars(PARSER.parse_args())
    headers = {'content-type': 'application/json'}
    with open(ARGS['file'], encoding="utf8", mode='r') as csv_file:
        CSV_READER = csv.DictReader(csv_file)
        for row in CSV_READER:
          try:
            system = requests.get('https://'+row['ip']+'/redfish/v1/Systems/1',headers=headers,verify=False,auth=('administrator',row['passd']))
            systemData = system.json()
            print(f"ilo with ip {row['ip']} has power status of {systemData['PowerState']}")
            if 'Success' in systemData['error']['@Message.ExtendedInfo'][0]['MessageId']:
                print(f"ilo with ip {row['ip']} succeeded")
                print(systemData)
            else:
                print(f"ilo with ip {row['ip']} failed")
                print(systemData)
          except Exception as err:
            pass
    

    Exécutez la commande suivante :

    python3 ilostatus.py -csv ~/servers.csv
    

    Le résultat doit ressembler à ce qui suit :

    ilo with ip 172.22.112.96 has power status of Off
    ilo with ip 172.22.112.97 has power status of Off
    ilo with ip 172.22.112.98 has power status of Off
    ilo with ip 172.22.112.100 has power status of Off
    ilo with ip 172.22.112.101 has power status of Off
    ilo with ip 172.22.112.102 has power status of Off
    

    6.4.4. Effacement sécurisé

  1. Appuyez sur F10 sur l'écran POST du serveur. Intelligent Provisioning se lance.

  2. Une fois Intelligent Provisioning lancé, cliquez sur la flèche vers le bas à côté de Assistant de configuration initiale pour ignorer l'assistant.

  3. Ignorer l'invite de l'assistant, cliquez sur Oui.

  4. Cliquez sur Perform Maintenance (Effectuer la maintenance).

  5. Cliquez sur Effacement sécurisé en un clic.

  6. Un message indique que vous ne disposez pas des droits suffisants. Cliquez sur Login (Se connecter), puis saisissez les identifiants de l'administrateur.

  7. Cliquez sur OK.

  8. Cliquez sur Envoyer.

  9. Confirmez que vous souhaitez effectuer l'effacement sécurisé, puis saisissez ERASE.

  10. Cliquez sur EFFACER.

  11. Cliquez sur Oui pour confirmer la suppression.

  12. Cliquez sur Lancer maintenant dans la section "File d'attente des tâches".

  13. En deux minutes maximum, suivez l'invite pour cliquer sur OK.

  14. La machine redémarre. Ne touchez rien pendant environ 10 à 15 minutes.

  15. Une fois l'effacement sécurisé terminé, retournez dans le BIOS en cliquant sur F9 pendant le POST Boot.

  16. Accédez à Embedded Applications > Integrated Management Log (IML) > View IML > OK (Applications intégrées > Journal de gestion intégré (IML) > Afficher le journal IML > OK). Le message Effacement sécurisé en un clic terminé s'affiche :

Effacement sécurisé en un clic terminé

  1. Créez un fichier nommé serversreset.py et ajoutez-y le script Python suivant :

    import csv
    import argparse
    import requests
    import urllib3
    import json
    urllib3.disable_warnings()
    PARSER = argparse.ArgumentParser(prog='secureerase.py', \
        description='reset ilo to factory settings')
    PARSER.add_argument('-csv', '--file', help='choose the csv file', type=str)
    ARGS = vars(PARSER.parse_args())
    headers = {'content-type': 'application/json'}
    payload = {'SystemROMAndiLOErase': True , 'UserDataErase': True}
    with open(ARGS['file'], encoding="utf8", mode='r') as csv_file:
        CSV_READER = csv.DictReader(csv_file)
        for row in CSV_READER:
          try:
            system = requests.post('https://'+row['ip']+'/redfish/v1/Systems/1/Actions/Oem/Hpe/HpeComputerSystemExt.SecureSystemErase/',data=json.dumps(payload),headers=headers,verify=False,auth=('administrator',row['passd']))
            systemData = system.json()
            print(systemData)
          except Exception as err:
            print(err)
    
  2. Exécutez la commande suivante et remplacez example.csv par votre fichier CSV :

    python serversreset.py -csv example.csv
    
  3. Une fois la commande exécutée, les serveurs sont à l'état "Éteint". Vous devez mettre le serveur sous tension manuellement.

6.5. Réinitialiser l'appareil NetApp StorageGRID

6.5.1. Prérequis

Avant de réinitialiser votre appareil NetApp StorageGRID, assurez-vous de lire les informations suivantes : - Si le système a été activé avec le chiffrement des nœuds et/ou des lecteurs, vous devez suivre les étapes décrites dans Désactiver le chiffrement du site HSM. Sinon, passez à la section Réinitialiser le système StorageGRID.

6.5.2. Désactiver le chiffrement du site HSM StorageGRID sur les nœuds du contrôleur de stockage

Pour obtenir les adresses IP des nœuds du contrôleur de stockage (deux adresses IP pour chaque nœud de stockage) :

$ kubectl get objectstoragestoragenodes -n gpc-system -o custom-columns="NAME:metadata.name,COMPUTE_NODEA_IP:.spec.network.controllerAManagementIP,COMPUTE_NODEB_IP:.spec.network.controllerBManagementIP"
NAME           COMPUTE_NODEA_IP    COMPUTE_NODEB_IP
ak-ac-objs01   172.22.210.166/24   172.22.210.167/24
ak-ac-objs02   172.22.210.170/24   172.22.210.171/24
ak-ac-objs03   172.22.210.174/24   172.22.210.175/24

Si le système StorageGRID était précédemment activé avec HSM, le chiffrement doit être supprimé avant de rétablir la configuration d'usine. Effectuez ces étapes pour chaque nœud de stockage avant de réinitialiser l'appareil. Si vous ne le faites pas, les disques et le système risquent d'être verrouillés.

  1. Connectez-vous au site Object Storage et accédez à la liste des nœuds dans la barre latérale.

  2. Cliquez sur le nom du nœud de stockage.

  3. Accédez à l'onglet SANtricity System Manager.

  4. Accédez à Paramètres > Système > Gestion des clés de sécurité.

    Accès à l'interface utilisateur StorageGRID Santricitry System Manager

  5. Sélectionnez Désactiver la gestion des clés externes, puis saisissez la phrase secrète pour télécharger la clé de sauvegarde.

6.5.3. Rétablir la configuration d'usine du nœud d'administration et du nœud de calcul StorageGRID

Pour obtenir les adresses IP des nœuds d'administration :

$ kubectl get objectstorageadminnodes -n gpc-system
NAME              SITE NAME       MANAGEMENT IP       READY   AGE
ak-ac-objsadm01   ak-obj-site-1   172.22.210.160/24   True    12d
ak-ac-objsadm02   ak-obj-site-1   172.22.210.162/24   True    12d

Pour obtenir les adresses IP des nœuds de calcul Storage :

$ kubectl get objectstoragestoragenodes -n gpc-system
NAME           SITE NAME       MANAGEMENT IP       READY   AGE
ak-ac-objs01   ak-obj-site-1   172.22.210.164/24   True    12d
ak-ac-objs02   ak-obj-site-1   172.22.210.168/24   True    12d
ak-ac-objs03   ak-obj-site-1   172.22.210.172/24   True    12d

Pour rétablir la configuration d'usine de l'appareil StorageGRID, vous devez suivre les étapes ci-dessous pour chaque nœud (nœuds de stockage et d'administration) du site :

  1. Récupérez les adresses IP de gestion pour chaque nœud. Vous pouvez l'obtenir à partir du fichier cell.yaml, en recherchant ObjectStorageStorageNode et ObjectStorageAdminNode. Vous pouvez également les trouver dans les ressources de nœud du cluster d'administrateur racine.

  2. Récupérez le mot de passe et connectez-vous au nœud à l'aide de SSH :

    • Si StorageGRID n'est pas installé sur le nœud, utilisez admin/bycast ou root/netapp1! comme nom d'utilisateur et mot de passe, respectivement. Utilisez le port SSH 8022 si le protocole SSH ne fonctionne pas.

    • Si StorageGRID est installé sur le nœud, mais qu'aucun site n'est configuré, utilisez admin/bycast ou root/bycast comme nom d'utilisateur et mot de passe, respectivement.

    • Si le site est configuré et que le nœud en fait partie :

      1. Récupérez la phrase secrète de provisionnement. Il est stocké dans un secret nommé grid-secret, que vous trouverez dans le fichier cell.yaml. Vous pouvez éventuellement exécuter la commande suivante. Veillez à décoder le mot de passe en base64 :

        echo $(kubectl get secret -n gpc-system grid-secret -ojsonpath="{.data.grid-management-provisioning-password}" | base64 -d)
        
      2. Dans l'interface utilisateur du site Object Storage, accédez à Maintenance > Système > Package de récupération pour télécharger le package de récupération après avoir saisi la phrase secrète de provisionnement.

        Télécharger le package de récupération de l'interface utilisateur StorageGRID

      3. Après le téléchargement, extrayez le fichier tar. Il contiendra une autre archive tar : GIDXXXXX_REV1_SAID.zip. Extrayez cette archive tar pour trouver le fichier Passwords.txt. Utilisez Password pour l'accès SSH et racine, et ignorez SSH Access Password.

        Exemple de fichier :

        Password Data for Grid ID: 546285, Revision: 1
        Revision Prepared on: 2022-06-13 20:49:56 +0000
        
        Server "root" and "admin" Account Passwords
        Server Name            Password          SSH Access Password
        ____________________________________________________________
        alatl14-gpcstgeadm01   <removed>     <removed>
        alatl14-gpcstgeadm02   <removed>     <removed>
        alatl14-gpcstgecn01    <removed>     n/a
        alatl14-gpcstgecn02    <removed>     n/a
        alatl14-gpcstgecn03    <removed>     n/a
        
  3. Ouvrez une console série sur le nœud ou connectez-vous au nœud à l'aide de SSH :

    ssh -o ProxyCommand=None -o StrictHostKeyChecking=no \
    -o UserKnownHostsFile=/dev/null admin@<node-management-ip>
    
  4. Saisissez les identifiants pour vous connecter. Pour obtenir les droits sudo, saisissez su -, puis saisissez le mot de passe racine obtenu à la deuxième étape.

  5. Saisissez la commande sgareinstall et appuyez sur y pour continuer à réinitialiser l'appareil.

  6. Si le chiffrement était activé sur l'appareil, une fois la réinitialisation terminée, suivez ces étapes pour supprimer les pools de disques et le cache SSD.

6.5.4. Supprimer les pools de disques et le cache SSD sur les nœuds du contrôleur de stockage

Pour obtenir les adresses IP des nœuds du contrôleur de stockage (deux adresses IP pour chaque nœud de stockage) :

$ kubectl get objectstoragestoragenodes -n gpc-system -o custom-columns="NAME:metadata.name,COMPUTE_NODEA_IP:.spec.network.controllerAManagementIP,COMPUTE_NODEB_IP:.spec.network.controllerBManagementIP"
NAME           COMPUTE_NODEA_IP    COMPUTE_NODEB_IP
ak-ac-objs01   172.22.210.166/24   172.22.210.167/24
ak-ac-objs02   172.22.210.170/24   172.22.210.171/24
ak-ac-objs03   172.22.210.174/24   172.22.210.175/24

Si le chiffrement était activé sur l'appareil et que les nœuds ont été réinitialisés après avoir suivi la dernière section, les pools de disques doivent être supprimés en même temps que les lecteurs sont effacés. Cette opération doit être effectuée avant le réamorçage du site afin qu'il puisse créer des pools de disques. Procédez comme suit pour chaque nœud de stockage (contrôleur de stockage e2860) du site (également appelé "controllerAManagementIP") :

  1. Ouvrez un navigateur Web pour accéder à https://<storage-node-controller-ip>:8443 et saisissez les identifiants. Si vous n'avez pas accès aux identifiants SANtricity, suivez ces étapes.

  2. Accédez à Stockage > Pools et groupes de volumes.

  3. Supprimer le cache SSD :

    1. Sélectionnez le cache SSD pour le mettre en surbrillance.

    2. Sélectionnez le menu déroulant Tâches inhabituelles, puis cliquez sur Supprimer.

    Supprimer le cache SSD dans l&#39;UI Santricity

  4. Supprimez le pool de disques :

    1. Sélectionnez le pool de disques pour le mettre en surbrillance.

    2. Sélectionnez le menu déroulant Tâches inhabituelles, puis cliquez sur Supprimer.

    Supprimer un pool de disques dans l&#39;UI Santricity

  5. Essayez de créer un pool de disques. Une boîte de dialogue s'affiche, bloquant la création et demandant d'effacer les lecteurs.

    Étant donné que les lecteurs sécurisés non attribués ne peuvent pas être utilisés pour créer un pool, vous devez d'abord les supprimer. Cliquez sur le bouton radio Oui, je souhaite sélectionner les lecteurs à effacer pour l'opération, puis sélectionnez tous les lecteurs à effacer. Confirmez l'opération d'effacement, puis cliquez sur OK. Ne créez pas de pool.

  6. Suivez les étapes décrites dans la section Supprimer le chiffrement des nœuds.

6.5.5. Supprimer le chiffrement des nœuds sur les nœuds d'administration et de calcul StorageGRID

Pour obtenir les adresses IP des nœuds d'administration :

$ kubectl get objectstorageadminnodes -n gpc-system
NAME              SITE NAME       MANAGEMENT IP       READY   AGE
ak-ac-objsadm01   ak-obj-site-1   172.22.210.160/24   True    12d
ak-ac-objsadm02   ak-obj-site-1   172.22.210.162/24   True    12d

Pour obtenir les adresses IP des nœuds de calcul Storage :

$ kr get objectstoragestoragenodes -n gpc-system
NAME           SITE NAME       MANAGEMENT IP       READY   AGE
ak-ac-objs01   ak-obj-site-1   172.22.210.164/24   True    12d
ak-ac-objs02   ak-obj-site-1   172.22.210.168/24   True    12d
ak-ac-objs03   ak-obj-site-1   172.22.210.172/24   True    12d

Si le chiffrement était activé sur l'appareil et que les nœuds ont été réinitialisés après avoir suivi ces étapes, et que les pools de disques et le cache SSD ont été supprimés en suivant ces étapes, procédez comme suit sur chaque nœud pour supprimer le chiffrement des nœuds :

  1. Accédez à l'interface utilisateur de StorageGRID Appliance Installer.

  2. Accédez à Configure Hardware (Configurer le matériel) > Node Encryption (Chiffrement des nœuds).

  3. Cliquez sur Effacer la clé KMS et supprimer les données. Effacer la clé KMS et supprimer les données dans l&#39;UI de l&#39;outil d&#39;installation de l&#39;appliance

  4. Une fois l'effacement déclenché, la télécommande redémarre. Cette opération peut prendre environ 15 minutes.

6.5.6. Réinstaller StorageGRID

  1. Redémarrez manuellement chaque nœud.

  2. Ouvrez une console série sur le nœud, accédez au menu du bootloader GRUB, puis sélectionnez StorageGRID Appliance: Force StorageGRID reinstall (Appliance StorageGRID : forcer la réinstallation de StorageGRID).

    Réinstallation forcée du bootloader StorageGRID

6.5.7. Obtenir les identifiants SANtricity

  1. Ouvrez une console série sur l'un des contrôleurs SANtricity.

  2. Connectez-vous à l'aide des identifiants suivants :

    • Nom d'utilisateur : spri
    • Mot de passe : SPRIentry
  3. Une fois connecté, un menu semblable à celui-ci s'affiche :

    
    Service Interface Main Menu
    ==============================
    1)Display IP Configuration
    2)Change IP Configuration
    3)Reset Storage Array Administrator Password
    4)Display 7-segment LED codes
    5)Disable SAML
    6)Unlock remote admin account
    Q)Quit Menu
    Enter Selection: 3
    Are you sure that you want to reset the Storage Array Password ? (Y/N): Y
    Storage Array Password reset successful
    
  4. Connectez-vous aux contrôleurs SANtricity. La réinitialisation du mot de passe sera alors disponible.

6.6. Réinitialiser l'appareil NetApp ONTAP

6.6.1. Prérequis

Avant de réinitialiser votre appareil NetApp ONTAP, assurez-vous de lire les informations suivantes :

  • Si le système était précédemment activé avec un module de sécurité matérielle (HSM), vous devez suivre la procédure décrite dans Désactiver le module de sécurité matérielle avant de réinitialiser les systèmes ONTAP.

  • Il s'agit d'une opération destructrice qui efface toutes les données CipherTrust Manager, y compris, sans s'y limiter, les clés, les sauvegardes, les clés de sauvegarde et les journaux système.

  • Assurez-vous de disposer d'une sauvegarde CipherTrust Manager valide de toutes les données et clés de sauvegarde.

  • Si un HSM intégré est disponible, il n'est pas réinitialisé dans le cadre de cette opération.

  • Facultatif : Il est fortement recommandé de réinitialiser un HSM intégré après cette opération pour le configurer comme racine de confiance.

  • Si un terminal de saisie du code à distance a été utilisé, il doit être reconnecté une fois l'opération terminée.

  • Cette opération peut prendre jusqu'à 15 minutes. Assurez-vous de disposer d'une alimentation de secours.

6.6.2. Désactiver le module de sécurité matérielle

Si le système a déjà été activé à l'aide d'un HSM, suivez ces étapes avant de réinitialiser les systèmes ONTAP. Si vous ne le faites pas, les disques et le système risquent d'être verrouillés. Exécutez les commandes suivantes sur le cluster ONTAP :

  1. Définissez le niveau de privilège sur "Avancé" :

    set -privilege advanced
    
  2. Affichez la clé de données du disque et les clés d'authentification FIPS (Federal Information Processing Standards) qu'il utilise :

    storage encryption disk show
    
  3. Pour chaque disque du système, définissez l'ID de clé d'authentification FIPS et de données du nœud sur l'ID MSID par défaut 0x0 :

    storage encryption disk modify -disk * -fips-key-id 0x0
    storage encryption disk modify -disk * -data-key-id 0x0
    
  4. Vérifiez que l'opération a réussi en procédant comme suit :

    storage encryption disk show-status
    
  5. Répétez la commande show-status jusqu'à ce que vous receviez Disks Begun == Disks Done. Ce résultat signifie que l'opération est terminée.

    
    cluster1:: storage encryption disk show-status
                FIPS    Latest   Start               Execution   Disks   Disks Disks
    Node        Support Request  Timestamp           Time (sec)  Begun   Done  Successful
    -------     ------- -------- ------------------  ---------- ------ ------  ----------
    cluster1    true    modify   1/18/2022 15:29:38    3           14     5         5
    1 entry was displayed.
    
  6. Supprimez la configuration du gestionnaire de clés externe :

    1. Si la connexion HSM est établie, passez directement à l'étape f. Si la connexion HSM est interrompue, passez à l'étape b.

      cluster1::> security key-manager external show-status
      
    2. Passez en mode diag en exécutant set -priv diag.

    3. Exécutez la commande suivante pour afficher toutes les clés de chiffrement de volume. debug smdb table kmip_external_key_cache_mdb_v2 show.

    4. Collectez la propriété vserver-id.

    5. Exécutez la commande suivante pour tous les serveurs de clés afin de supprimer les clés : debug smdb table kmip_external_key_cache_mdb_v2 delete -vserver-id <vserver-id> -key-id * -key-server <key-server endpoint>.

    6. Supprimez tous les volumes à l'aide de l'interface utilisateur (UI) ONTAP ou supprimez-les manuellement depuis la console.

      1. Si vous supprimez des volumes à partir de la console, vous devez ignorer les volumes racine des nœuds. Ils portent généralement le nom vol0 et l'un des nœuds est défini comme vserver. En règle générale, tout volume dont un nœud est le vserver ne peut pas être supprimé et ne doit pas l'être.

      2. Si d'autres volumes que vol0, de l'étape précédente, ne peuvent pas être supprimés de l'interface utilisateur, essayez d'utiliser la CLI :

        cluster1::> vol offline -volume volume_to_be_deleted -vserver vserve-id
        cluster1::> vol delete -volume volume_to_be_deleted -vserver vserver-id
        
      3. Pour vous connecter à un cluster de stockage depuis l'interface utilisateur, obtenez le nom d'utilisateur et le mot de passe à partir du secret à l'aide des commandes suivantes, en remplaçant CELL_ID par l'ID unique de la cellule que vous installez :

        kubectl get secret -n gpc-system ontap-CELL_ID-stge-clus-01-credential -o jsonpath='{.data.netapp_username}' | base64 --decode
        kubectl get secret -n gpc-system ontap-CELL_ID-stge-clus-01-credential -o jsonpath='{.data.netapp_password}' | base64 --decode
        

        Accédez ensuite à Volumes, sélectionnez tout, puis cliquez sur Supprimer. Vous devez répéter cette opération plusieurs fois pour chaque page. Remarque : Vous pouvez ignorer sans risque l'erreur indiquant qu'un volume n'a pas pu être supprimé. Pour en savoir plus, consultez la base de connaissances NetApp.

        ag-stge-clus-01::*> vol show
        Vserver   Volume       Aggregate    State      Type       Size  Available Used%
        --------- ------------ ------------ ---------- ---- ---------- ---------- -----
        ag-ad-stge01-01 vol0   aggr0_ag_ad_stge01_01 online RW 151.3GB    84.97GB   40%
        ag-ad-stge01-02 vol0   aggr0_ag_ad_stge01_02 online RW 151.3GB    86.69GB   39%
        ag-ad-stge02-01 vol0   aggr0_ag_ad_stge02_01 online RW 151.3GB    83.62GB   41%
        ag-ad-stge02-02 vol0   aggr0_ag_ad_stge02_02 online RW 151.3GB    85.97GB   40%
        ag-ad-stge03-01 vol0   aggr0_ag_ad_stge03_01 online RW 151.3GB    89.19GB   37%
        ag-ad-stge03-02 vol0   aggr0_ag_ad_stge03_02 online RW 151.3GB    88.74GB   38%
        
    7. Après avoir supprimé tous les volumes, exécutez la commande suivante pour vider la file d'attente de récupération : recovery-queue purge-all -vserver <vserver>.

    8. Exécutez la commande suivante pour supprimer le gestionnaire de clés externe : clusterl::> security key-manager external remove-servers -vserver <CLUSTER_NAME> -key-servers <IP1:PORT,IP2:PORT,...>. Après cette étape, vous pouvez recevoir l'erreur suivante :

      Error: command failed: The key server at "172.22.112.192" contains authentication keys that are
           currently in use and not available from any other configured key server.
      

      Cette erreur indique qu'il reste des clés. Pour supprimer les clés restantes, procédez comme suit :

    9. Pour lister les clés restantes, exécutez la commande suivante :

      security key-manager key query
      

      Le résultat ressemble à celui de l'exemple ci-dessous.

                     Node: ag-ad-stge01-01
                  Vserver: ag-stge-clus-01
              Key Manager: 172.22.112.192:5696
         Key Manager Type: KMIP
       Key Manager Policy: -
      Key Tag                               Key Type Encryption   Restored
      ------------------------------------  -------- ------------ --------
      ag-ad-stge01-01                       NSE-AK   AES-256      true
          Key ID: 00000000000000000200000000000100454007f1854b3e3f5c90756bc5cfa6cc0000000000000000
      
    10. Notez la valeur ID de clé dans la sortie précédente. Exécutez la commande security key-manager key delete -key-id + la valeur ID de clé pour supprimer les clés restantes :

      security key-manager key delete -key-id 00000000000000000200000000000100454007f1854b3e3f5c90756bc5cfa6cc0000000000000000
      
    11. Répétez les étapes i et j pour supprimer les clés restantes. Une fois l'opération terminée, le résultat ressemble à l'exemple suivant :

      ag-stge-clus-01::*> security key-manager key query
      No matching keys found.
      

      6.6.3. Réinitialiser les nœuds ONTAP

Pour réinitialiser les nœuds ONTAP :

  1. Redémarrez le nœud pour accéder au menu de démarrage à l'aide de la commande system node reboot à l'invite système. Remarque : Vous pouvez ignorer sans risque les avertissements de redémarrage du système.

    Exemples :

    ag-stge-clus-01::> system reboot -node ag-ad-stge03-02
    Warning: Are you sure you want to reboot node "ag-ad-stge03-02"? {y|n}: y
    Error: Could not migrate LIFs away from node: Failed to migrate one or more LIFs away from node "ag-ad-stge03-02". Use the "network interface show -curr-node ag-ad-stge03-02" command to
            identify LIFs that could not be migrated off that node. Use the "network interface migrate" command to manually migrate the LIFs off the node.
            Reissue the command with "-skip-lif-migration-before-reboot" to skip the migration and continue with takeover.
    ag-stge-clus-01::> system reboot -node ag-ad-stge03-02 -skip-lif-migration-before-reboot
    Warning: Are you sure you want to reboot node "ag-ad-stge03-02"? {y|n}: y
    Connection to 172.22.115.134 closed.
    
    ag-stge-clus-01::> system reboot -node ag-ad-stge02-02
    Error: command failed: Taking node "ag-ad-stge02-02" out of service might result in a data service failure and client disruption for the entire cluster. If possible, bring an additional node
       online to improve the resiliency of the cluster and to ensure continuity of service. Verify the health of the node using the "cluster show" command, then try the command again, or
       provide "-ignore-quorum-warnings" to bypass this check.
    ag-stge-clus-01::> system reboot -node ag-ad-stge02-02  -ignore-quorum-warnings
    Warning: Are you sure you want to reboot node "ag-ad-stge02-02"? {y|n}: y
    Error: Could not migrate LIFs away from node: Failed to migrate one or more LIFs away from node "ag-ad-stge02-02". Use the "network interface show -curr-node ag-ad-stge02-02" command to
           identify LIFs that could not be migrated off that node. Use the "network interface migrate" command to manually migrate the LIFs off the node.
           Reissue the command with "-skip-lif-migration-before-reboot" to skip the migration and continue with takeover.
    ag-stge-clus-01::> system reboot -node ag-ad-stge02-02  -ignore-quorum-warnings -skip-lif-migration-before-reboot
    Warning: Are you sure you want to reboot node "ag-ad-stge02-02"? {y|n}: y
    Connection to 172.22.115.132 closed.
    
  2. Si vous êtes dans le menu LOADER, saisissez boot_ontap pour redémarrer. Pendant le processus de redémarrage, appuyez sur Ctrl-C pour afficher le menu de démarrage lorsque vous y êtes invité. Le nœud affiche les options suivantes pour le menu de démarrage :

    (1) Normal Boot.
    (2) Boot without /etc/rc.
    (3) Change password.
    (4) Clean configuration and initialize all disks.
    (5) Maintenance mode boot.
    (6) Update flash from backup config.
    (7) Install new software first.
    (8) Reboot node.
    (9) Configure Advanced Drive Partitioning
    Selection (1-9)?
    
  3. Sélectionnez l'option (9) Configure Advanced Drive Partitioning. Le nœud affiche les options suivantes :

    * Advanced Drive Partitioning Boot Menu Options *
    *************************************************
    (9a) Destroy aggregates, unpartition all disks and remove their ownership information.
    (9b) Clean configuration and initialize node with partitioned disks.
    (9c) Clean configuration and initialize node with whole disks.
    (9d) Reboot the node.
    (9e) Return to main boot menu.
    (9f) Remove disk ownership.
    
  4. Sélectionnez l'option 9a et saisissez no lorsque vous êtes invité à résilier. Le nœud affiche à nouveau l'option suivante après 9a :

     (9a) Unpartition all disks and remove their ownership information.
     (9b) Clean configuration and initialize node with partitioned disks.
     (9c) Clean configuration and initialize node with whole disks.
     (9d) Reboot the node.
     (9e) Return to main boot menu.
     ```
    
  5. Exécutez l'opération 9a pour tous les nœuds de stockage existants dans le cluster avant de continuer.

  6. Pour chaque nœud, exécutez l'option 9b et saisissez yes pour confirmer.

    (9a) Unpartition all disks and remove their ownership information.
    (9b) Clean configuration and initialize node with partitioned disks.
    (9c) Clean configuration and initialize node with whole disks.
    (9d) Reboot the node.
    (9e) Return to main boot menu.
    
    1. Si une paire HA existe, le message suivant s'affiche. Assurez-vous que tous les nœuds du cluster ont terminé l'étape 9a avant d'exécuter l'étape 9b.

      Selection (9a-9f)?: 9b
      9b
      Option (9a) MUST BE COMPLETED on BOTH nodes in an HA pair (and DR/DR-AUX partner nodes if applicable)
      prior to starting option (9b).
      Has option (9a) been completed on all the nodes (yes/no)? yes
      yes
      
  7. Lorsque le message Welcome to the cluster setup wizard s'affiche, la réinitialisation est terminée.

6.7. Réinitialiser le Thales k570

Pour réinitialiser le Thales k570, commencez par rétablir la configuration d'usine de Ciphertrust Manager, puis réinitialisez le HSM Luna lui-même.

6.7.1. Rétablir la configuration d'usine du système

  1. Créez un répertoire de travail temporaire pour les identifiants HSM :

    TMPPWDDIR=/run/user/$(id --user)/hsm
    mkdir -p $TMPPWDDIR
    chmod 700 $TMPPWDDIR
    
  2. Établissez une connexion SSH avec le HSM :

    export ADMIN_SSH_SECRET_NAME=`kubectl get secrets -n hsm-system -o json | jq .items[].metadata.name | tr -d '"' | grep "ssh"`
    kubectl get secret $ADMIN_SSH_SECRET_NAME \
    --namespace=hsm-system \
    --output jsonpath='{.data.ssh-privatekey}' \
    | base64 --decode > $TMPPWDDIR/hsm-ssh-privatekey
    chmod 0600 $TMPPWDDIR/hsm-ssh-privatekey
    ssh -i $TMPPWDDIR/hsm-ssh-privatekey ksadmin@$HSM_MGMT_IP
    

    Si cela n'est pas possible, connectez-vous à l'aide d'un câble série de votre ordinateur au port de la console. Exécutez la commande suivante dans un autre onglet pour obtenir le mot de passe ksadmin.

    export KSADMIN_SECRET_NAME=`kubectl get secrets -n hsm-system -o json | jq .items[]metadata.name | tr -d '"' | grep "ksadmin"`
    kubectl get secret $KSADMIN_SECRET_NAME \
     --namespace=hsm-system \
     --output jsonpath='{.data.password}' \
      | base64 --decode
    

    Une fois connecté au port série, une invite de connexion s'affiche. Saisissez le nom d'utilisateur ksadmin et collez le mot de passe de la commande précédente.

  3. Avant d'exécuter la commande factory-reset :

    • Évitez de redémarrer le système pendant cette période, car la reconnexion implique un redémarrage multiple du système et ne peut pas être annulée.

    • Assurez-vous de disposer d'une alimentation de secours.

    Exécutez la commande suivante pour effectuer la réinitialisation des paramètres d'usine :

    sudo /opt/keysecure/ks_reset_to_factory.sh
    

    Le processus de réinitialisation prend environ 10 minutes.

6.7.2. Réinitialisation de Luna HSM

La réinitialisation du système aux paramètres d'usine n'efface pas la racine de confiance des HSM. Exécutez les commandes suivantes pour réinitialiser le HSM Luna :

  1. Depuis l'hôte CipherTrust Manager, que ce soit via SSH ou la console série, exécutez la commande suivante :

    /usr/safenet/lunaclient/bin/lunacm
    
    lunacm:> hsm factoryReset
    
  2. Supprimez le répertoire de travail temporaire du programme d'amorçage :

    rm $TMPPWDDIR
    

6.8. Réinitialiser les pare-feu

Pour savoir comment rétablir la configuration d'usine de vos pare-feu, consultez Rétablir la configuration d'usine du pare-feu.

6.9. Réinitialiser les commutateurs Cisco

Suivez les étapes ci-dessous pour réinitialiser les commutateurs Cisco. Notez que ces instructions s'appliquent également aux commutateurs de stockage tels que stgesw.

  1. Connectez-vous aux commutateurs.
  2. Écrivez, effacez et rechargez les commutateurs :

    write erase
    reload
    
  3. Si les commutateurs ont déjà été configurés et que vous disposez d'un répertoire cellcfg, vous pouvez suivre la procédure Nettoyage avant le vol.

  4. Vérifiez que les commutateurs sont en mode POAP (Power On Auto Provisioning).

    Si le commutateur est correctement réinitialisé, l'invite suivante doit s'afficher lorsque vous vous y connectez à l'aide du serveur de console :

    Abort Power On Auto Provisioning [yes - continue with normal setup, skip - bypass password and basic configuration, no - continue with Power On Auto Provisioning] (yes/skip/no)[no]:
    

6.10. Ressources supplémentaires sur la procédure de réinitialisation

Pour en savoir plus sur la procédure de réinitialisation, consultez les ressources suivantes :

  • https://docs.netapp.com/us-en/ontap/system-admin/manage-node-boot-menu-task.html
  • https://docs.netapp.com/us-en/ontap/encryption-at-rest/return-seds-unprotected-mode-task.html