Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2468 connectés 

  FORUM HardWare.fr
  Windows & Software
  Stockage/Sauvegarde

  Comment j'ai monté mon NAS linux, RAID5, Gigabit

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment j'ai monté mon NAS linux, RAID5, Gigabit

n°2324603
WileECoyot​e
Posté le 12-02-2006 à 22:27:13  profilanswer
 

Bonjour
 
J'ai enfin monté mon serveur NAS, et je vais vous décrire comment.
 
Le Matériel
Un gros boitier, (http://forum.hardware.fr/hardwaref [...] 0513-1.htm, dernière page pour les photos), le CoolerMaster Stacker. Celui-ci utilise des sous-boitiers "HDD 4 en 3" qui permettent de monter 4 disques 3,5" dans 3 emplacements 5"1/4 avec un ventilateur 12cm pour les ventiler, ce boitier est vendu séparément, et un est déjà inclus avec le CoolerMaster Stacker, j'en ai donc acheté un supplémentaire.
 
En effet, j'ai mis un disque de boot récupéré (8Go de bâse) pour le boot, et 8 disques Serial ATA Maxtor MAXLINE III 300Go (garantis 5ans) chacun pour le stockage des données... Oui, ça en fait...
 
Pour connecter ça, après une recherche assez longue, j'ai trouvé la carte ASUS K8N4-E Deluxe qui dispose de 8 ports Serial ATA groupés en 2 contrôleurs, un nVidia et un Silicon Image. Les deux permettent un certain niveau de RAID, mais je ne voulais pas devoir tout pêter le jour où je change de carte mère... Done le RAID sera rêglé en logiciel. J'ai changé son ventirad en un radiateur bien qu'aujourd'hui si c'étair à refaire je m'en dispenserais, c'est le CPU qui est le plus bruyant.
 
Cette carte n'a pas de carte vidéo intégrée, j'ai donc pris du bas de gamme (le serveur ne tourne en graphique que marginalement).
 
J'ai pris 1Go de RAM parce qu'on est en 2006.
 
Et un Sempron 2600+ parce que j'ai pas besoin d'un CPU puissant. Si j'avais su je n'aurais pas pris son ventirad qui est la principale source de bruit de mon installation. Merci AMD!
 
Alimentation: 600W (ASUS parle de 350W, j'ajoute 8 disques de 25W max chacun, ça fait 550), la mienne est une Enermax Noisetaker 600W.  
 
L'OS
Je modifierai cette partie lorsque j'aurai changé ma config en x86_64: il semble qu'on gagne 30% de temps CPU, et le RAID5 est "réputé consommer".
 
J'ai choisi une distribution Fedora Core 4. Elle a l'avantage d'être dans la famille RedHat, puisqu'il faut choisir son camp, ça me désole, mais ce que j'en ai fait ne diffère pas en debian...
 
J'ai expliqué que je souhaitais faire du RAID5 logiciel : un stripping sur 7 disques avec un disque Spare pour survivre au crash d'un disque et se remettre de lui-même en mode nominal après moins de 2h (en mode dégradé : mêmes fonctionnalités mais un peu plus lent) en cas de perte d'un disque. Je ne veux pas un RAID matériel parce que les cartes qui font ça de manière sérieuse (avec plus de 4 disques) sont inabordables, PCI donc lentes, et pas à l'abri d'une défaillance. Je veux bien remplacer une CM à 80€, mais remplacer une carte RAID à 700€ est une autre histoire...
 
Une réflexion sur mes besoin m'a mené à la conclusion que je n'ai pas besoin que TOUT mon espace soit en RAID5... Je décide donc de partitionner chaque disque et 38% non RAID, 62% RAID pour avoir 1To en RAID et 800Go en non RAID.
 
Mon linux boote sur un /dev/hda, le disque dur standard, pas de mystère, la partie RAID et autre sera traitée après l'installation.
Un fichier Excel donne les détails: http://demedj.free.fr/share/ServeurFichiers.xls
 
La configuration
 
J'ai décidé d'utiliser fdisk alors que LVM permet de s'en passer totalement, mais les tests de perfs que j'ai faits avec LVM me font un peu douter de ses performances...
 
Logical Volume Management doit être installé, mdadm aussi. Selon la distrib, ces mackages existent surement.
 
Par ailleurs, ayant entendu du mal de ext3 en reprise sur arrêt forcé, je lui préfère ReiserFS, J'ai aussi installé xfs, mais je n'ai pas benché les différences. ReiserFS m'a paru moins performant que ext2 mais pas que ext3... ReiserFS n'est pas inclus dans la distrib FC4, un coup de yum et c'est fait.
 
Les Partitions
 
Chaque disque /dev/sd[a-h] est donc partitionné en deux partitions primaires

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sd[a-h]1              1       13863   111354516   83  Linux
/dev/sd[a-h]2          13864       36483   181695150   83  Linux


J'ai fait ça à la main, c'est pas très compliqué, avec fdisk. Par la suite j'ai fait un script qui fait ça, mais il n'est pas très malin, si fdisk ajoute une confirmation dans une version ultérieure, mon script aveugle se plante, j'ai honte, je ne le livre pas ;).
 
Le RAID5 device
Pour configurer le RAID device, j'étais tellement impressionné par la simplicité de la commande que je vous la livre :

mdadm --create /dev/md0 --level=5 --raid-devices=7 --spare-devices=1 --parity=left-symmetric /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde2 /dev/sdf2 /dev/sdg2 /dev/sdh2  


Bon OK: j'explique :
--create : création initiale du device /dev/md0 qui sera le disque RAID5, mon disque réputé indestructible.
--level=5 : je crée un RAID5, pour info le RAID6 est supporté par Linux, mais ça me semblait un excès de zèle, couteux, et pas mieux que RAID5 + 1spare, enfin ça existe : on ne va pas se plaindre.
--raid-devices=7 : j'utilise 7 disques (les 7 premiers de la liste qui suit) pour le RAID5, donc la capacité de 6; plus un disque pour la parité (XOR).
--spare-devices=1 : j'utilise un 8ème disque pour relayer toute défaillance de disque. C'est le huitième disque de ma liste.
--parity=left-symmetric : est l'algo par défaut, c'est technique et franchement j'ai pas creusé.
/dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde2 /dev/sdf2 /dev/sdg2 : les 7 disques du RAID5
/dev/sdh2  : le disque spare  
 
Une fois que c'est fait, on n'arrête pas la machine avant que l'array soit constitué, 1h30 environ, mais l'array peut être utilisé, on est simplement en mode dégradé.
/proc/mdstat indique la progression de la construction de l'array :

[b]cat /proc/mdstat[/b]
Personalities : [raid0] [raid5]
md0 : active raid5 sdg2[7] sdh2[8] sdf2[5] sde2[4] sdd2[3] sdc2[2] sdb2[1] sda2[0]
      1090170240 blocks level 5, 64k chunk, algorithm 2 [7/6] [UUUUUU_]
      [============>........]  recovery = 64.4% (117100800/181695040) finish=41.7min speed=25777K/sec
unused devices: <none>


 
Quand c'est fait :

cat /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sda2[0] sdg2[7] sdh2[6] sdf2[5] sde2[4] sdd2[3] sdc2[2] sdb2[1]
      1090170240 blocks level 5, 64k chunk, algorithm 2 [7/7] [UUUUUUU]
 
unused devices: <none>


 
Maintenant pour que ça marche au reboot, il faut créer un fichier /etc/mdadm.conf

DEVICE /dev/sd[abcdefgh]2
 
ARRAY /dev/md0 level=raid5 num-devices=7 UUID=488914ad:bda5c4d1:3c9d9357:c4d1ca6d
   devices=/dev/sda2,/dev/sdb2,/dev/sdc2,/dev/sdd2,/dev/sde2,/dev/sdf2,/dev/sdg2,/dev/sdh2


 
Et puis il faut que le service mdmpd tourne dans le runlevel de votre système, là ça peut dépendre de votre distribution.  
 
Logical Volume Management
J'utilise le LVM sur chaque partition non RAID /dev/sd[a-h]1, mais le RAID est bâti sur les devices /dev/sd[a-h]2 directement, il me semblait inutile de baser le RAID sur une surcouche qui aurait pu coûter des perfs sans ajouter de réelle valeur.
 
Pour moi LVM et RAID devraient être intégrés... Et ReiserFS aussi ;) C'est un autre sujet...
 
Donc chaque /dev/sd[a-h]1 est un Physical Volume, et le /dev/md0, le disque RAID5 "indestructible".
 
Par dessus, un volume group "" pour les /dev/sd[a-h]1, et volume group "safeVG" pour le /dev/md0.
 
En fait j'ai pas mis tous les /dev/sd[a-h]1 dans unsafeVG: rien ne presse, je l'étends quand je veux.
 
Je crée un LogicalVolume "safeLV" dir "safeVG", et un "unsafeLV" sur "unsafeVG"...
 
"safeVG" fait 1To et des poussières, "unsafe" ça dépend de ce que j'ai mis dedans, j'ai commencé avec 200Go.
 
Je fais un mkreiserfs sur /dev/mapper/safeVG-safeLV.
Je fais un mkext2fs sur /dev/mapper/unsafeVG-unsafeLV.
 
En effet pour les données non critiques, je me moque d'avoir un fs journalisé. J'assume.
 
/etc/fstab
 

/dev/mapper/safeVG-safeLV       /data/safe   reiserfs defaults    0 2
/dev/mapper/unsafeVG-unsafeLV   /data/unsafe ext2     defaults    0 2


 
...rien de bien compliqué...
 
Samba
 
Ben là c'est un peu comme on veut, c'est pas compliqué de configurer, j'ai juste créé des scripts pour Windows qui connectent facilement le poste à mon serveur :

net use s: \\<serveur>\<ressource_partagee> /user:<utilisateur_samba> <mot_de_passe> /persistent:no


 
C'est tout pour aujourd'hui, merci de me fournir vos commentaire.
 
A++
--
Wile


---------------
--
mood
Publicité
Posté le 12-02-2006 à 22:27:13  profilanswer
 

n°2324663
Profil sup​primé
Posté le 12-02-2006 à 23:49:52  answer
 

Tu devrais plutot déplacer ton sujet dans la section OS alternative plutot, non ?
 
Très bon post intéressant :)

