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 l'accès 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 la grappe fonctionne sans problème avant de lancer la sauvegarde.
Devenez superutilisateur sur le noeud de grappe que vous souhaitez sauvegarder.
Utilisez la commande metaset(1M) pour définir le noeud propriétaire du volume sauvegardé.
# metaset -s nom_ensemble |
Indique le nom de l'ensemble de disques.
Utilisez la commande lockfs(1M) associée à l'option -w pour protéger le système de fichiers en écriture.
# lockfs -w point_montage |
Vous ne devez verrouiller le système de fichiers que 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 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.
Utilisez la commande metastat(1M) pour déterminer le nom des sous-miroirs.
# metastat -s nom_ensemble -p |
Affiche l'état dans un format similaire à celui du fichier md.tab.
Utilisez la commande metadetach(1M) pour mettre l'un des sous-miroirs hors ligne.
# metadetach -s nom_ensemble miroir sous-miroir |
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.
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 |
Contrôlez les systèmes de fichiers.
# fsck /dev/md/diskset/rdsk/sous-miroir |
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 |
Donnez au sous-miroir le nom d'unité brute (/rdsk) plutôt que le nom d'unité bloquée (/dsk).
Utilisez 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.
Utilisez la commande metastat pour vérifier la resynchronisation effective du sous-miroir.
# metastat -s nom_ensemble miroir |
Dans l'exemple suivant, le noeud de grappe 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 [Dressez 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 le périphérique 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) ... |