pppoe freebsd

Ce présent document n’a qu’un but de rappel rapide des manipulations à faire pour monter rapidement une connection pppoe sous FreeBSD, il est fortement conseille de lire les man.

Attention ce document ne couvre la configuration pppoe que pour un modem ethernet.

1ere etape, le kernel :
Verifiez que vous avez bien les options suivantes :

pseudo-device tun # Packet tunnel
options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_PPPOE
options NETGRAPH_SOCKET

2nde etape, la configuration :
A l’aide de votre editeur favori, modifiez /etc/ppp/ppp.conf pour obtenir ceci :

default:
fai_name:
set log Phase Chat IPCP CCP tun command
set redial 15 28800
set reconnect 15 28800
set device PPPoE:ep1:
set mru 1492
set mtu 1492
set speed sync
enable lqr
set lqrperiod 5
set cd 5
set dial
set login
set timeout 0
set authname login
set authkey password
# enable dns
add default HISADDR

Attention, bien noter la presence d’un espace devant chaque ligne ( sauf default: et pppoe: )
Changez ep1 par votre carte reseau ( xl0 par exemple pour la premiere 3Com 3c90x )
Si vous ne disposez pas de votre propre dns et souhaitez utiliser celui de votre FAI, decommentez la ligne # enable dns

3ieme etape, test de la configuration :
Pour lancer la connection, tappez ppp -ddial fai_name
Les logs seront dans /var/log/ppp.log
P.S. : si vous n’utilisez pas ipnat ou natd pour faire le nat et que vous en avez besoin, vous pouvez utiliser le nat de ppp en tappant ppp -ddial -nat fai_name

4ieme et dernière étape, lancement au démarrage :
A l’aide de votre editeur favori, modifiez /etc/rc.conf pour ajoutter ceci :

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="NO"
ppp_profile="fai_name"

P.S. : pour utiliser le nat de ppp, mettre ppp_nat a YES
P.P.S. : si vous voulez utilisé un outil de nat ou de firewall, l’interface à utiliser est tun0 et non pas la carte reseau où est branchée le modem

Voila, au prochain boot, votre ordinateur prendra automatiquement la ligne

Vinum

Ce présent document n’a qu’un but de rappel rapide des manipulations à faire pour utiliser un service vinum sous FreeBSD, il est fortement conseille de lire les man( pages (4) et (8) ).

Rappels succints préalables :
Vinum est un outil permettant de faire du raid logiciel, ne seront presentés ici que des exemples de configuration de raid 0 ( dit en mirroir ) et 5 ( dit par redondance cyclique ).

Installation/configuration :

1. Exemple d’une installation

drive vinumdrive0 device /dev/ad0s1e # la partition s1e doit etre de type vinum
drive vinumdrive1 device /dev/ad1s1e
volume mirror
plex org concat
sd length 75758m drive vinumdrive0
plex org concat
sd length 75758m drive vinumdrive1


drive vinumdrive0 device /dev/ad0s1e
drive vinumdrive1 device /dev/ad1s1e
drive vinumdrive2 device /dev/ad2s1e
drive vinumdrive3 device /dev/ad3s1e
drive vinumdrive4 device /dev/ad4s1e
volume raid5
plex org raid5
sd length 75758m drive vinumdrive0
sd length 75758m drive vinumdrive1
sd length 75758m drive vinumdrive2
sd length 75758m drive vinumdrive3
sd length 75758m drive vinumdrive4

2. Exemple de la reprise d’une configuration

A l’aide de la commande vinum dumpconfig vous obtenez ceci en prenant l’exemple du raid 0 installé chez moi :

Drive vinumdrive0: Device /dev/ad0s1e
Created on gaia.lan.autre.org at Sat Oct 16 17:44:43 2004
Config last updated Thu Jun 30 23:33:51 2005
Size: 82343245824 bytes (78528 MB)
volume mirror state up
plex name mirror.p0 state up org concat vol mirror
plex name mirror.p1 state up org concat vol mirror
sd name mirror.p0.s0 drive vinumdrive0 len 160826387s driveoffset 265s state up plex mirror.p0 plexoffset 0s
sd name mirror.p1.s0 drive vinumdrive1 len 160071332s driveoffset 265s state up plex mirror.p1 plexoffset 0s