n°2324801
WileECoyot​e
Posté le 13-02-2006 à 09:31:26  profilanswer
 

Ben je l'utilise comme sauvegarde, mais effectivement vus les détails que je donne je vais le copier...
 
Merci du tuyau.
 
A++
--
wile


---------------
--
n°2329013
PacThePac
Posté le 16-02-2006 à 19:23:18  profilanswer
 

Ton article est très interressant.
Par contre sais tu si on peut ajouter un disque après avoir constitué l'array pour en augmenter sa capacité?
En clair je commence l'array avec 3 disques quand c'est plein j'en rajoute un et ainsi de suite.
Merci pour ta réponse

Message cité 1 fois
Message édité par PacThePac le 16-02-2006 à 19:29:08
n°2333910
WileECoyot​e
Posté le 21-02-2006 à 15:24:36  profilanswer
 

PacThePac a écrit :

Ton article est très interressant.
Par contre sais tu si on peut ajouter un disque après avoir constitué l'array pour en augmenter sa capacité?
En clair je commence l'array avec 3 disques quand c'est plein j'en rajoute un et ainsi de suite.
Merci pour ta réponse


 
J'ai un peu regardé, j'au d'abord trouvé ça:
 

$ man mdadm
       Grow   Grow  (or shrink) an array, or otherwise reshape it in some way.
              Currently supported growth options including changing the active
              size  of  componenet  devices in RAID level 1/4/5/6 and changing
              the number of active devices in RAID1.


 
