Guide d'administration système de Sun Cluster pour SE Solaris

Exécution de sauvegardes en ligne de copies miroir (Solstice DiskSuite/Solaris Volume Manager)

Il est possible de sauvegarder un métapériphérique en miroir sans le démonter et sans mettre hors ligne le miroir entier. L'un des sous-miroirs doit être temporairement mis hors ligne, ce qui entraîne la perte du miroir, mais il peut être remis en ligne et resynchronisé dès la fin de la sauvegarde, sans que le système soit interrompu ou que l'utilisateur perde la possibilité d'accéder aux données. L'utilisation des miroirs pour effectuer des sauvegardes en ligne entraîne la création d'un “instantané“ d'un système de fichiers actif.

Il se peut qu'un problème survienne si un programme envoie des données au volume juste avant l'exécution de la commande lockfs. Pour éviter cela, arrêtez temporairement tous les services qui s'exécutent sur le noeud concerné. Assurez-vous également que le cluster fonctionne sans problème avant de lancer la sauvegarde.

  1. Devenez superutilisateur sur le noeud du cluster que vous souhaitez sauvegarder.

  2. Utilisez la commande metaset(1M) pour définir le noeud propriétaire du volume sauvegardé.


    # metaset -s nom_jeu
    

    -s nom_jeu

    Indique le nom du jeu de disques.

  3. Utilisez la commande lockfs(1M) associée à l'option -w pour protéger le système de fichiers en écriture.


    # lockfs -w point_montage 
    


    Remarque :

    vous devez verrouiller le système de fichiers uniquement si le miroir comporte un système de fichiers UFS. Si, par exemple, le métapériphérique est défini comme périphérique brut pour le logiciel de gestion de base de données ou une autre application spécifique, il n'est pas nécessaire d'utiliser la commande lockfs. Vous pouvez toutefois exécuter l'utilitaire fournisseur approprié pour vider les mémoires tampon et verrouiller l'accès.


  4. Utilisez la commande metastat(1M) pour déterminer le nom des sous-miroirs.


    # metastat -s  nom_jeu -p
    

    -p

    Affiche le statut dans un format similaire à celui du fichier md.tab.

  5. Utilisez la commande metadetach(1M) pour mettre l'un des sous-miroirs hors ligne.


    #  metadetach -s nom_jeu  miroir sous_miroir
    


    Remarque :

    les lectures se poursuivront à partir des autres sous-miroirs. Toutefois, le sous-miroir hors ligne est désynchronisé dès qu'une écriture est effectuée dans le miroir. La synchronisation est rétablie dès que le sous-miroir hors ligne est remis en ligne. Vous n'êtes pas tenu d'exécuter fsck.


  6. Utilisez la commande lockfs associée à l'option -u pour déverrouiller les systèmes de fichiers et rétablir l'accès en écriture.


    #  lockfs -u point_montage 
    

  7. Vérifiez le système de fichiers.


    # fsck /dev/md/ jeu_disques/rdsk/sous_miroir
    

  8. Sauvegardez le sous-miroir hors ligne sur une bande ou sur un autre support.

    Utilisez la commande ufsdump(1M) ou n'importe quel autre utilitaire de sauvegarde courant.


    # ufsdump 0ucf  périphérique_vidage sous_miroir
    


    Remarque :

    utilisez le nom de périphérique brut (/rdsk) pour le sous-miroir, plutôt que le nom du périphérique en mode bloc (/dsk).


  9. Utilisez la commande metattach(1M) pour remettre le métapériphérique en ligne.


    # metattach -s  nom_jeu miroir  sous_miroir
    

    Lorsque le métapériphérique est remis en ligne, il est automatiquement resynchronisé avec le miroir.

  10. Utilisez la commande metastat pour vérifier la resynchronisation effective du sous-miroir.


    # metastat -s nom_jeu miroir
    

Exemple de sauvegarde en ligne de miroirs (Solstice DiskSuite/Solaris Volume Manager)

Dans l'exemple suivant, le noeud du cluster phys-schost-1 est propriétaire du méta-ensemble schost-1, la procédure de sauvegarde est donc initialisée depuis phys-schost-1. Le miroir /dev/md/schost-1/dsk/d0 se compose des sous-miroirs d10, d20 et d30.


[Déterminez le propriétaire du méta-ensemble :]
# metaset -s schost-1
Set name = schost-1, Set number = 1
Host                Owner
  phys-schost-1     Yes
...
[Protégez le système de fichiers en écriture :]
# lockfs -w /global/schost-1
[Répertoriez les sous-miroirs :]
# metastat -s schost-1 -p
schost-1/d0 -m schost-1/d10 schost-1/d20 schost-1/d30 1
schost-1/d10 1 1 d4s0
schost-1/d20 1 1 d6s0
schost-1/d30 1 1 d8s0
[Mettez un sous-miroir hors ligne :]
# metadetach -s schost-1 d0 d30
[Déverrouillez le système de fichiers :]
# lockfs -u /
[Contrôlez le système de fichiers :]
# fsck /dev/md/schost-1/rdsk/d30
[Copiez le sous-miroir sur l'unité de sauvegarde :]
# ufsdump 0ucf /dev/rmt/0 /dev/md/schost-1/rdsk/d30
  DUMP: Writing 63 Kilobyte records
  DUMP: Date of this level 0 dump: Tue Apr 25 16:15:51 2000
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/md/schost-1/rdsk/d30 to /dev/rdsk/c1t9d0s0.
  ...
  DUMP: DUMP IS DONE
[Remettez le sous-miroir en ligne :]
# metattach -s schost-1 d0 d30
schost-1/d0: submirror schost-1/d30 is attached
[Resynchronisez le sous-miroir :]
# metastat -s schost-1 d0
schost-1/d0: Mirror
    Submirror 0: schost-0/d10
      State: Okay
    Submirror 1: schost-0/d20
      State: Okay
    Submirror 2: schost-0/d30
      State: Resyncing
    Resync in progress: 42% done
    Pass: 1
    Read option: roundrobin (default)
...