II. Mise en place▲
II-1. Installation de GVinum▲
Gvinum (ou Vinum suivant votre version) est intégré dans le noyau… il n'y a donc aucune installation à effectuer :D
II-2. Préparation d'un disque▲
On part d'un disque sans aucune partition. Considérons que son point de montage est /dev/ad0.
On va faire une slice BSD recouvrant tout le disque.
#! /bin/sh
dd if
=
/dev/zero of
=
/dev/ad0 count
=
2
disklabel /dev/ad0 |
disklabel -B -R -r ad0 /dev/stdin
newfs /dev/ad0c
II-3. Configuration de GVinum▲
On dispose de trois slices BSD montées respectivement en /dev/ad0c, /dev/ad1c, /dev/ad2c
Pour connaitre leur taille, utilisez la commande df -m /dev/adXc
On va écrire un gvinum.conf (nb: on se moque du nom, il ne va servir qu'une seule fois)
drive a device /dev/ad0c
drive b device /dev/ad1c
drive c device /dev/ad2c
volume myvol
plex org concat
sd length 250000m drive a
sd length 200000m drive b
sd length 300000m drive c
À partir de maintenant, les blocs élémentaires doivent être identiques…
donc on peut perdre de l'espace disque s'ils sont différents.
drive a device /dev/ad0c
drive b device /dev/ad1c
drive c device /dev/ad2c
volume myvol
plex org concat
sd length 200000m drive a
plex org concat
sd length 200000m drive b
plex org concat
sd length 200000m drive c
À partir de maintenant, il faut signaler la taille des secteurs.
(Unité élémentaire sur le disque, s'il fait 512 Ko un fichier de 1Ko prendra 512 Ko sur le disque.)
drive a device /dev/ad0c
drive b device /dev/ad1c
drive c device /dev/ad2c
volume myvol
plex org striped 512k
sd length 200000m drive a
sd length 200000m drive b
sd length 200000m drive c
drive a device /dev/ad0c
drive b device /dev/ad1c
drive c device /dev/ad2c
volume myvol
plex org raid5 512k
sd length 200000m drive a
sd length 200000m drive b
sd length 200000m drive c
Ensuite, on configure GVinum, et on initialise la partition avec ce script.
#! /bin/sh
gvinum create gvinum.conf
newfs /dev/gvinum/myvol
II-4. Lancement automatique de GVinum▲
Il semblerait que rien n'ait été prévu pour lancer vinum au démarrage… alors que c'est pourtant le point fort des distributions BSD.
Il nous faut donc nous définir notre service… ça peut toujours reservir ;)
On crée un fichier /etc/rc.d/gvinum
# PROVIDE: disks
# KEYWORD: nojail
. /etc/rc.subr
name
=
"gvinum"
start_cmd
=
"gvinum_start"
stop_cmd
=
":"
gvinum_start
(
) {
case
${gvinum_enable}
in
[Yy][Ee][Ss])
echo "starting gvinum."
/sbin/gvinum start ;;
esac
}
load_rc_config $name
run_rc_command "
$1
"
# END
On ajoute alors dans /etc/rc.conf la ligne suivante :
gvinum_start="YES"
II-5. Montage automatisé▲
À ce stade, on ne peut pas encore monter une partition sur notre « super-partition ». Il nous faut monter le volume avec gvinum, grâce à la commande
#! /bin/sh
gvinum start myvol
Maintenant, on peut monter une partition. On commence par définir le point de montage dans /etc/fstab en ajoutant cette ligne
/dev/gvinum/myvol /data ufs defaults,noauto 2 2
Ensuite, on peut faire un script pour monter la partition.
#! /bin/sh
mount /data