puis ça :

$ mdadm --grow --help
Usage: mdadm --grow device options
 
This usage causes mdadm to attempt to reconfigure a running array.
This is only possibly if the kernel being used supports a particular
reconfiguration.  This version only supports changing the number of
devices in a RAID1, and changing the active size of all devices in
a RAID1/4/5/6.
 
Options that are valid with the grow (-F --grow) mode are:
  --size=        -z   : Change the active size of devices in an array.
                      : This is useful if all devices have been replaced
                      : with larger devices.
  --raid-disks=  -n   : Change the number of active devices in a RAID1
                      : array.


 
à ce que j'en comprends, tu ne peux pas rajouter un disque à un array existant sauf RAID1.
 
Par contre si tu pars sur 4 disques, ça te permet quand tu les changes (un par un, en laissant le temps à l'array de se reconstituer à chaque fois) tous les 4 de bénéficier de la nouvelle taille.
 
Mais attention, ça ne permet que de redimensionner un blockdevice. Si le filesystem n'est pas capable de grossir, ça ne marchera pas.
 
Avec du LVM on peut normalement tout faire. Dans ce cas tu empiles les couches suivantes :
 

LogicalVolume
VolumeGroups
Physical Volume
RAID
Partitions Physiques


 
C'est ce que j'ai fait.
A++
--
Wile


---------------
--
n°2335653
PacThePac
Posté le 22-02-2006 à 23:01:53  profilanswer
 

Merci pour ta réponse.
 
Seulement (si j'ai bien compris) l'array n'étant pas modifiable (raid5) pour augmenter le volume logique il faut créer un deuxième array.
 
Dans ce cas, la perte d'espace du au raid5 est plus importante.
 
2 array de 3 disques donnent une capacité totale de 4 disques alors que 1 array de 6 disques donne une capacité total de 5 disques.
 
c'est vraiment dommage qu'avec mdadm on ne puisse pas directement augmenter l'array.

n°2344139
PacThePac
Posté le 02-03-2006 à 20:22:18  profilanswer
 

Il semblerai que Neil Brown, le concepteur de mdadm, travaille sur la possibilité de rajouter un disque dans une grappe raid5 existante.
Et tout ça, en laissant la grappe fonctionner :)  
 
http://lwn.net/Articles/168285/
 
http://lwn.net/Articles/168969/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Stockage/Sauvegarde

  Comment j'ai monté mon NAS linux, RAID5, Gigabit

 

Sujets relatifs
tracabilité de fichier sur un serveur NASCherche solution - NAS - Stockage Rezo - Server fichiers
partage xp/linuxVNC vs Linux
windows et linux no pingComment tester une liaison Gigabit ?
Serveur LINUX debian Aide pour novice en SSHserveur NAS : Windows et Unix en simultané
Plus de sujets relatifs à : Comment j'ai monté mon NAS linux, RAID5, Gigabit


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR