Rétablir le stockage DAOS niveau 2 au niveau 1

HCL Domino ne fournit pour le moment aucun moyen automatisé pour déplacer des objets DAOS du stockage niveau 2 vers le stockage niveau 1. Les étapes suivantes décrivent comment les rétablir manuellement.

Pourquoi et quand exécuter cette tâche

Les principales étapes sont les suivantes. Consultez les étapes détaillées pour en savoir plus.
  1. Désactivez le stockage DAOS niveau 2.
  2. Vérifiez que des objets sont présents dans le niveau 2.
  3. Copiez tous les objets niveau 2 vers le stockage niveau 1.
  4. Effectuez une resynchronisation rapide.
  5. Vérifiez que DAOS ne contient plus de références à des objets de niveau 2.
  6. Supprimez les objets de niveau 2.
  7. Effectuez une resynchronisation complète.

Procédure

  1. Désactivez le stockage DAOS niveau 2 :
    1. Dans l'onglet DAOS du document Serveur, désactivez le champ DAOS niveau 2.
    2. Redémarrez le serveur Domino sur lequel vous avez effectué la modification :
      restart server
    3. Une fois que le serveur revient en ligne, saisissez la commande suivante dans la console du serveur :
      tell daosmgr status
      Vérifiez que la sortie indique DAOS Tier2 is Disabled.
      Remarque : Bien que le niveau 2 soit désactivé, les objets existants qui y sont stockés peuvent toujours être téléchargés par Domino, car son index d'objets sait encore que ces objets sont stockés dans le niveau 2. Toutefois, aucun autre objet supplémentaire ne sera envoyé vers le niveau 2 à ce stade.
  2. Vérifiez la présence d'objets DAOS dans le niveau 2 en exécutant la commande suivante dans la console du serveur : .
    tell daosmgr objectinfo summary
    Si la sortie indique qu'il n'y a pas d'objets dans le niveau 2, ignorez les étapes restantes de cette procédure. L'exemple de sortie suivant indique qu'il y a 32 objets dans le niveau 2 :
    [1998:0002-082C] DAOS TIERED STORAGE SUMMARY
    [1998:0002-082C] TIER 1 STORAGE:
    [1998:0002-082C] 	OBJECTS      - 0
    [1998:0002-082C] 	MB           - 0 MB
    [1998:0002-082C] TIER 2 STORAGE:
    [1998:0002-082C] 	OBJECTS      - 32
    [1998:0002-082C] 	MB           - 70 MB
    [1998:0002-082C] TOTAL STORAGE :
    [1998:0002-082C] 	OBJECTS      - 32
    [1998:0002-082C] 	MB           - 70 MB
    [1998:0002-082C] 	AVERAGE AGE  - 1521 days
  3. Copiez tous les objets niveau 2 vers le stockage niveau 1. Ces étapes partent du principe que vous utilisez l'interface de ligne de commande d'AWS, qui doit être installée et configurée. Vous pouvez toutefois effectuer une copie à l'aide de n'importe quel outil fonctionnant avec votre back-end S3.
    1. Déterminez le nom du profil. L'interface de ligne de commande d'AWS récupère généralement les données d'identification S3 à partir d'un fichier nommé "credentials" dans le sous-répertoire ".aws" du répertoire racine de l'utilisateur. Le fichier de données d'identification peut contenir différentes données d'identification ; chacune d'elles possède un nom de profil entre crochets, comme [dominocos], un id_de_clé_d'accès_AWS, et une clé_d'accès_secrète_aws. Si vous utilisez les données d'identification [default], vous ne devez pas vous soucier du nom du profil. Dans le cas contraire, vous devrez spécifier le nom de profil correct dans vos commandes S3.
    2. Pour recueillir d'autres informations requises, tapez la commande suivante dans la console du serveur :
       tell daosmgr status
      Recueillez les informations suivantes dans la sortie de la commande :
      • Chemin de base du stockage niveau 1 : Affiché en tant que baseStoragePath dans la sortie.
      • Nœud final S3 : Affiché en tant que DAOS Tier2 Endpoint dans la sortie. Si vous utilisez AWS S3, il est possible que le nœud final ne soit pas requis. Si vous utilisez MinIO, spécifiez le nœud final de votre serveur MinIO, par exemple :https://minio.myserver.renovations.com.
      • Compartiment S3 : Affiché en tant que DAOS Tier2 Bucket dans la sortie.
      • ID serveur S3 : Affiché en tant que DAOS Tier2 Server ID dans la sortie.
    3. (Facultatif) Pour répertorier tous vos objets de niveau 2, composez une commande comme suit. Sachez que l'exécution de la commande peut prendre un certain temps.
      aws s3 [--profile <profile-name>] [--endpoint-url <s3-endpoint>] ls 
         s3://<s3-bucket>/obj/<s3-server-id>/<s3-server-id>/ --recursive
      Remarque : La casse doit être respectée pour le chemin source, mais également pour le chemin cible sur les systèmes non Windows.

      Par exemple :

      aws s3 --profile dominocos ls 
         s3://aws-hcl-dominocos/obj/96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
         96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/ --recursive
      Exemple de sortie qui répertorie deux objets. Vous êtes susceptible d'en avoir plus.
      2019-10-09 15:55:02    1777421 obj/96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
         96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
         040E4598A2A287490B8DD7784FEB7150B876313E001B1D64.nlo
      2019-10-09 15:55:01    1771669 obj/96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
         96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
         0E597BF9C316422FCA869567755CD882C8DCC469001B06EC.nlo
    4. Copiez vos objets de niveau 2 vers le niveau 1. Vous pouvez choisir n'importe quel sous-conteneur DAOS en tant que répertoire de destination sur votre serveur Domino. Dans cet exemple, nous choisissons 0001. Exécutez une commande comme suit : L'exécution de la commande peut prendre un certain temps.
      aws s3 [--profile <profile-name>] [--endpoint-url <s3-endpoint>] cp s3://<s3-bucket>/obj/<s3-server-id>/
         <s3-server-id>/<base-tier1-storage-path>/0001 --recursive
      Par exemple :
      aws s3 --profile dominocos cp 
         s3://aws-hcl-dominocos/obj/96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
         96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/ C:\Domino\MyServer\Data\DAOS\0001 --recursive
      Exemple de sortie de la console :
      download: 
      s3://aws-hcl-dominocos/obj/96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
         96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
         1FAE990C593D66B44923C1C0E41740F9628DDD170000D902.nlo to .\
         1FAE990C593D66B44923C1C0E41740F9628DDD170000D902.nlo
      download:
      s3://aws-hcl-dominocos/obj/96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
         96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
         11FCA4B81120D5650D67C9427C80D6B8256AFCF30000D902.nlo to .\
         11FCA4B81120D5650D67C9427C80D6B8256AFCF30000D902.nlo
  4. Effectuez une resynchronisation rapide en exécutant la commande suivante dans la console du serveur :
    tell daosmgr resync quick force

    Cela permet à DAOS d'actualiser son index d'objets au niveau 1 et au niveau 2, sans effectuer pour autant de resynchronisation complète. Si vous exécutez une commande tell daosmgr status, catalogState = RESYNCING s'affiche. DAOS continue à fonctionner dans cet état, mais ne nettoie pas les éventuels objets supprimés.

  5. Vérifiez qu'il n'y a plus d'objets DAOS dans le niveau 2 en exécutant la commande suivante dans la console du serveur :
    tell daosmgr objectinfo summary
    La sortie doit indiquer 0 objet de niveau 2, par exemple :
    [1D1C:0002-6170] DAOS TIERED STORAGE SUMMARY
    [1D1C:0002-6170] TIER 1 STORAGE:
    [1D1C:0002-6170]        OBJECTS      - 32
    [1D1C:0002-6170]        MB           - 70 MB
    [1D1C:0002-6170] TIER 2 STORAGE:
    [1D1C:0002-6170]        OBJECTS      - 0
    [1D1C:0002-6170]        MB           - 0 MB
    [1D1C:0002-6170] TOTAL STORAGE :
    [1D1C:0002-6170]        OBJECTS      - 32
    [1D1C:0002-6170]        MB           - 70 MB
    [1D1C:0002-6170]        AVERAGE AGE  - 1521 days
  6. Supprimez les objets de niveau 2 de S3 en exécutant une commande comme suit. Cette commande est identique à celle permettant de répertorier les objets de niveau 2 lors de l'étape 3c, sauf que vous remplacez l'indicateur ls par l'indicateur rm :
    aws s3 [--profile <profile-name>] [--endpoint-url <s3-endpoint>] rm 
       s3://<s3-bucket>/obj/<s3-server-id>/<s3-server-id>/ --recursive
    Par exemple :
    aws s3 --profile dominocos rm s3://aws-hcl-dominocos/obj/96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
       96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/ --recursive

    Exemple de sortie de la console :

    delete:
    s3://aws-hcl-dominocos/obj/96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
       96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
       040E4598A2A287490B8DD7784FEB7150B876313E001B1D64.nlo
    delete:
    s3://aws-hcl-dominocos/obj/96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
       96A6456FB0F12AE91178C9A8AE0DAB7DB6F1130D/
       11FCA4B81120D5650D67C9427C80D6B8256AFCF30000D902.nlo
  7. Effectuez une resynchronisation DAOS complète de l'une des manières suivantes :
    • Si un document Programme d'annuaire Domino est programmé pour exécuter la commande tell daosmgr resync, attendez qu'il s'exécute.
    • Dans le cas contraire, saisissez la commande tell daosmgr resync force dans la console du serveur. Une resynchronisation complète peut être longue. Par conséquent, il est préférable de l'exécuter en dehors des heures ouvrables.
    Remarque : La commande tell daosmgr resync quick force que vous avez saisie à l'étape 4 vous a permis de vous assurer que DAOS contient bien un index de tous les objets existants. Toutefois, la commande ne vous permet pas de vous assurer que tous les comptes de références des objets sont précis. Des comptes de références précis nécessitent une resynchronisation complète, ce qui implique la reconstruction de l'index des objets à partir de zéro en procédant à une itération des références de toutes les pièces jointes dans toutes les bases de données pour lesquelles DAOS a été activé.