Drive /dev/ad0s1e: 76 GB (82343245824 bytes)
Drive vinumdrive1: Device /dev/ad1s1e
Created on gaia.lan.autre.org at Sat Oct 16 17:44:43 2004
Config last updated Thu Jun 30 23:33:51 2005
Size: 81956657664 bytes (78159 MB)
volume mirror state up
plex name mirror.p0 state up org concat vol mirror
plex name mirror.p1 state up org concat vol mirror
sd name mirror.p0.s0 drive vinumdrive0 len 160826387s driveoffset 265s state up plex mirror.p0 plexoffset 0s
sd name mirror.p1.s0 drive vinumdrive1 len 160071332s driveoffset 265s state up plex mirror.p1 plexoffset 0s

Drive /dev/ad1s1e: 76 GB (81956657664 bytes)

3. Pour automatiser le demarrage

A l’aide de votre editeur favori, modifiez /etc/rc.conf pour ajoutter ceci :
vinum_enable=”YES”
Voila, au prochain boot, votre ordinateur lancera automatiquement vinum

Operation de maintenance :

1. Determiner les dommages:

A l’aide de la commande vinum list vous allez obtenir le resultat suivant :

2 drives:
D vinumdrive2 State: up Device /dev/ad0s1e Avail: 0/78159 MB (1%)
D vinumdrive3 State: up Device /dev/ad1s1e Avail: 0/78159 MB (0%)

1 volumes:
V mirroir State: up Plexes: 2 Size: 76 GB

2 plexes:
P mirroir.p0 C State: up Subdisks: 1 Size: 76 GB
P mirroir.p1 C State: up Subdisks: 1 Size: 76 GB

2 subdisks:
S mirroir.p0.s0 State: up PO: 0 B Size: 76 GB
S mirroir.p1.s0 State: up PO: 0 B Size: 76 GB

Selon l’etat des differents subdisks vous saurez a quoi vous en tenir.

2. Exemple d’un cas ou il n’y a eu aucun dommage materiel

Un des subdisks est en status stale, crashed, down, vous pouvez le redemarrer, il reprendra les données des autres subdisks. Pour se faire, on fait :

# vinum
vinum -> start test.p1.s0
Reviving test.p1.s0 in the background
vinum -> vinum[295]: reviving test.p1.s0
(some time later)
vinum[295]: test.p1.s0 is up

3. Exemple d’un cas ou il y a eu dommage materiel ( obligation de remplacer un disque )

Un des disques n’apparait pas au bios de l’ordi, ou au chargement du systeme, ou a un statut down ou referecenced dans vinum, il va falloir le remplacer. Pour cela, il vous faut un disque au moins aussi gros que l’ancien, preparer la partition h en vinum, et faire les commandes suivantes :


# vinum
vinum -> drive vinumdrive0 device /dev/ad0s1e # cas ou le disque 0 est celui que l'on a remplacer
vinum -> start test.p1.s0
Reviving test.p1.s0 in the background
vinum -> vinum[295]: reviving test.p1.s0
(some time later)
vinum[295]: test.p1.s0 is up

Squid

Ce présent document n’a qu’un but de rappel rapide des manipulations à faire pour configurer rapidement un squid, il est fortement conseille de lire les man.

A l’aide de votre editeur favori, modifiez $PREFIX/etc/squid.conf pour obtenir ceci :


