Clonevg script

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Génération de script de clonage — VG/LV/FS
Contexte AIX
Dépend de Mkvg · Mklv · Crfs · Lsfs · Lsvg
Voir aussi Ds script · Errlog

clonevg est un outil AIX historique (fourni en standard, voir man clonevg) qui inspecte un ou plusieurs groupes de volumes (VG) existants et génère un script ksh prêt à l'emploi permettant de recréer, sur une autre machine ou après restauration, la même structure de VG, de volumes logiques (LV) et de systèmes de fichiers — sans les données elles-mêmes.

C'est typiquement utilisé pour documenter/reproduire le squelette de stockage d'un serveur (migration, PRA, clonage de LPAR) indépendamment d'une sauvegarde mksysb complète.

Fonctionnement

Le script généré ne prend pas en charge les disques physiques automatiquement : il faut l'éditer pour indiquer la liste des hdisk à utiliser à l'endroit du commentaire INSERT HDISK LIST, avant de retirer l'instruction exit placée en garde-fou en début de script (pour éviter une exécution accidentelle sur un jeu de disques non vérifié).

Pour chaque système de fichiers du VG source, le script généré :

  1. vérifie avec Lsfs si le point de montage existe déjà (pour éviter d'écraser un FS existant) ;
  2. crée le volume logique correspondant avec Mklv (type jfs2, taille en nombre de PP) ;
  3. crée le système de fichiers dessus avec Crfs ;
  4. en fin de script, crée les points de montage manquants (mkdir -p) et monte chaque FS.

Exemple de script généré (structure)

Extrait représentatif — un script réel liste autant de blocs mklv/crfs qu'il y a de systèmes de fichiers dans le VG source :

#!/usr/bin/ksh
##
## Script auto-généré par clonevg
## À éditer avant exécution, puis à lancer pour recréer
## les VG et systèmes de fichiers hors rootvg.
##
echo 'Script de clonage du groupe de volumes :'
echo "vg_data"

echo 'Création du groupe de volumes :'
echo 'éditer le script pour ajouter les disques physiques à la commande mkvg'
echo 'ex: mkvg -f -y vg_data hdisk1 hdisk2'
#################################################
## RETIRER CET EXIT APRES AVOIR EDITE MKVG/MKLV :
#################################################
exit

# groupe de volumes : vg_data
# mkvg -f -s 256 -y vg_data <LISTE DES HDISK>

# journal jfs2
mklv -t jfs2log -y loglv00 vg_data 1
logform -V jfs2 /dev/loglv00

# /apps/data taille = 419430400 octets
lsfs /apps/data 2> /dev/null >&2
if [ $? -eq 0 ]; then
    rmfs /apps/data
fi
mklv -t jfs2 -y fslv00 vg_data 800
crfs -v jfs2 -A yes -d fslv00 -m /apps/data

# /apps/logs taille = 20971520 octets
lsfs /apps/logs 2> /dev/null >&2
if [ $? -eq 0 ]; then
    rmfs /apps/logs
fi
mklv -t jfs2 -y fslv01 vg_data 40
crfs -v jfs2 -A yes -d fslv01 -m /apps/logs

## ... un bloc mklv/crfs par système de fichiers du VG source ...

##
## Création des points de montage et montage des FS
##
if [ ! -d /apps/data ]; then
    mkdir -p /apps/data
fi
mount /apps/data
if [ ! -d /apps/logs ]; then
    mkdir -p /apps/logs
fi
mount /apps/logs

Points d'attention

  • Le script généré ne recrée que la structure (VG/LV/FS vides) : il ne restaure aucune
 donnée. Pour une restauration complète, le combiner avec une sauvegarde des données
 (backup applicatif, TSM, ou autre).
  • Toujours relire et adapter la taille des LV (exprimée en nombre de PP, dépendant de la taille
 de PP du VG cible) avant exécution.
  • Le garde-fou exit en tête de script est volontaire : il empêche une exécution
 accidentelle avant que la liste des disques n'ait été vérifiée et renseignée.