Guide d'administration système de Sun Cluster 3.0 U1

8.1 Sauvegarde d'une grappe

Tableau 8-1 Plan des tâches : Sauvegarde des fichiers de la grappe

Tâche 

Pour les instructions, voir... 

Trouver le nom des systèmes de fichiers à sauvegarder 

"8.1.1 Recherche du nom des systèmes de fichiers à sauvegarder"

Calculer le nombre de bandes nécessaires à une sauvegarde complète 

"8.1.2 Détermination du nombre de bandes nécessaires à une sauvegarde complète "

Sauvegarder le système de fichiers root 

"8.1.3 Sauvegarde du système de fichiers root (/)"

Effectuer une sauvegarde en ligne des systèmes de fichiers en miroir ou en réseau 

"8.1.4 Exécution de sauvegardes en ligne pour des copies miroir (Solstice DiskSuite)"

"8.1.5 Sauvegardes en ligne pour les volumes (VERITAS Volume Manager)"

8.1.1 Recherche du nom des systèmes de fichiers à sauvegarder

Cette procédure permet de déterminer le nom des systèmes de fichiers à sauvegarder.

  1. Affichez le contenu du fichier /etc/vfstab.

    Vous n'avez pas besoin d'être un superutilisateur pour exécuter cette commande.


    % more /etc/vfstab
    

  2. Cherchez le nom du système de fichiers à sauvegarder dans la colonne des points de montage.

    Utilisez ce nom pour la sauvegarde du système de fichiers.


    % more /etc/vfstab 
    

8.1.1.1 Exemple : recherche du nom des systèmes de fichiers à sauvegarder

L'exemple suivant présente les noms des systèmes de fichiers disponibles figurant dans le fichier /etc/vfstab.


% more /etc/vfstab
#device             device             mount  FS fsck  mount  mount
#to mount           to fsck            point  type     pass   at boot  options
#
#/dev/dsk/c1d0s2    /dev/rdsk/c1d0s2   /usr     ufs     1      yes      -
 f                  -                  /dev/fd  fd      -      no       -
 /proc              -                  /proc    proc    -      no       -
 /dev/dsk/c1t6d0s1  -                  -        swap    -      no       -
 /dev/dsk/c1t6d0s0  /dev/rdsk/c1t6d0s0 /        ufs     1      no       -
 /dev/dsk/c1t6d0s3  /dev/rdsk/c1t6d0s3 /cache   ufs     2      yes      -
 swap               -                  /tmp     tmpfs   -      yes      -

8.1.2 Détermination du nombre de bandes nécessaires à une sauvegarde complète

Cette procédure permet de calculer le nombre de bandes nécessaires pour la sauvegarde d'un système de fichiers.

  1. Devenez superutilisateur sur le noeud de grappe que vous souhaitez sauvegarder.

  2. Estimez la taille de la sauvegarde, en octets.


    # ufsdump S système_fichiers 
    

    S

    Affiche le nombre estimé d'octets nécessaires pour effectuer la sauvegarde.

    système_fichiers

    Indique le nom des systèmes de fichiers à sauvegarder.

  3. Divisez la taille estimée par la capacité de la bande pour connaître le nombre de bandes nécessaires.

8.1.2.1 Exemple : détermination du nombre de bandes nécessaires

Dans l'exemple suivant, le système de fichiers, d'une taille de 905 881 620 octets, tiendra facilement sur une bande de 4 Go (905 881 620 / 4 000 000 000).


# ufsdump S /global/phys-schost-1
905881620

8.1.3 Sauvegarde du système de fichiers root (/)

Cette procédure permet de sauvegarder le système de fichiers root (/) d'un noeud de grappe. Assurez-vous que la grappe fonctionne sans problème avant de lancer la sauvegarde.

  1. Devenez superutilisateur sur le noeud de grappe que vous souhaitez sauvegarder.

  2. Transférez tous les services de données en cours d'exécution du noeud à sauvegarder à un autre noeud de la grappe.


    # scswitch -z -D groupe_unités_disque -h liste_noeuds
    

    -z

    Effectue le changement.

    -D groupe_unités_disque

    Nom du groupe d'unités de disque à transférer.

    -h liste_noeuds

    Nom de la grappe vers lequel le groupe d'unités de disque doit passer. Ce noeud devient le nouveau noeud principal.

  3. Arrêtez le noeud.


    # shutdown -g0 -y -i0
    

  4. A l'invite ok, réinitialisez le noeud en mode hors-grappe.


    ok boot -x
    

  5. Sauvegardez le système de fichiers root (/).

    • Si le disque root n'est pas encapsulé, exécutez la commande suivante :


      # ufsdump 0ucf périphérique_vidage /
      

    • Si le disque root est encapsulé, exécutez la commande suivante :


      # ufsdump 0ucf périphérique_vidage /dev/vx/rdsk/rootvol
      

    Reportez-vous à la page de manuel ufsdump(1M) pour plus d'informations.

  6. Réinitialisez le noeud en mode grappe.


    # init 6
    

