Le « mirroring » est une technologie utilisée par de nombreuses entreprises et beaucoup de particuliers pour sauvegarder les données sans interruption des activités. Quand un miroir existe, cela signifie que le disque B est une copie du disque A. Ou, autre cas, que les disques C+D sont une copie des disques A+B. Indépendamment de la configuration des disques, l'aspect important est que les données d'un disque ou d'une partition sont dupliquées. Ultérieurement, ces données pourront être plus facilement restaurées, sauvegardées sans interrompre le système ou les accès, et pourront même être stockées physiquement de manière sure.
Pour commencer, vérifiez que le système dispose de deux disques de taille identique, cet exemple suppose que ce sont des disques SCSI (da(4)).
Installez FreeBSD sur le premier disque avec uniquement deux
partitions. Une partition sera la partition de pagination d'une
taille double à celle de la RAM et
l'espace restant sera alloué au système de
fichiers racine (/
). Il
est possible d'avoir des partitions séparées pour
les autres points de montage, cependant cela augmentera
énormément le niveau de difficulté en
raison des modifications manuelles nécessaires des
paramètres de bsdlabel(8) et fdisk(8).
Redémarrez et attendez l'initialisation
complète du système. Ensuite, ouvrez une session
sous l'utilisateur root
.
Créez le périphérique
/dev/mirror/gm
et liez-le avec
/dev/da1
:
#
gmirror label -vnb round-robin gm0 /dev/da1
Le système devrait répondre par:
Metadata value stored on /dev/da1. Done.
Initialisez GEOM, cela devrait charger le module du noyau
/boot/kernel/geom_mirror.ko
:
#
gmirror load
Cette commande devrait créer le fichier
spécial de périphérique
gm0
sous le répertoire
/dev/mirror
.
Installez un label fdisk
et un code de
d'amorce génériques sur le nouveau
périphérique gm0
:
#
fdisk -vBI /dev/mirror/gm0
Installez maintenant un label générique
bsdlabel
:
#
bsdlabel -wB /dev/mirror/gm0s1
S'il existe plusieurs « slices » et plusieurs partitions, il faudra modifier les paramètres des deux commandes précédentes. Elles doivent correspondre aux tailles des partitions et « slices » sur l'autre disque.
Utilisez l'utilitaire newfs(8) pour créer un
système de fichiers UFS sur le
périphérique
gm0s1a
:
#
newfs -U /dev/mirror/gm0s1a
Le système devrait alors afficher un certain nombre
d'informations et de nombres. C'est bon signe. Contrôlez
l'affichage à la recherche de messages d'erreur et montez
le périphérique sur le point de montage /mnt
:
#
mount /dev/mirror/gm0s1a /mnt
Transférez maintenant toutes les données du disque de démarrage vers ce nouveau système de fichiers. Dans notre exemple nous utilisons à cet effet les commandes dump(8) et restore(8), cependant la commande dd(1) conviendrait également.
#
dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)
Cela doit être effectué pour chaque système de fichiers. Placez simplement le système de fichiers approprié au bon endroit quand vous exécutez la commande précédente.
Editez ensuite le fichier
/mnt/etc/fstab
et supprimez ou mettez en
commentaires le fichier de pagination
[11]. Modifiez les autres paramètres du
système de fichiers pour utiliser le nouveau disque comme
présenté l'exemple suivant:
# Device Mountpoint FStype Options Dump Pass# #/dev/da0s2b none swap sw 0 0 /dev/mirror/gm0s1a / ufs rw 1 1
Créez maintenant un fichier
boot.config
sur la partition racine actuelle
et celle nouvellement créée. Ce fichier
« aidera » le BIOS à
déterminer correctement sur quel disque
démarrer:
#
echo "1:da(1,a)/boot/loader" > /boot.config
#
echo "1:da(1,a)/boot/loader" > /mnt/boot.config
Nous l'avons ajouter sur les deux partitions racines afin d'assurer un démarrage correct. Si pour une raison quelconque le système ne pourrait le lire à partir de la nouvelle partition racine, une version de secours est disponible.
Assurez-vous que le module
geom_mirror.ko
sera chargé au
démarrage du système en lançant la commande
suivante:
#
echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf
Redémarrez le système:
#
shutdown -r now
Si tout s'est bien passé, le système a
dû démarrer à partir du
périphérique gm0s1a
et
une invite d'ouverture de session doit être
affichée. En cas de problème, consultez la
section suivante consacrée au dépannage. Ajoutez
maintenant le disque da0
au
périphérique gm0
:
#
gmirror configure -a gm0
#
gmirror insert gm0 /dev/da0
L'option -a
demande à
gmirror(8) d'utiliser une synchronisation automatique,
c'est à dire dupliquer automatiquement toute
écriture disque. La page de manuel explique comment
reconstruire et remplacer les disques, avec la différence
qu'elle utilise data
à la place
de gm0
.
Si le démarrage du système s'interrompt à une invite semblable à:
ffs_mountroot: can't find rootvp Root mount failed: 6 mountroot>
Redémarrez la machine à l'aide du bouton de mise en marche ou de « reset ». Au menu de démarrage, sélectionnez la sixième option (6). Le système basculera alors vers une invite du chargeur (loader(8)). Chargez manuellement le module du noyau:
OK?load geom_mirror
OK?boot
Si cela fonctionne, cela signifie que pour une raison quelconque le module n'a pas été correctement chargé. Ajoutez la ligne:
options GEOM_MIRROR
dans le fichier de configuration du noyau, recompilez-le puis réinstallez-le. Cela devrait corriger le problème.
[11] Il est à noter que commenter l'entrée de
l'espace de pagination dans fstab
vous
demandera très probablement de mettre en place une
méthode différente pour activer l'espace de
pagination. Veuillez vous référer à
la Section 11.14, « Ajouter de l'espace de pagination » pour plus
d'informations.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.