Clonevg script
| 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é :
- vérifie avec Lsfs si le point de montage existe déjà (pour éviter d'écraser un FS existant) ;
- crée le volume logique correspondant avec Mklv (type
jfs2, taille en nombre de PP) ; - crée le système de fichiers dessus avec Crfs ;
- 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
exiten 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.