# PARAMETRES RESEAU
# port sur lequel le proxy ecoute
http_port 3128
# desactive le cache pour d'autres proxies
icp_port 0
# CONFIGURATION DU CACHE
# taille en memoire
cache_mem 32 MB
# utilisation minimale du cache en pourcent
cache_swap_low 95
# utilisation maximale du cache en pourcent
cache_swap_high 98
# taille maxi d'un objet sauve sur le disque
maximum_object_size 8192 KB
# taille mini d'un objet sauve sur le disque
minimum_object_size 0 KB
# taille maxi d'un objet en memoire
maximum_object_size_in_memory 128 KB
# nombre maxi de sites ( ips ) dans le cache
ipcache_size 2048
# nombre mini de sites ( ips ) present ds le cache en pourcents
ipcache_low 90
# nombre maxi de sites ( ips ) present ds le cache en pourcents
ipcache_high 95
# politique de gestion du cache disque
cache_replacement_policy lru
# politique de gestion de la memoire
memory_replacement_policy lru
# CONFIGURATION DES LOGS
# repertoire du cache ( repertoire, type_d_organisation, taille en mo, nombre de repertoire de
# niveau 1, nombre de rep de niveau 2 )
cache_dir ufs /usr/local/squid/cache 500 16 256
# fichier de log des acces
cache_access_log /var/log/squid/access.log
# fichier de log du cache
cache_log /var/log/squid/cache.log
# fichier de log de la gestion du cache
cache_store_log /var/log/squid/store.log
# fichier index du cache disque
cache_swap_log /usr/local/squid/cache/swap.log
# type de log
emulate_httpd_log off
# log de l'ip cible
log_ip_on_direct on
# chemin de l'interpreteur mime
mime_table /usr/local/etc/squid/mime.conf
# enregistrement des header mime
log_mime_hdrs off
# chemin du fichier contenant le pid ( processus id )
pid_filename /var/tmp/squid.pid
# options de debug
debug_options ALL, 1
# log ip ou noms dans le fichier d'acces
log_fqdn off
# ip a donner aux site quand on surf
client_netmask 255.255.255.255
# config des programmes externes a squid
ftp_user anonymous@
# taille maxi des noms de fichiers sur un ftp
ftp_list_width 128
# transfert ftp passif ( doit etre a off pr faire en passif )
ftp_passive off
# ecart entre deux tentatives de requete dns
dns_retransmit_interval 5 seconds
# au bout de combien de temps un domaine est considerer inresolvable ( dns )
dns_timeout 5 minutes
# nombre de proxy a lancer
redirect_children 5
redirect_rewrites_host_header on
# CONFIG FINE DU CACHE
# taille maxi des headers de requete
request_header_max_size 10 KB
# taille maxi d'un objet envoyé via le proxy
request_body_max_size 8 MB
# taille maxi d'un objet recut via le proxy ( O = illimité )
reply_body_max_size 0
# "age" maxi d'une page cachée dans le proxy
reference_age 1 year
# CONFIGURATION DES TIMEOUTS
# temps avant timeout d'une connection a un site
connect_timeout 120 seconds
# temps avant timeout d'une connection d'un pc client
request_timeout 30 seconds
# temps maxi que peut rester connecter un client
client_lifetime 2 hours
# temps maxi avant timeout d'une connection permanente via le proxy
pconn_timeout 120 seconds
# GESTION DES DROITS D'ACCES
# definition du reseau local
acl rezo_local src 192.168.0.0/255.255.255.0
# definition de tous
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 21          # ftp
acl Safe_ports port 25          # ftp
acl Safe_ports port 80          # http
acl Safe_ports port 443 	# https, snews
acl CONNECT method CONNECT
# on definit l'acl pour bloquer microsoft
acl microsoft dstdomain .microsoft.com .microsoft.fr .microsoft.*
# on vire qq trucs de pubs
acl publicite dstdomain .cybermonitor.com .advertising.com .doubleclick.net .mgn.net .smartadserver.com
# on definit les droit a proprement parler
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than Safe ports
http_access deny CONNECT !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
# on interdit d'aller vers microsoft
http_access deny microsoft
# on interdit le chargement de la pub
http_access deny publicite
# on permet au lan d'acceder
http_access allow rezo_local
# maintenant on ferme tout a tous les autres
http_access deny all
icp_access deny all
# CONFIG DIVERSES
# ne pas broadcast de messages pour s'annoncer
announce_period 0
# on accelere l'http pour ce qui est masque
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
# combien de jours de fichiers de log doit on garder
logfile_rotate 14
# repertoire contenant les messages d'erreurs
error_directory /usr/local/etc/squid/errors
# repertoire contenant les icones
icon_directory /usr/local/etc/squid/icons