8.1.3.1 Exemple : sauvegarde du système de fichiers root (/)

Dans l'exemple suivant, le système de fichiers root (/) est sauvegardé sur le lecteur de bande /dev/rmt/0.


# ufsdump 0ucf /dev/rmt/0 /
  DUMP: Writing 63 Kilobyte records
  DUMP: Date of this level 0 dump: Tue Apr 18 18:06:15 2000
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/rdsk/c0t0d0s0 (phys-schost-1:/) to /dev/rmt/0
  DUMP: Mapping (Pass I) [regular files]
  DUMP: Mapping (Pass II) [directories]
  DUMP: Estimated 859086 blocks (419.48MB).
  DUMP: Dumping (Pass III) [directories]
  DUMP: Dumping (Pass IV) [regular files]
  DUMP: 859066 blocks (419.47MB) on 1 volume at 2495 KB/sec
  DUMP: DUMP IS DONE
  DUMP: Level 0 dump on Tue Apr 18 18:06:15 2000

8.1.4 Exécution de sauvegardes en ligne pour des copies miroir (Solstice DiskSuite)

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'une sauvegarde constituant 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 la grappe fonctionne sans problème avant de lancer la sauvegarde.

  1. Devenez superutilisateur sur le noeud de grappe que vous souhaitez sauvegarder.

  2. Exécutez la commande metaset(1M) pour déterminer quel noeud est propriétaire du volume sauvegardé.


    # metaset -s nom_ensemble
    

    -s nom_ensemble

    Indique le nom de l'ensemble de disques.

  3. Exécutez la commande lockfs(1M) suivie de l'option -w pour verrouiller l'accès en écriture au système de fichiers.


    # 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. Exécutez la commande metastat(1M) pour connaître le nom des sous-miroirs.


    # metastat -s nom_ensemble -p
    

    -p

    Affiche l'état dans le format du fichier md.tab.

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


    # metadetach -s nom_ensemble 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. Il n'est pas nécessaire d'exécuter la commande fsck.


  6. Déverrouillez les systèmes de fichiers et permettez aux écritures de se poursuivre en utilisant la commande lockfs suivie de l'option -u.


    # lockfs -u point_montage 
    

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


    # fsck /dev/md/ensemble_disques/rdsk/sous_miroir
    

  8. Effectuez une sauvegarde du sous-miroir hors ligne sur une bande ou sur un autre support.

    Exécutez la commande ufsdump(1M) ou tout autre utilitaire de sauvegarde que vous utilisez habituellement.


    # 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. Exécutez la commande metattach(1M) pour remettre le métapériphérique en ligne.


    # metattach -s nom_ensemble miroir sous_miroir
    

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

  10. Exécutez la commande metastat pour vérifier que la resynchronisation du sous-miroir est en cours.


    # metastat -s nom_ensemble miroir
    

8.1.4.1 Exemple : sauvegardes en ligne des miroirs (Solstice DiskSuite)

