bonsoir forum,
J'ai une question de culture générale. J'ai créé un volume RAID1 et j'ai commencé par utilisé l'utilitaire du bios. Puis à l'installation, Diskdruid (fedora) m'a proposé la création de RAID logiciel. Bref, j'ai fait comme conseillé et apparemment, ça fonctionne (youpie).
Mais après coup, je me suis demandé à quoi ça servait de créer un volume RAID avec le bios si linux le fait de toute façon au moment de créer les partitions. Les deux étapes sont-elles nécessaires ?
Merci d'éclairer ma lanterne.
# tout depend...
Posté par NeoX . Évalué à 2.
sur les cartes SCSI qui font du raid materiel, souvent tu configures le BIOS de la carte et lors de l'install de l'OS (quelqu'il soit) celui-ci ne voit qu'un seul disque (correspondant au volume precedemment créé)
sur les cartes qui font du raid "logiciel", configurer le bios permet eventuellement quelques optimisations des transferts sur la carte,
mais il reste à l'OS de faire le raid et de creer les volumes.
parfois meme, tu pourras faire du raid logiciel sans meme avoir une carte raid...
# Régle de base
Posté par Kerro . Évalué à 3.
Du tout.
Avec Windows c'est éventuellement utile, et ça reste à prouver. En cas de panne de carte-mère il est nécessaire d'en acheter une identique pour récupérer ses données, rien que ça. Avec Linux et consorts c'est TOUJOURS moins bon. Le simple RAID logiciel fonctionne vraiment très bien. Et du RAID "matériel", vu le prix, autant acheter un processeur plus puissant et de la mémoire avec les bons timing.
# bonjur,
Posté par abofrp31 . Évalué à 0.
-raid materiel integrallement gere par la carte 100% transparent pour l'OS !!!
-raid soft gere integrallement par la couche soft de l'OS
-le faux raid materiel (utilise certains materiels mais necessite une assistance par la couche soft.
utilisations ?
SEUL le raid veritablement materiel permet de booter sur le secours si le disque bootable est mort (repose en paix)...sans manipulation humaine et donc sans risque d'erreur du tout. et s'applique a tous les niveaux de raid
le raid soft est utile pour 99.9% de la population grand publique mais il est plus lent que les deux solutions materieles, et s'applique a tous les niveaux de raid
le faux raid materiel est simplement une solution intermediaire , plus fiable et surtout plus rapide que le raid soft seul, mais aussi puissant que le raid materiel (sanf dans les utilisation des niveaux 0,1,0+1)
enfin les couts
raid faux materiel : peu couteu
raid soft : aucun cout hormis les disques eux meme
raid materiel : son prix le rend inutile mais dans certaine application critiques au niveau professionnel c'est encore rentable aujourd'hui
[^] # Fiabilité / rapidité
Posté par Kerro . Évalué à 2.
Et le RAID matériel "pure" n'est que très peu plus rapide que le RAID logiciel (sauf à prendre des grappes imposantes sur des machines surchargées).
[^] # Re: Fiabilité / rapidité
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Fiabilité / rapidité
Posté par mekare . Évalué à 2.
Oui et non :
Le raid matériel permet de laisser le/les CPU bosser sur autre chose, c'est donc forcément utile sur un serveur : le raid est traité par la carte raid, tout le reste (NFS, Samba, FTP, X... etc) par les/le CPU (Sans parler des cartes RAID ou l'on peut mettre des tonnes de RAM en guise de cache).
Forcément si tu fais des comparaisons "raid matériel vs raid logiciel" sur une machine qui n'a que ça a faire tu ne verra que peu de différence, puisque le CPU est disponible pour le raid ! mais dans un environnement de travail, la différence se ressent énormément !
[^] # Re: Fiabilité / rapidité
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
Est-ce que 2 serveurs relié en gigabits ne serait pas plus efficace qu'un serveur avec une grosse carte raid ?
"La première sécurité est la liberté"
[^] # Re: Fiabilité / rapidité
Posté par Kerro . Évalué à 2.
Mon constat est cependant que la plupart des serveurs passent leur temps à ne rien faire :-)
Au boulot nous avons des serveurs Debian qui hébergent plusieurs machines virtuelles Windows avec SQL et Terminal Server. J'ai regardé l'une d'elle ce matin: 22 utilisateurs en TSE, 17% de CPU. Bon, pas la peine d'investir dans une carte RAID.
La différence se fera sentir sur une machine qui est chargée ET qui écrit pas mal (je parle du RAID 1, le RAID 5 étant, à mon avis, trop dangeureux à cause de son taux de panne). Si il n'y a que peu d'écriture, matériel ou logiciel, kif-kif.
Si c'est du RAID 0, je n'ai pas mesuré, mais une carte n'apporte probablement rien aux performances. Même sur une machine chargée.
Par contre en RAID 5 ou 6, là, effectivement, je suppose qu'on voit une différence. Mais de combiens ? Encore une fois, le prix d'une carte RAID est peut-être mieux investi dans une meilleure CPU et/ou des RAM plus performantes.
Exemple:
Passer d'un AMD 4200+ avec 2 Go de RAM 667 3-3-3-12 vers un AMD 6000+ avec 4 Go de RAM 800 3-3-3-12 coûte 140 € HT de plus (prix LDLC-pro avec de la mémoire CRUCIAL).
Pour 140 € donc on double la mémoire, on accélère les échanges mémoire/processeur, et on augmente significativement la puissance du processeur.
Si à la place on prend une carte RAID, ça coûte environ 100 € (les cartes à 36 €, je ne suis pas certain qu'elles soient "matériel").
Pour un particulier, pas besoin de l'un ou de l'autre. Problème réglé.
Pour un particulier exigeant, ou une entreprise, pour 40€ de plus on double la mémoire, on augmente la puissance du processeur (tout le temps, pas uniquement pour les transferts disque). Et si on ne double pas la mémoire, ça coûte seulement 80 €, donc moins cher qu'une carte RAID.
Il reste les gros-gros serveurs. Ceux qui ont déjà les processeurs les plus puissants, avec tous les emplacements occupés, et qui tournent à 100% de processeur et qui font pas mal d'écriture disque.
C'est juste trèèès rare.
[^] # Re: Fiabilité / rapidité
Posté par Sébastien Koechlin . Évalué à 2.
C'est même pire que cela; le RAID-5 logiciel n'a pratiquement aucun avantage. La perte d'un disque risque de faire perdre toute la matrice contrairement au RAID-5 matériel.
"Si à la place on prend une carte RAID, ça coûte environ 100 € (les cartes à 36 €, je ne suis pas certain qu'elles soient "matériel")."
Même à 100€, je ne connais pas de carte RAID matériel; les premiers prix tournent autour de 300€, et pour ce prix, on a rarement la batterie de secours qui permet de faire du RAID-5.
[^] # Re: Fiabilité / rapidité
Posté par benoar . Évalué à 2.
Pourquoi ? T'as des sources ? Je ne vois pas de différence théorique entre les deux ...
Même à 100€, je ne connais pas de carte RAID matériel; les premiers prix tournent autour de 300€, et pour ce prix, on a rarement la batterie de secours qui permet de faire du RAID-5.
Oui c'est clair. Faire gaffe aux quelques cartes de "grandes marques" (Adaptec, ...) qui sont pas chères (genre 100€), mais qui sont en fait du fakeraid ...
[^] # Re: Fiabilité / rapidité
Posté par Sébastien Koechlin . Évalué à 2.
Oui, j'ai des sources, dans /usr/src/linux//Documentation/md.txt
Degraded = il manque un disque
Dirty = arrêt brutal
Le cas classique c'est la coupure de courant avec la défaillance d'un disque (l'un entrainant l'autre).
"If a raid5 or raid6 array is both dirty and degraded, it could have
undetectable data corruption. This is because the fact that it is
'dirty' means that the parity cannot be trusted, and the fact that it
is degraded means that some datablocks are missing and cannot reliably
be reconstructed (due to no parity).
For this reason, md will normally refuse to start such an array. This
requires the sysadmin to take action to explicitly start the array
despite possible corruption."
[^] # Re: Fiabilité / rapidité
Posté par benoar . Évalué à 3.
[^] # Re: Fiabilité / rapidité
Posté par Kerro . Évalué à 2.
Quoi qu'il en soit, le RAID-5 n'a aujourd'hui plus de raison d'être utilisé. Trop dangeureux pour quelque chose qui est justement sensé être sécurisant. Matériel ou pas, même résultat.
[^] # Re: Fiabilité / rapidité
Posté par benoar . Évalué à 2.
La plupart des disques que j'ai vu claquer, c'était en pleine marche normale de la machine. Ou alors un jour, en rebootant, hop, pu de disque. C'est conte ça que je veux me protéger (oui, je me suis intéressé à ce sujet car je compte faire du RAID 5 en soft sous nunux).
[^] # Indentation ?
Posté par Kerro . Évalué à 2.
[^] # Re: Indentation ?
Posté par benoar . Évalué à 2.
[^] # Re: Indentation ?
Posté par Kerro . Évalué à 2.
Tu parles de coupures de courant, ce qui semble être en rapport avec les carte qui embarquent de la mémoire et une batterie. Je n'ai pas parlé de cela.
Je dis simplement que le RAID-5 est dangereux à cause de son taux de panne plus élevé que le RAID-1. Etant donné que les performances ne sont pas vraiment meilleures en RAID-5, et que le coût est marginalement plus faible, on n'utilise généralement pas le RAID-5.
Sauf pour des questions d'habitudes, de croyances, de modes, etc.
[^] # Re: Indentation ?
Posté par benoar . Évalué à 2.
Quant au taux de panne plus elevé, que veux-tu dire ? Que plus de disques peuvent tomber en panne en RAID 1 avant de perdre des données ? Oui, mais le RAID 5 est fait pour être plus économique, non ?
Pour les perfs, tu as des chiffres ?
Ce n'est pas d'une manière aggressive de dire ça, mais ça m'intéresse de savoir les désavantages que je vais avoir en RAID 5 ...
[^] # Re: Indentation ?
Posté par Sébastien Koechlin . Évalué à 3.
En RAID1:
En lectures: elles sont normalement distribuées sur les deux disques; en théorie le débit devrait être doublé. D'après http://kernelnewbies.org/KernelProjects/Raid1ReadBalancing ce n'est pas fait sous Linux, donc la lecture actuelle offre les performances d'un disque.
En écriture, il faut écrire les données sur les deux disques; donc transférer deux fois les données au(x) contrôleur(s) disque. Tout n'est pas forcément parallélisable, cela dépends du chemin des données; on a donc un petit surcout à l'écriture par rapport à un disque
En RAID5:
En lectures: les lectures sont globalement distribuées sur N-1 disques, donc le débit est augmenté d'autant.
En écriture: L'écriture est complexe: pour écrire un bloc, il faut lire l'ancien bloc de données, écrire le nouveau bloc de données, lire l'ancien bloc de CRC, recalculer le CRC, et écrire le nouveau CRC. Dans le cas où l'on ré-écrit tous les blocs dans le même groupe, on peut calculer le nouveau CRC sans relire l'ancien. Il y a encore d'autres optimisation sur écritures multiples pour réduire les lectures; mais le coût d'une écriture est grosse; nécessite de la mémoire et du temps de calcul.
Pour écrire une donnée, il faut lire deux blocs et en écrire deux.
C'est cette complexité, et les risques de problèmes entre les différentes étapes qui rendent le RAID-5 si fragile.
[^] # Re: Indentation ?
Posté par Sébastien Koechlin . Évalué à 2.
Il y a bien un algo de répartition des lectures sur les deux disques.
Il mémorise la position de la dernière lecture; et envoi la requête vers le disque qui est le plus proche.
L'inconvénient de cette méthode, c'est que si on a plusieurs matrices RAID, la tête de lecture ne va pas forcément rester près du dernier bloc lu.
[^] # Re: Indentation ?
Posté par Kerro . Évalué à 3.
RAID 1: la lecture est distribuée sur tous les disques. C'est très visible avec iostat. En écriture, bien entendu, c'est écrit deux fois.
Il faudrait en théorie lire les deux disques (ou 3 ou 4, etc) et comparer les données afin d'émettre un avertissement en cas de différence. Personne ne le fait à ma connaissance (matériel ou logiciel) vu que ça divise par deux les performances en lecture.
En lecture on est plus rapide que le RAID-0 car les têtes n'ont pas besoin d'être au même endroit (donc on peut lire à des endroits différents en même temps). Ce dernier point est théorique, je n'ai jamais mesuré par rapport à du RAID-0. En écriture, on est moitié moins rapide que du RAID-0 sur de grosses écritures séquentielles. Pour de l'écriture aléaoire, c'est kif-kif (théorique aussi).
RAID 5: La lecture est distribuée sur les disques 1 et 2, puis sur 2 et 3, puis sur 3 et 1, etc. En écriture c'est sur 3 disques.
Donc en lecture séquentielle longue c'est aussi rapide que RAID 1, mais en lecture aléatoire c'est nettement moins rapide car les têtes doivent toutes être à peu près au même endroit. En écriture c'est 50% moins rapide que RAID-1.
En théorie pour la lecture il faurait aussi lire les 3 disques et vérifier que tout concorde. Certaines cartes le font, je ne connais pas les détails. Je ne sais pas si md le fait.
[^] # Re: Indentation ?
Posté par Sébastien Koechlin . Évalué à 2.
Je n'ai pas comparé le RAID 1 au RAID 0, mais à un disque seul:
- le RAID 0 n'est pas du RAID à mes yeux, il n'y a pas de redondance.
- on compare le gain de sécurité et l'impact sur les performances lorsqu'on fait de la redondance par rapport à la solution sans redondance
RAID-5:
En lecture tu pars de l'hypothèse qu'il n'y a que 3 disques; donc les lectures sont réparties sur 2 disques; c'est bien ce que j'ai dis, et ce n'est plus vrai s'il y a plus de 3 disques.
En écriture les performances ne sont pas 50% moins rapide (50% moins rapide = 2 fois plus rapide). Pour toute écriture il est nécessaire de faire deux lecteurs et deux écritures; c'est dont un surcout de 300% (4 fois moins rapide) en ignorant le temps de calcul du CRC. Pour les zones souvent utilisées il y a le cache mémoire qui évite heureusement de faire les lectures; mais sur les données volumineuses comme une bonne base de données ou des fichiers vidéos, c'est très pénalisant. Si le système de fichier est journalisé sur les données en prime, c'est encore +400% d'opérations sur le disque par rapport à l'écriture initiale. N'oublions pas la mise à jour des méta-données (on double encore les IO). (Vous êtes toujours content d'avoir économisé 70 euros ?).
Concernant les vérifications des matrices; ce n'est effectivement pas fait à la lecture; mais il est possible de les vérifier (commande /usr/share/mdadm/checkarray sous debian) sans interrompre le système. De plus en plus de distributions proposent d'automatiser ce test dans la crontab toutes les semaines ou tous les mois.
[^] # Re: Indentation ?
Posté par Kerro . Évalué à 2.
Je crois que tu as des raccourics de pensée qui ne fonctionnent pas.
Je roule moité moins vite (50% moins vite), donc je roule moins vite.
J'ai une réduction de 25% sur ce superbe baril de lessive, donc je l'achète moins cher.
Pour toute écriture il est nécessaire de faire deux lecteurs et deux écritures
J'avais oublié la taille des blocs RAID. :-) Donc oui, c'est encore pire.
Si le système de fichier est journalisé sur les données en prime, c'est encore +400%
Non car si il est journalisé, alors il l'est également dans le système de référence.
Vous êtes toujours content d'avoir économisé 70 euros ?
Je ne comprends pas à quoi se rapporte cette remarque.
[^] # Re: Indentation ?
Posté par Sébastien Koechlin . Évalué à 2.
Ca se rapporte au fait que les gens choisissent généralement du RAID-5 pour économiser quelques euros; rien à voir avec toi.
[^] # Re: Indentation ?
Posté par Kerro . Évalué à 2.
Il y a quelques années, j'avais parlé avec un ami d'un ami (qui connait le concierge de celui qui a vu le cousin de...) qui a débuté dans l'informatique est 1970. Il m'expliquait qu'au moment où RAID 5 est arrivé, tout ceux qui pouvait se l'offrir le faisaient car c'était à l'époque très interessant question prix. Je crois me souvenir qu'il parlait des environs de 1975. L'appelation ne devait pas être RAID, et ça devait plus se rapprocher du RAID 4 que du 5. Peu importe, ça permettait d'avoir de la redondance qui ne gaspille pas autant que les miroirs. C'était l'époque où les disques coûtaient plus que le salaire mensuel d'une petite équipe. Alors qu'aujourd'hui un disque SATA 1 To coûte moins que le salaire (+charges+etc) journalier d'un bon technicien.
[^] # Re: Indentation ?
Posté par benoar . Évalué à 2.
Je compte me monter une bécane dont je compte tirer plusieurs choses au niveau des disques : de bonnes perfs, car pour moi un disque seul limite grandement les perfs, mais aussi un peu de sécurité si un disque clalque. Je sais, on peut pas tout avoir, peut-être que je demande la lune ...
Une question me vient quant au RAID 5, à propos des perfs en écriture : le système est obligé de relire les blocs à l'écriture, pour recalculer le CRC. Mais si la taille d'une stripe est égale à la taille d'une page en mémoire ? Je ne sais pas exactement comment se comporte la lecture d'un disque par rapport à la taille d'une page, mais imaginons que l'OS utilise des stripe de la même taille qu'une page, et qu'on lise à chaque fois tous les disques (-1) lorsqu'on veut lire un bloc ; alors, à l'écriture, aucune lecture n'aura besoin d'être faite, seulement 2 écritures. Par contre, contrairement à ton exemple, je dirais qu'il n'y a presque aucune différence (en dehors du calcul du CRC) qu'avec un seul disque (ou du RAID 1) puisque ces écritures sont réparties sur tous les disques !
Je voulais donc savoir si vous aviez plus d'info sur comment ça se passe, et ce que vous pensez de ma proposition de stripe à 4Ko.
[^] # Re: Indentation ?
Posté par benoar . Évalué à 2.
J'ai oublié de préciser une chose dans mon hypothèse d'une page = une stripe, c'est que l'OS lise la taille d'une page/stripe complète à la fois.
[^] # Re: Indentation ?
Posté par Sébastien Koechlin . Évalué à 2.
Je vois trois inconvénients:
1. Cela est propre au RAID-5: Comme expliqué par Kerro, toutes les têtes de lectures doivent être synchronisées sur le même strip. Le temps d'accès n'est pas amélioré par le nombre de disques contrairement au RAID-1.
2. Les secteurs sur disque font 512 octets, et c'est le seul niveau d'atomicité connu des disques. Les FS manipulent généralement les méta-données par secteur et non par page mémoire, donc ton optimisation ne fonctionnera pas sur les méta-données. Idem pour les journaux à cause de l'atomicité.
3. Pour amélioré les I/O, en ATA on fait des opérations sur plusieurs blocs d'un coup. Les disques permettent généralement de lire 16 secteurs disque d'un coup (8Ko), ce qui permet d'anticiper les demandes (généralement lorsqu'on demande un secteur, on risque de demander le suivant). Avec ton strip de 4Ko, il y a un bloc de 2Ko de CRC pour 4 Ko de données; j'ai peur que rien dans la chaine OS/Controleur/Disque ne soit capable de fusionner les requêtes à cause du trou de 2 Ko; ce qui entrainerait une baisse des performances en lecture.
[^] # Re: Indentation ?
Posté par benoar . Évalué à 2.
Pour les inconvénients :
1) effectivement, les têtes doivent être "synchronisées", mais je ne vois pas en quoi ça change le temps d'accès : c'est équivalent au temps d'accès à un disque, comme partout, non ?
2) oui, c'était la principale question que je me posais : l'OS travaille-t-il par secteur de 512 ou lit-il par 4Ko ? Quand tu mmap un fichier par exemple, tout est fait par page, non ? Par contre, tu as raison, ça va amener des problèmes d'atomicité ...
3) Je ne connaissais pas cette possibilité des disques, même si je supposais qu'il existait un mécanisme du genre. Par contre, de quel "trou" parles-tu ? C'est peut-être du à mon erreur du départ : ça devrait marcher correctement avec un stripe de 8Ko, non ?
Merci pour tes explications.
[^] # Taux de panne RAID
Posté par Kerro . Évalué à 2.
Une fois qu'on a une panne, il faut changer le disque. C'est là qu'intervient le problème. En RAID 1 il ne reste qu'une seule possibilité de panne, alors qu'en RAID 5 c'est le double.
Conclusion: la panne totale est deux fois plus probable en RAID 5.
C'est expliqué mathématiquement sur Wikipédia, je ne sais plus où.
L'étude google sur la fiabilité des disques-durs indique qu'il est fréquent (mais de combien?) que la panne totale arrive avant le changement du disque deffectueux. Je ne sais pas combien de temps ils attendent :-)
Pour ma part, je tente toujours de mettre en RAID 1 des disques qui ne proviennent pas du même lot de fabrication afin d'éviter des pannes rapprochés pour cause de défaut de fabrication. L'idéal serait peut-être de mettre des disques de fabricants différents.
Cela dit, le RAID 5 est plus économique. A l'achat. De quelques euros seulement.
Exemple pour avoir 1 To en SATA:
2 x Hitachi 1 To RAID 1 = 2 x 200 € HT chez LDLC-pro, soit 400 € HT
3 x Hitachi 750 Go RAID 5 = 3 x 117 € HT, soit 351 € HT
Le RAID 5 économise 50 € HT. Le risque vaut-il ce prix ? Ca dépend de l'utilisation. Pour ma part, en tant que particulier, niet, et en tant que responsable informatique d'une PME, non, même sur des petits serveurs de rien du tout.
Le RAID 6 est fait pour contrer cela. Je crois que "RAID 6" n'a pas de signification fixe. Pour moi c'est le principe du RAID 5 avec 5 disques par exemple, et possibilité d'avoir 2 disques en panne.
[^] # Re: Taux de panne RAID
Posté par benoar . Évalué à 2.
Quant au prix, oui, effectivement, ça ne fait pas une différence énorme.
Par contre, je m'intéresse aussi à la place dans un boitier (c'est pour un desktop, pas pour un serveur), la conso électrique, et le bruit ... ce qui fera peut-être la différence entre RAID5 ou 1. Bon, tu va me dire, quand on a déjà 3 disques, un de plus ...
# Et ben !
Posté par wohlgi . Évalué à 1.
Si j'ai bien compris, le volume RAID que j'ai créer dans le bios, je peux le démonter, ça change rien du tout. Je ne comprend vraiment pas l'utilité de ce truc. De plus si le matos et l'os s'occupe de la même tache en même temps, est-ce qu'ils ne se marchent pas un peu sur les burnes réciproquement ?
En tout cas Diskdruid à détecter 2 disques donc l'utilitaire bios ne sert apparemment à rien !
[^] # Re: Et ben !
Posté par Sébastien Koechlin . Évalué à 3.
- Il renseigne l'OS sur la configuration des disques à utiliser; afin que l'OS puisse faire du RAID logiciel avec les bon paramètres.
- Il permet à la ROM x86 mode-réel de la carte contrôleur disque de booter la machine directement sur le RAID.
Pour tout le reste, c'est un pilote logiciel qui fait le travail.
[^] # Re: Et ben !
Posté par benoar . Évalué à 3.
C'est pour ça que je me demande vraiment ce que fait la config de wohlgi, vu que la plupart des BIOS qui font du fakeraid ne sont pas compatibles avec linux, donc je pense que la config du BIOS qu'il a faite ne sert strictement à rien.
[^] # Re: Et ben !
Posté par wohlgi . Évalué à 2.
moi aussi je pense que ça sert à rien. Maintenant que j'ai mis des données sur mon RAID, je ne vais pas tenter de démonter le volume RAID dans le BIOS pour voir si ça marche toujours.
Mais Diskdruid n'a rien vu du tout. Donc l'OS n'était pas renseigné de la présence d'un volume RAID configuré préalablement dans le BIOS.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.