IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Montage de partitions agrégées sur des systèmes FreeBSD


précédentsommairesuivant

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.

Préparation d'une slice BSD
Sélectionnez
#! /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)

Configuration JBOD
Sélectionnez
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.

Configuration Raid-1
Sélectionnez
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.)

Configuration Raid-0
Sélectionnez
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
Configuration Raid-5
Sélectionnez
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.

 
Sélectionnez
#! /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

/etc/rc.d/gvinum
Sélectionnez
# 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 :

/etc/rc.conf
Sélectionnez
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

 
Sélectionnez
#! /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

 
Sélectionnez
/dev/gvinum/myvol    /data    ufs    defaults,noauto        2    2

Ensuite, on peut faire un script pour monter la partition.

 
Sélectionnez
#! /bin/sh
mount /data

précédentsommairesuivant

Copyright (c) 2006 Nicolas Vallée. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. Read the full license here : http://www.gnu.org/licenses/fdl.txt