Dans l'exemple suivant, le noeud de grappe phys-schost-1 est le propriétaire du méta-ensemble schost-1 ; la procédure de sauvegarde est donc exécutée à partir de ce noeud. 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
...
[Verrouillez l'accès en écriture au système de fichiers :] 
# lockfs -w /global/schost-1
[Affichez la liste des 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 /
[Vérifiez 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)
...

8.1.5 Sauvegardes en ligne pour les volumes (VERITAS Volume Manager)

VERITAS Volume Manager identifie les volumes en miroir comme réseaux. Il est possible de sauvegarder un réseau sans le démonter et sans mettre hors ligne le volume entier. Pour ce faire, vous devez créer une copie instantanée du volume et sauvegarder ce volume temporaire sans interrompre le système ou fermer l'accès aux données pour les utilisateurs.

Assurez-vous que la grappe fonctionne sans problème avant de lancer la sauvegarde.

  1. Connectez-vous à un noeud quelconque de la grappe et devenez superutilisateur sur le noeud principal actuel du groupe de disques de la grappe.

  2. Affichez les informations sur le groupe de disques.


    # vxprint -g groupe_disques
    

  3. Exécutez la commande scstat(1M) pour voir sur quel noeud le groupe de disques est actuellement importé, indiquant qu'il s'agit du noeud principal du groupe de disques.


    # scstat -D
    

    -D

    Affiche l'état de tous les groupes d'unités de disque.

  4. Créez un instantané du volume à l'aide de la commande vxassist(1M).


    # vxassist -g groupe_disques snapstart volume
    


    Remarque :

    La création d'un instantané peut prendre un certain temps, selon la taille du volume.


  5. Vérifiez que le nouveau volume a bien été créé.


    # vxprint -g groupe_disques
    

    Lorsque l'instantané est effectué, l'état de Snapdone s'affiche dans le champ State du groupe de disques sélectionné.

  6. Arrêtez tous les services de données qui accèdent au système de fichiers.


    # scswitch -z -g groupe_ressources -h ""
    


    Remarque :

    L'arrêt des services de données est recommandé pour garantir la sauvegarde correcte du système de fichiers de données. Si aucun service de données n'est en cours d'exécution, il n'est pas nécessaire d'effectuer l'Étape 6 ni l'Étape 8.


  7. Créez un volume de sauvegarde nommé vol_sauv et joignez-lui le volume instantané à l'aide de la commande vxassist.


    # vxassist -g groupe_disques snapshot volume vol_sauv
    

  8. Faites redémarrer tous les services de données arrêtés à l' Étape 6 à l'aide de la commande scswitch.


    # scswitch -z -g groupe_ressources -h liste_noeuds
    

  9. Vérifiez que le volume est bien attaché au nouveau volume vol_sauv à l'aide de la commande vxprint.


    # vxprint -g groupe_disques
    

  10. Enregistrez la modification de la configuration du groupe de disques.


    # scconf -c -D nom=groupe_disques,sync
    

  11. Vérifiez le volume de sauvegarde à l'aide de la commande fsck.


    # fsck -y /dev/vx/rdsk/groupe_disques/vol_sauv
    

  12. Effectuez une sauvegarde pour copier sur une bande ou sur un autre support le volume vol_sauv.

    Exécutez la commande ufsdump(1M) ou l'utilitaire de sauvegarde que vous utilisez habituellement.


    # ufsdump 0ucf périphérique_vidage /dev/vx/dsk/groupe_disques/vol_sauv
    

  13. Supprimez le volume temporaire à l'aide de la commande vxedit(1M).


    # vxedit -rf rm vol_sauv
    

  14. Enregistrez les modifications apportées à la configuration du groupe de disques à l'aide de la commande scconf command.


    # scconf -c -D name=groupe_disques,sync
    

8.1.5.1 Exemple : sauvegardes en ligne des volumes (VERITAS Volume Manager)

Dans l'exemple suivant, le noeud de grappe phys-schost-2- est le propriétaire du méta-ensemble schost-1 ; la procédure de sauvegarde est donc exécutée à partir de ce noeud. Le volume /vo101 est d'abord copié, puis associé à un nouveau volume vol_sauv.


[Devenez superutiliser sur le noeud principal.]
[Identifiez le noeud principal actuel pour groupe de disques :]
# scstat -D
-- Device Group Servers --
                         Device Group     Primary           Secondary
                         ------------     -------           ---------
 Device group servers:   rmt/1            -                 -
 Device group servers:   schost-1         phys-schost-2     phys-schost-1

-- Device Group Status --
                             Device Group        Status              
                             ------------        ------              
 Device group status:        rmt/1               Offline
 Device group status:        schost-1            Online
[Affichez les informations sur le groupe de disques :]
# vxprint -g schost-1
TY NAME            ASSOC     KSTATE   LENGTH   PLOFFS STATE   TUTIL0  PUTIL0
dg schost-1       schost-1   -        -        -      -        -      -
  
dm schost-101     c1t1d0s2   -        17678493 -      -        -      -
dm schost-102     c1t2d0s2   -        17678493 -      -        -      -
dm schost-103     c2t1d0s2   -        8378640  -      -        -      -
dm schost-104     c2t2d0s2   -        17678493 -      -        -      -
dm schost-105     c1t3d0s2   -        17678493 -      -        -      -
dm schost-106     c2t3d0s2   -        17678493 -      -        -      -
 
v  vol01          gen        ENABLED  204800   -      ACTIVE   -      -
pl vol01-01       vol01      ENABLED  208331   -      ACTIVE   -      -
sd schost-101-01  vol01-01   ENABLED  104139   0      -        -      -
sd schost-102-01  vol01-01   ENABLED  104139   0      -        -      -
pl vol01-02       vol01      ENABLED  208331   -      ACTIVE   -      -
sd schost-103-01  vol01-02   ENABLED  103680   0      -        -      -
sd schost-104-01  vol01-02   ENABLED  104139   0      -        -      -
pl vol01-03       vol01      ENABLED  LOGONLY  -      ACTIVE   -      -
sd schost-103-02  vol01-03   ENABLED  5        LOG    -        -      -
[Lancez la prise d'instantané :]
# vxassist -g schost-1 snapstart vol01
[Vérifiez que le nouveau volume a bien été créé :]
# vxprint -g schost-1
TY NAME            ASSOC    KSTATE    LENGTH   PLOFFS STATE   TUTIL0  PUTIL0
dg schost-1       schost-1   -        -        -      -        -      -
  
dm schost-101     c1t1d0s2   -        17678493 -      -        -      -
dm schost-102     c1t2d0s2   -        17678493 -      -        -      -
dm schost-103     c2t1d0s2   -        8378640  -      -        -      -
dm schost-104     c2t2d0s2   -        17678493 -      -        -      -
dm schost-105     c1t3d0s2   -        17678493 -      -        -      -
dm schost-106     c2t3d0s2   -        17678493 -      -        -      -
  
v  vol01          gen        ENABLED  204800   -      ACTIVE   -      -
pl vol01-01       vol01      ENABLED  208331   -      ACTIVE   -      -
sd schost-101-01  vol01-01   ENABLED  104139   0      -        -      -
sd schost-102-01  vol01-01   ENABLED  104139   0      -        -      -
pl vol01-02       vol01      ENABLED  208331   -      ACTIVE   -      -
sd schost-103-01  vol01-02   ENABLED  103680   0      -        -      -
sd schost-104-01  vol01-02   ENABLED  104139   0      -        -      -
pl vol01-03       vol01      ENABLED  LOGONLY  -      ACTIVE   -      -
sd schost-103-02  vol01-03   ENABLED  5        LOG    -        -      -
pl vol01-04       vol01      ENABLED  208331   -      SNAPDONE -      -
sd schost-105-01  vol01-04   ENABLED  104139   0      -        -      -
sd schost-106-01  vol01-04   ENABLED  104139   0      -        -      -
[Sí nécessaire, arrêtez les services de données :]
# scswitch -z -g nfs-rg -h ""
[Créez une copie du volume :]
# vxassist -g schost-1 snapshot vol01 bkup-vol
[Si nécessaire, relancez les services de données :]
# scswitch -z -g nfs-rg -h phys-schost-1
[Vérifiez que le volume vol_sauv a bien été créé :]
# vxprint -g schost-1
TY NAME           ASSOC       KSTATE   LENGTH   PLOFFS STATE   TUTIL0  PUTIL0
dg schost-1       schost-1    -        -        -      -        -      -
 
dm schost-101     c1t1d0s2    -        17678493 -      -        -      -
...
 
v  bkup-vol       gen         ENABLED  204800   -      ACTIVE   -      -
pl bkup-vol-01    bkup-vol    ENABLED  208331   -      ACTIVE   -      -
sd schost-105-01  bkup-vol-01 ENABLED  104139   0      -        -      -
sd schost-106-01  bkup-vol-01 ENABLED  104139   0      -        -      -
 
v  vol01          gen         ENABLED  204800   -      ACTIVE   -      -
pl vol01-01       vol01       ENABLED  208331   -      ACTIVE   -      -
sd schost-101-01  vol01-01    ENABLED  104139   0      -        -      -
sd schost-102-01  vol01-01    ENABLED  104139   0      -        -      -
pl vol01-02       vol01       ENABLED  208331   -      ACTIVE   -      -
sd schost-103-01  vol01-02    ENABLED  103680   0      -        -      -
sd schost-104-01  vol01-02    ENABLED  104139   0      -        -      -
pl vol01-03       vol01       ENABLED  LOGONLY  -      ACTIVE   -      -
sd schost-103-02  vol01-03    ENABLED  5        LOG    -        -      -
[Synchronisez le groupe de disques avec la structure de la grappe :]
# scconf -c -D name=schost-1,sync
[Vérifiez les systèmes de fichiers :]
# fsck -y /dev/vx/rdsk/schost-1/bkup-vol
[Copiez vol_sauv sur l'unité de sauvegarde :]
# ufsdump 0ucf /dev/rmt/0 /dev/vx/rdsk/schost-1/bkup-vol
  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/vx/dsk/schost-2/bkup-vol to /dev/rmt/0.
  ...
  DUMP: DUMP IS DONE
[Supprimez le volume de sauvegarde :]
# vxedit -rf rm bkup-vol
[Synchronisez le groupe de disques :]
# scconf -c -D name=schost-1,sync