Back to Basis: clone Solaris via ufsdump/ufsrestore

La sauvegarde

Nous voici sur le serveur servant d’image à notre futur clone. La sauvegarde peut soit s’effectuer sur bande, soit s’effectuer sur la base de fichiers.

La sauvegarde sur bande

On admet que le lecteur DLT est branché directement sur le serveur. Insérez et rembobinez la bande insérée :

# mt –t /dev/rmt/0cn rew

Listez les volumes à sauvegarder en passant par format (p p pour partition puis print). Grâce à l’information, vous avez donc une liste de volume à backupper. Pour chacune des partitions, balancez un ufsdump en 0uf (niveau 0). Pour exemple, pour / et /data :

# ufsdump 0uf /dev/rmt/0cn /
# ufsdump 0uf /dev/rmt/0cn /data

Pour précaution, n’hésitez pas à sauvegarder la table des partitions, si le serveur cloné a les mêmes configurations hard, on pourra alors se passer du format manuel et pousser directement cette dernière sur les disques concernés. Pour information, je n’ai qu’un disque, d’où :

# prtvtoc /dev/rdsk/c0t0d0s2 > master.toc

La sauvegarde sur dans un fichier data

La seule différence avec la sauvegarde sur bande, c’est que vous n’avez pas besoin de tout ce qui touche à la gestion des bandes. C’est d’ailleurs mieux en terme de disponibilité, car il suffit alors de mettre les data sur un espace partagé, mettons par nfs, et de les utiliser à volonté, sans avoir à gérer le déplacement sur site, la recherche de la bande, l’insertion, rembobinage…

# mount nfsserv:/data/ /var/tmp/
# cd /var/tmp/
# ufsdump 0uf rootdmp /
# ufsdump 0uf datadmp /data

La restauration

Bootez votre Solaris clone sur le cd d’installation de Solaris.

>boot cdrom

Choisissez votre langue et si on vous demande un disque à utiliser pour l’installation de Solaris, répondez par la négative (n) et quittez (q).

Dans le cas où les disques diffèrent (capacités, matériel, géométrie), il faut passer par le partitionnement manuel au block. Basez-vous sur le format fait sur le serveur référent et utilisez format pour arriver à un résultat sensiblement pareil.

Pour l’exemple :
Part        Tag                    Flag        Cylinders        Size

0            root                    wm            104-3195            15GB
1            swap                    wu            0-103                516.7MB
2            backup                wm            0-14086            68.35GB
3            unassigned        wm            0                        0
4            unassigned        wm            0                        0
5            unassigned        wm            0                        0
6            unassigned        wm            0                        0
7            home                    wm            3196-14086        52.86GB

Je rappelle que je n’ai qu’un disque, d’où le 0 renseigné au format. Si vous en avez plusieurs à dumper, ils seront montrés au format, à vous de choisir et de réitérer pour chacun d’eux.

#format
format>0
format>p
partition>p

Sélectionnez la partition à définir (de 0 à 7) et spécifiez le tag, le flag, le numéro du starting cylinder et la taille, que vous pouvez donner en block (le plus précis) ou en Gb.

Effectuez le processus pour chacune des partitions et pour chacun des disques. Pour vous aider, vous pouvez, et c’est fait pour, vous appuyer sur les sorties des prtvtoc que vous avez précédemment fait.

Sauvegarder en tapant l, confirmez (y) et quittez (q).

Après avoir défini vos partitions, il faut les formatter pour créer le filesystem. Pour cela, lancez un newfs pour chacune des partitions :

#newfs /dev/rdsk/c0t0d0s0
#newfs /dev/rdsk/c0t0d0s7

Vos espaces sont prêts, il ne reste plus qu’à restaurer les data.

Restauration depuis les bandes

Insérez et rembobinez la bonne bande :

# mt –t /dev/rmt/0cn rew

Montez le slice 0 sous /mnt :

# mount /dev/dsk/c0t0d0s0 /mnt

Restaurez via ufsrestore en vous positionnant -attention très important- sous l’espace cible. Certaines questions vous seront posées à la fin, comme le next volume, le owner mode, et parfois, quand les data sont déjà présentes, une confirmation.

# cd /mnt
# ufsrestore xvf /dev/rmt/0n
Specified next volume: 1
Set owner mode for ‘.’? y
Directories already exist, set nodes anyway? y

Même chose pour toutes les autres partitions, pour ma part donc, j’attaque /data:

# mount /dev/dsk/c0t0d0s7 /mnt/data
# cd /mnt/data
# ufsrestore xvf /dev/rmt/0n
Specified next volume : 1
Set owner mode for ‘.’? y
Directories already exist, set nodes anyway? y

Vos data ont été restaurées.

Restauration depuis les fichiers data

Si vous n’avez / ne voulez pas passer par le lecteur de bande, et que du coup vous avez stocké vos dumps sur un serveurs nfs, c’est un peu différent.

Commencez par monter le partage nfs :

# mount nfsserv:/data /var/tmp

Montez la partition cible sur laquelle on veut restaurer :

# mount /dev/dsk/c0t0d0s0 /mnt

Lancez la restauration de / :

# cd /mnt
# ufsrestore xvf /var/tmp/rootdmp
Specified next volume : 1
Set owner mode for ‘.’? y
Directories already exist, set nodes anyway? y

Même chose pour la partition du slice 7, /data :

# mount /dev/dsk/c0t0d0s7 /mnt/data
# cd /mnt/data
# ufsrestore xvf  /var/tmp/datadmp

Specified next volume: 1
Set owner mode for ‘.’? y
Directories already exist, set nodes anyway? y

Il ne reste plus qu’à installer le bootblk sur c0t0d0s0 :

# cd /mnt/usr/platform/`uname –m`/lib/fs/ufs
# installboot bootblk /dev/rdsk/c0t0d0s0

Et à rebooter. Bien entendu, coupez le réseau pour éviter les conflits d’ip dans le cas où le master est toujours connecté au réseau. Vous pourrez ensuite modifier ces paramètres afin de pouvoir connecter les 2 serveurs sur le même réseau.

[Photo par Jeroen Bennink]

Vus : 1081
Publié par K-Tux : 59