Tester basiquement la tenue de charge d’un site web

Pré-requis : une machine sous linux/freebsd avec une bonne connectivité ( latence surtout et débit ).

Pour tester de façon basique et rapide, la tenue de charge d’une machine, apache fourni l’outil ab ( Apache Benchmark ).

Il permet d’ouvrir X connections simultanées sur un site internet de faire Y requêtes. Pour des tests plus élaborés ( scénarios de navigation ), je vous conseille de vous tourner vers jmeter.

Dans le même temps, pour obtenir les meilleurs résultats, il vous faut monitorer votre machine ( article a venir .. ) afin de pouvoir analyser finement son comportement et éventuellement l’optimiser plus ..

Ainsi, on va commencer petit :

guillaume@mars:~ # ab -n1000 -c 10 http://test-joomla.domaine.com/
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking test-joomla.domaine.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests
Server Software:        Apache/2.2.16
Server Hostname:        test-joomla.domaine.com
Server Port:            80
Document Path:          /
Document Length:        15155 bytes
Concurrency Level:      10
Time taken for tests:   42.77887 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      15558543 bytes
HTML transferred:       15170155 bytes
Requests per second:    23.77 [#/sec] (mean)
Time per request:       420.779 [ms] (mean)
Time per request:       42.078 [ms] (mean, across all concurrent requests)
Transfer rate:          361.07 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4    4   0.4      4       7
Processing:   222  414  58.0    413     835
Waiting:      211  381  48.1    383     524
Total:        226  418  58.0    417     839
Percentage of the requests served within a certain time (ms)
  50%    417
  66%    439
  75%    452
  80%    462
  90%    481
  95%    500
  98%    522
  99%    555
 100%    839 (longest request)

Le serveur est donc capable de nous servir la page d’accueil jusqu’à 23 fois à la seconde, en prenant 42ms par requête. Par ailleurs, effectivement des outils de monitoring montrent une utilisation autour des 60 pourcent, ce qui semble logique au vu de nos 10 requêtes concurrentes..

On va re-essayer avec 23 requetes concurrentes :

yomgui@mars:~ # ab -n2000 -c 23 http://test-joomla.faistonweb.com/
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking test-joomla.faistonweb.com (be patient)
Completed 200 requests
Completed 400 requests
Completed 600 requests
Completed 800 requests
Completed 1000 requests
Completed 1200 requests
Completed 1400 requests
Completed 1600 requests
Completed 1800 requests
Finished 2000 requests
Server Software:        Apache/2.2.16
Server Hostname:        test-joomla.faistonweb.com
Server Port:            80
Document Path:          /
Document Length:        15155 bytes
Concurrency Level:      23
Time taken for tests:   84.575933 seconds
Complete requests:      2000
Failed requests:        0
Write errors:           0
Total transferred:      31101543 bytes
HTML transferred:       30325155 bytes
Requests per second:    23.65 [#/sec] (mean)
Time per request:       972.623 [ms] (mean)
Time per request:       42.288 [ms] (mean, across all concurrent requests)
Transfer rate:          359.11 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4   68 435.2      4    3004
Processing:   391  898 163.8    941    1563
Waiting:      348  821 142.1    867    1107
Total:        395  967 472.6    946    4117
Percentage of the requests served within a certain time (ms)
  50%    946
  66%    974
  75%    993
  80%   1005
  90%   1042
  95%   1081
  98%   3876
  99%   3957
 100%   4117 (longest request)

Creer son certificat ssl wildcard auto-signé

Pré-requis :
- avoir les librairies openssl d’installées ( sous debian : “apt-get install openssl ssl-cert” )
- avoir compris ce qu’est openssl

Mise en place de l’arborescence néccessaire :

mkdir --parent /etc/ssl/chains
mkdir --parent /etc/ssl/certificates
mkdir --parent /etc/ssl/private
mkdir --parent /etc/ssl/requests
mkdir --parent /etc/ssl/roots

Mise en place des droits qui vont bien

chown -R root:ssl-cert /etc/ssl/private
chmod 710 /etc/ssl/private
chmod 440 /etc/ssl/private/*

Création de la clef secrète

root@serveur:/# cd /etc/ssl/private/
root@serveur:/etc/ssl/private# openssl genrsa -des3 -out domaine.com.key 2048
Generating RSA private key, 2048 bit long modulus
...............................+++
..........................................+++
e is 65537 (0x10001)
Enter pass phrase for domaine.com.key:
Verifying - Enter pass phrase for domaine.com.key:

Création du CSR ( “Certificate Signing Request” ou grosso modo Certificat à signer )

root@serveur:/etc/ssl/private# cd /etc/ssl/requests/
root@serveur:/etc/ssl/requests# openssl req -new -key ../private/domaine.com.key -out domaine.csr
Enter pass phrase for ../private/domaine.com.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Nord-Pas-De-Calais
Locality Name (eg, city) []:Roubaix
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mon Domaine
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:*.domaine.com
Email Address []:webmaster@domaine.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

On enleve maintenant la protection par le password ( c’est plus pratique et c’est uniquement néccessaire pour crééer le CSR )

root@serveur:/etc/ssl/requests# cd /etc/ssl/private/
root@serveur:/etc/ssl/private# cp domaine.com.key domaine.com.key.orig
root@serveur:/etc/ssl/private# openssl rsa -in domaine.com.key.orig -out domaine.com.key
Enter pass phrase for faistonweb.com.key.orig:
writing RSA key

Signons ( validons ), nous même notre certificat :

root@serveur:/etc/ssl/private# cd /etc/ssl/certificates/
root@serveur:/etc/ssl/certificates# openssl x509 -req -days 3650 -in ../requests/domaine.csr -signkey ../private/domaine.com.key -out domaine.crt
Signature ok
subject=/C=FR/ST=Nord-Pas\xC3-De-Calais/L=Roubaix/O=Mon Domaine/CN=*.domaine.com/emailAddress=webmaster@domaine.com
Getting Private key

Ca y est, vous pouvez encrypter comme des grands .. :)

Création d’une base mysql en ligne de commande

Pour créé une base Mysql et pouvoir l’utiliser, c’est relativement simple, on va utiliser l’outil mysql de base pour : créé une base et donner les droits d’utilisation à un utilisateur.

root@serveur:~# mysql -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 41
Server version: 5.1.63-0+squeeze1 (Debian)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database testjoomla; Query OK, 1 row affected (0.00 sec)
mysql> grant all on testjoomla.* to 'testjoomla'@'localhost' identified by 'password'; Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)

Vinum : le raid logiciel sous FreeBSD

Ce présent document n’a qu’un but de rappel rapide des manipulations à faire pour utiliser un service vinum sous FreeBSD, il est fortement conseille de lire les man( pages (4) et (8) ).

Rappels succints préalables :
Vinum est un outil permettant de faire du raid logiciel, ne seront presentés ici que des exemples de configuration de raid 0 ( dit en mirroir ) et 5 ( dit par redondance cyclique ).

Installation/configuration :

Pré-requis : créé des partitions ( aka slice ) au format VINUM.

1. Exemples de mise en place

Raid 1

# vinum
drive vinumdrive0 device /dev/ad0s1e
drive vinumdrive1 device /dev/ad1s1e
volume mirror
  plex org concat
    sd length 75758m drive vinumdrive0
  plex org concat
    sd length 75758m drive vinumdrive1

Raid 5

# vinum
drive vinumdrive0 device /dev/ad0s1e
drive vinumdrive1 device /dev/ad1s1e
drive vinumdrive2 device /dev/ad2s1e
drive vinumdrive3 device /dev/ad3s1e
drive vinumdrive4 device /dev/ad4s1e
volume raid5
  plex org raid5
    sd length 75758m drive vinumdrive0
    sd length 75758m drive vinumdrive1
    sd length 75758m drive vinumdrive2
    sd length 75758m drive vinumdrive3
    sd length 75758m drive vinumdrive4

2. Exemple de la reprise d’une configuration

A l’aide de la commande vinum dumpconfig vous obtenez ceci en prenant l’exemple du raid 1 installé chez moi :

Drive vinumdrive0:      Device /dev/ad0s1e
                Created on gaia.lan.autre.org at Sat Oct 16 17:44:43 2004
                Config last updated Thu Jun 30 23:33:51 2005
                Size:      82343245824 bytes (78528 MB)
volume mirror state up
plex name mirror.p0 state up org concat vol mirror
plex name mirror.p1 state up org concat vol mirror
sd name mirror.p0.s0 drive vinumdrive0 len 160826387s driveoffset 265s state up plex mirror.p0 plexoffset 0s
sd name mirror.p1.s0 drive vinumdrive1 len 160071332s driveoffset 265s state up plex mirror.p1 plexoffset 0s
Drive /dev/ad0s1e: 76 GB (82343245824 bytes)
Drive vinumdrive1:      Device /dev/ad1s1e
                Created on gaia.lan.autre.org at Sat Oct 16 17:44:43 2004
                Config last updated Thu Jun 30 23:33:51 2005
                Size:      81956657664 bytes (78159 MB)
volume mirror state up
plex name mirror.p0 state up org concat vol mirror
plex name mirror.p1 state up org concat vol mirror
sd name mirror.p0.s0 drive vinumdrive0 len 160826387s driveoffset 265s state up plex mirror.p0 plexoffset 0s
sd name mirror.p1.s0 drive vinumdrive1 len 160071332s driveoffset 265s state up plex mirror.p1 plexoffset 0s
Drive /dev/ad1s1e: 76 GB (81956657664 bytes)

3. Pour automatiser le demarrage

A l’aide de votre editeur favori, modifiez /etc/rc.conf pour ajoutter ceci :
vinum_enable=”YES”
Voila, au prochain boot, votre ordinateur lancera automatiquement vinum

Operation de maintenance :

1. Determiner les dommages:

A l’aide de la commande vinum list vous allez obtenir le resultat suivant :

2 drives:
D vinumdrive2           State: up       Device /dev/ad0s1e      Avail: 0/78159 MB (1%)
D vinumdrive3           State: up       Device /dev/ad1s1e      Avail: 0/78159 MB (0%)
1 volumes:
V mirroir               State: up       Plexes:       2 Size:         76 GB
2 plexes:
P mirroir.p0          C State: up       Subdisks:     1 Size:         76 GB
P mirroir.p1          C State: up       Subdisks:     1 Size:         76 GB
2 subdisks:
S mirroir.p0.s0         State: up       PO:        0  B Size:         76 GB
S mirroir.p1.s0         State: up       PO:        0  B Size:         76 GB

Selon l’etat des differents subdisks vous saurez a quoi vous en tenir.

2. Exemple d’un cas ou il n’y a eu aucun dommage materiel

Un des subdisks est en status stale, crashed, down, vous pouvez le redemarrer, il reprendra les données des autres subdisks. Pour se faire, on fait :

# vinum
vinum -> start test.p1.s0
Reviving test.p1.s0 in the background
vinum -> vinum[295]: reviving test.p1.s0
(some time later)
vinum[295]: test.p1.s0 is up

3. Exemple d’un cas ou il y a eu dommage materiel ( obligation de remplacer un disque )

Un des disques n’apparait pas au bios de l’ordi, ou au chargement du systeme, ou a un statut down ou referecenced dans vinum, il va falloir le remplacer. Pour cela, il vous faut un disque au moins aussi gros que l’ancien, preparer la partition en vinum, et faire les commandes suivantes ( dans le cas ou le disque mort serait ad0s1e ) :

# vinum
vinum -> drive vinumdrive0 device /dev/ad0s1e
vinum -> start test.p1.s0
Reviving test.p1.s0 in the background
vinum -> vinum[295]: reviving test.p1.s0
(some time later)
vinum[295]: test.p1.s0 is up