Partager l'article ! diskgroup : no valid configuration copies: Cela restera à jamais gravé dans ma mémoire. Suite à un ajout de volumétrie dans un ...
# vxdisk list
DEVICE
TYPE DISK GROUP STATUS
c0t0d0s2 auto:sliced disk1
zonesdg online
c0t1d0s2 auto:sliced disk2
zonesdg online
c0t2d0s2 auto:sliced disk3
zonesdg online
c0t3d0s2 auto:sliced disk4
zonesdg online
c0t4d0s2 auto:sliced disk5
zonesdg online
c0t5d0s2 auto:sliced rootdisk rootdg
online
c1t0d0s2 auto:sliced mir1
zonesdg online
c1t1d0s2 auto:sliced mir2
zonesdg online
c1t2d0s2 auto:sliced mir3
zonesdg online
c1t3d0s2 auto:sliced mir4
zonesdg online
c1t4d0s2 auto:sliced mir5
zonesdg online
c1t5d0s2 auto:sliced rootmir rootdg
online
c3t0d0s2 auto:sliced rootalt rootdg
online
# vxdisk list c0t0d0
...
config priv 000017-000247[000231]: copy=01 offset=000000 enabled
config priv 000249-007310[007062]: copy=01 offset=000231 enabled
log priv 007311-008415[001105]: copy=01 offset=000000 enabled
...
# /etc/vx/diag.d/vxprivutil list /dev/rdsk/c0t0d0s3
config priv 000017-000247[000231]: copy=01 offset=000000 enabled
config priv 000249-007310[007062]: copy=01 offset=000231 enabled
log priv 007311-008415[001105]: copy=01 offset=000000 enabled
La structure VxVM est bien présente sur ce disque (config enabled). La sauvegarde est alors possible.
# /etc/vx/diag.d/vxprivutil dumpconfig /dev/rdsk/c0t0d0s3 > /tmp/zonesdg
Si vous prévérerz sauvegarder la config régulièrement ci-joint un petit script à faire exécuter par la cron.
Réinitialisation des disques
On recherche l'ensemble des disques appartenants au diskgroup (attention au éventuelle duplication dans le fichier /tmp/zonesdg pour les volumes et les plexes : si nécessaire les supprimer
ou rejouer la sauvegarde de la structure).
# cat /tmp/zonesdg | vxprint -D - -md | /usr/xpg4/bin/grep -e "^dm" -e "last_da_name" > /tmp/disklist
La liste des disques générées correspond dans notre cas à :
dm disk1
last_da_name=c0t0d0s2
dm disk2
last_da_name=c0t1d0s2
dm disk3
last_da_name=c0t2d0s2
dm disk4
last_da_name=c0t3d0s2
dm disk5
last_da_name=c0t4d0s2
dm mir1
last_da_name=c1t0d0s2
dm mir2
last_da_name=c1t1d0s2
dm mir3
last_da_name=c1t2d0s2
dm mir4
last_da_name=c1t3d0s2
dm mir5
last_da_name=c1t4d0s2
Une fois la liste obtenu il faut réinitialiser les disques (attention à la taille de la private). Il est impératif que les disques que l'on initialise soit les mêmes disques physiques (attention au changement de contrôlleurs si reboot).
# ksh
# for disk in $(cat /var/tmp/disks)
do
/etc/vx/bin/vxdisksetup -i $disk
done
Création du diskgroup et ajout des disques au diskgroup
Une fois les disques initialisés il faut recréer le diskgroup et y inclure les disques. Il est impératif que les noms dm correspondent bien au disques physiques.
# vxdg init zonesdg disk1=c0t0d0s2
# vxdg -g zonesdg adddisk disk2=c0t1d0s2
# vxdg -g zonesdg adddisk disk3=c0t2d0s2
...
# vxdg -g zonesdg adddisk mir5=c1t4d0s2
Recopie de la structure VxVM
Si les disques phydiques intégrés au diskgroup sont bon et que les noms dm correspondent bien au bon disque physiques alors la configuration VxVM peut être reclaquée.
# cat /tmp/zonesdg | vxprint -D - -hmvps > /tmp/vxmakefile
# vxmake -g zonesdg -d /tmp/vxmakefile
Activation des volumes
# vxrecover -g zonesdg -s -b
# ksh
# for vol in $(vxprint -q -g zonesdg -v | awk '{print $2}')
do
vxvol -g zonesdg -f start $vol
done
Normalement, il suffit de faire un check (fsck) sur les systèmes de fichiers (pour être sur) puis de les monter.