tag:linuxfr.org,2005:/tags/raid/publicLinuxFr.org : les contenus étiquetés avec « raid »2023-09-11T22:21:31+02:00/favicon.pngtag:linuxfr.org,2005:Post/438172023-09-02T12:56:15+02:002023-09-02T13:07:43+02:00Raid 5 avec mdadm, superblock corrompu<p>Bonjour, </p>
<p>J'ai depuis un an monté un serveur nas maison sous ubuntu. Il est équipé de 3 disques de stockages, et le raid 5 est créé via mdadm. <br>
Je suis coincé depuis un mois sur un soucis, et je suis venu à bout de toutes mes idées. </p>
<p>Je n'arrive plus à accéder au système de fichiers. Pourtant mdadm indique que les Superblocks sont persistents, mais quand j'analyse chaque disque, on m'indique que les superblocs sont défectueux et qu'il faut que je trouve un superblock de backup. </p>
<p>Bien évidemment, c'est tombé la semaine où je comptais mettre en place des backups réguliers automatisées des données…</p>
<p>Voici quelques logs que j'ai : </p>
<pre><code> /dev/md127:
Version : 1.2
Creation Time : Fri Jul 14 18:17:04 2023
Raid Level : raid5
Array Size : 7813770240 (7.28 TiB 8.00 TB)
Used Dev Size : 3906885120 (3.64 TiB 4.00 TB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sat Jul 15 05:10:39 2023
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : bitmap
Name : nas-server:127 (local to host nas-server)
UUID : 4314be2b:16313e05:04bfd5d3:a9c0a95c
Events : 7205
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 1 2 active sync /dev/sda1
</code></pre>
<p>Si quelqu'un a une idée, je suis totalement preneur ! </p>
<p>Merci :D</p>
<div><a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/raid-5-avec-mdadm-superblock-corrompu.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133164/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/raid-5-avec-mdadm-superblock-corrompu#comments">ouvrir dans le navigateur</a>
</p>
hadrienhttps://linuxfr.org/nodes/133164/comments.atomtag:linuxfr.org,2005:Bookmark/53612022-11-09T11:19:55+01:002022-11-09T11:19:55+01:00Ça sent le fichier par ici...<a href="https://hashtagueule.fr/posts/ca-sent-le-fichier-par-ici">https://hashtagueule.fr/posts/ca-sent-le-fichier-par-ici</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129241/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/raspbeguy/liens/ca-sent-le-fichier-par-ici#comments">ouvrir dans le navigateur</a>
</p>
raspbeguyhttps://linuxfr.org/nodes/129241/comments.atomtag:linuxfr.org,2005:Diary/401652022-02-24T15:50:32+01:002022-02-24T15:50:32+01:00Baies SATA Thunderbolt 3 sur linux, c'est possible !Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Hello,</p>
<p>Octobre dernier, j'avais posté sur le forum <a href="//linuxfr.org/forums/general-cherche-materiel/posts/baies-sata-thunderbolt-3">une recherche de matériel</a> pour une baie de disques durs SATA se connectant en Thunderbolt 3, afin de pouvoir déménager les disques de mon RAID mdadm dans un nouveau boîtier, en lieu et place de l'immonde vieille tour qui commence sérieusement à fatiguer et qui prend beaucoup de place. L'idée c'était d'exploiter le port Thunderbolt 3 de mon NUC, qui se trouvait alors sans emploi à ce moment. Je voulais également continuer d'utiliser mdadm pour la gestion de mon RAID et donc les solutions de RAID matériel ne m'intéressaient pas.</p>
<p>La seule solution que j'ai trouvé, c'est le <a href="https://www.owcdigital.com/products/thunderbay-4-thunderbolt-3">Thunderbay 4 Thunderbolt 3 de OWC</a>. Problème : le support refuse de s'engager concernant la compatibilité Linux et je n'ai pu trouver aucun retour d'expérience d'un utilisateur ayant testé ce produit sur Linux.</p>
<p>Après étude de tout ce que j'ai pu trouver comme info technique sur ce produit, et comme il était indiqué que l'on pouvait utiliser n'importe quel logiciel de RAID avec ça, j'en ai conclus qu'il y avait de grandes chances que ce boîtier soit bel et bien un simple ensemble de 4 connecteurs SATA et que ces 4 connecteurs allaient être mis gentiment à disposition de l'OS. Tant mieux, c'est pile poil ce que je cherchais. J'ai décidé de tenter le coup. Au mieux j'aurais eu raison et tout fonctionne bien, au pire ça aurait fait un retour d'expérience sur ce produit qui aurait pu servir à d'autres, et j'aurais probablement pu le revendre à un prix intéressant.</p>
<p>J'ai donc économisé ces 4 derniers mois (ça coûte quand même 500€ cette bête-là) et cette semaine j'ai enfin acheté le boîtier. Je l'ai reçu aujourd'hui.</p>
<p>J'ai donc la joie de pouvoir dire que cela fonctionne. Testé avec 2 disques durs de test (pour l'instant les 4 disques de mon RAID sont toujours dans ma vieille tour, je transvaserai au calme et à tête reposée) sur un NUC 7 sous Alpine Linux (si ça marche avec Alpine, je pense que ça ne posera pas de soucis sous Debian ou autres).</p>
<p>Simplement, pour ceux comme moi qui n'ont pas l'habitude des port Thunderbolt, il faut savoir qu'il y a un mécanisme de sécurité faisant en sorte qu'un périphérique Thunderbolt ne peut être utilisé sans que l'OS l'autorise. Il existe au moins deux utilitaires pour donner cette autorisation, <a href="https://github.com/gicmo/bolt">bolt</a> et <a href="https://github.com/intel/thunderbolt-software-user-space">tbt</a>. J'ai utilisé bolt car il est présent dans les dépôts Alpine.</p>
<p>Pour lister les périphériques Thunderbolt :</p>
<pre><code>nuc:~# boltctl list
● Other World Computing ThunderBay 43
├─ type: peripheral
├─ name: ThunderBay 43
├─ vendor: Other World Computing
├─ uuid: 00589891-194b-5a00-ffff-ffffffffffff
├─ generation: Thunderbolt 3
├─ status: connected
│ ├─ domain: ce010000-0090-8d08-a3ba-f61a5ab5c022
│ ├─ rx speed: 40 Gb/s = 2 lanes * 20 Gb/s
│ ├─ tx speed: 40 Gb/s = 2 lanes * 20 Gb/s
│ └─ authflags: none
├─ connected: Thu Feb 24 12:36:32 2022
└─ stored: no
</code></pre>
<p>Notez la ligne <code>status: connected</code>, ce qui signifie que le périphérique n'a pas encore été autorisé. De même, le point <code>●</code> devant le nom du périphérique s'affiche en jaune (la couleur n'est pas rendue dans le texte de cet article). Il vous faut noter l'UUID du périphérique pour la commande suivante.</p>
<p>Pour autoriser :</p>
<pre><code>boltctl authorize 00589891-194b-5a00-ffff-ffffffffffff
</code></pre>
<p>Et pour vérifier :</p>
<pre><code>nuc:~# boltctl list
● Other World Computing ThunderBay 43
├─ type: peripheral
├─ name: ThunderBay 43
├─ vendor: Other World Computing
├─ uuid: 00589891-194b-5a00-ffff-ffffffffffff
├─ generation: Thunderbolt 3
├─ status: authorized
│ ├─ domain: ce010000-0090-8d08-a3ba-f61a5ab5c022
│ ├─ rx speed: 40 Gb/s = 2 lanes * 20 Gb/s
│ ├─ tx speed: 40 Gb/s = 2 lanes * 20 Gb/s
│ └─ authflags: none
├─ authorized: Thu Feb 24 13:04:07 2022
├─ connected: Thu Feb 24 12:36:32 2022
└─ stored: no
</code></pre>
<p>La ligne <code>status: authorized</code> indique que ça a fonctionné, vous pouvez désormais accéder à vos volumes <code>/dev/sd[abcd...]</code> comme n'importe quel volume classique. D'autre part, cette opération n'est à faire qu'une seule fois, le système garde en mémoire les périphériques qu'il a autorisés.</p>
<p>En conclusion, je suis très content de mon achat car il fonctionne sans pilote additionnel. J'espère que cet article servira à d'autre personnes.</p>
<div><a href="https://linuxfr.org/users/raspbeguy/journaux/baies-sata-thunderbolt-3-sur-linux-c-est-possible.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/127014/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/raspbeguy/journaux/baies-sata-thunderbolt-3-sur-linux-c-est-possible#comments">ouvrir dans le navigateur</a>
</p>
raspbeguyhttps://linuxfr.org/nodes/127014/comments.atomtag:linuxfr.org,2005:Post/424682021-10-28T14:41:10+02:002021-10-28T14:41:10+02:00Baies SATA Thunderbolt 3<p>Bonjour à tous,</p>
<p>J'ai un NUC avec port Thunderbolt 3 qui traîne dans un tiroir, je voudrais en faire un NAS. J'ai déjà une matrice RAID 5 sous mdadm sur une machine (qui sera réutilisée pour autre chose).</p>
<p>Je cherche donc un boitier externe SATA avec les contraintes suivantes :</p>
<ul>
<li>Au moins 4 HDD SATA en 3,5 pouces</li>
<li>Connexion Thunderbolt 3</li>
<li>Compatible Linux</li>
<li>Pas de RAID matériel (je veux pouvoir gérer ma matrice RAID existante avec mdadm)</li>
</ul>
<p>Je considère le <a href="https://www.owcdigital.com/products/thunderbay-4-thunderbolt-3">ThunderBay 4 Thunderbolt 3 de OWC</a>. Malheureusement je ne trouve aucun retour de ce matériel sous Linux.</p>
<p>Qu'en pensez-vous ?</p>
<div><a href="https://linuxfr.org/forums/general-cherche-materiel/posts/baies-sata-thunderbolt-3.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/125826/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-cherche-materiel/posts/baies-sata-thunderbolt-3#comments">ouvrir dans le navigateur</a>
</p>
raspbeguyhttps://linuxfr.org/nodes/125826/comments.atomtag:linuxfr.org,2005:Post/424012021-09-22T21:39:17+02:002021-09-22T21:39:17+02:00Mon serveur ne voit pas les disques<p>Bonjour à tou.te.s,</p>
<p>J'ai récupéré un serveur HP Proliant ML 350 G6 équipé d'un HP Smart Array P410i pour la gestion du RAID. Le problème c'est que lorsque j'essaie d'installer Debian 11 par exemple suivant la configuration du BIOS, soit il ne voit pas les disques durs , soit j'obtiens une erreur d'écriture et je dois interrompre l'installation.</p>
<p>Quelqu'un aurait une idée?</p>
<div><a href="https://linuxfr.org/forums/general-general/posts/mon-serveur-ne-voit-pas-les-disques.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/125510/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-general/posts/mon-serveur-ne-voit-pas-les-disques#comments">ouvrir dans le navigateur</a>
</p>
paskalohttps://linuxfr.org/nodes/125510/comments.atomtag:linuxfr.org,2005:Diary/394342020-11-09T19:43:44+01:002020-11-09T19:43:44+01:00Sauvegarde de donnéesLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>'lut nal,</p>
<p>Vous me direz encore un journal sur la sauvegarde de données alors qu'il en existe tant d'autres. Mais il n'est jamais inutile de rappeler à tel point il est utile et nécessaire de ne pas négliger ce point et c'est souvent malheureusement suite à une mauvaise expérience qu'on s'en préoccupe sérieusement, et c'est malheureusement également ce qui m'est arrivé.</p>
<p>Pendant longtemps je me suis cru à l'abri de la perte de mes données perso, depuis des années j'utilise d’un serveur Dell PowerEdge avec RAID matériel acheté d’occasion une poignée de figues sur Ebay (PowerEdge 840 puis T310 actuellement) et je fais des sauvegardes régulières sur disque dur externe USB grâce à un script lancé automatiquement avec l’utilitaire cron. Les données les plus précieuses se retrouvent sur un autre disque externe que je stocke au boulot au cas où la maison parte en fumée. Mon RAID était basé jusqu'à présent sur 4 disques Seagate ST2000DM01 de 2To chacun de 2015. Alors certes, on l'a suffisamment martelé sur ce site le RAID n’est pas assimilable à de la sauvegarde, c’est juste un système de redondance qui dispatche les données sur plusieurs disques pour éviter de tout perdre quand un disque crashe, la tolérance au panne est donc censée être meilleure qu’avec un seul disque.</p>
<p>Il se trouve cependant que j’ai eu au printemps dernier une panne de mon RAID bas bruit, le RAID est passé en mode dégradé avec la perte d’un disque. Puis un second disque du RAID a commandé à défaillir, c’est là que j’ai commencé à m’en rendre compte car j’ai eu un certain nombre d’erreurs système qui remontaient. Il était temps de changer 2 disques de mon RAID, après avoir fonctionné quasiment 24h/24 7j/7 pendant 5 ans, je trouve que c'est une durée de vie plutôt correcte pour des disques bas de gamme. Je les ai remplacés par des Seagate IronWolf de 3To. Mon RAID 5 est donc maintenant constitué de 2 disques Seagate ST2000DM01 de 2015 et de 2 disques Seagate IronWolf de 3To ce qui donne une capacité utile de 5,5To. D’ailleurs il faut sans doute que je songe à changer les deux disques les plus anciens. </p>
<p>Après avoir réinstallé mon RAID avec les nouveaux disques j’ai redescendu la sauvegarde, c’est là que je me suis rendu compte qu’il manquait un paquet de fichiers. Sur le coup je n’ai pas compris car les sauvegardes avaient été régulières, j’ai reconstitué tardivement le fil du drame. Il y a eu donc un crash bas bruit sur le RAID qui a dégradé des données, la sauvegarde s’est faite normalement mais a supprimé les fichiers qui avaient disparu du RAID car corrompus. Mais quel crétin ! Je n’avais pas mis en place un test d’état de santé des disques et du RAID avant de lancer la sauvegarde. Du coup j’ai essayé de récupérer les fichiers supprimés de la sauvegarde avec Photorec, ça m’a pris beaucoup de temps (des mois !) car il y en avait pour des To, mais comme il y a eu plusieurs sauvegardes dans l’intervalle je n’ai récupéré au final que peu de choses. Dans l’histoire, j’ai perdu dans les 400 films et une centaine de vidéos perso :-(</p>
<p>J’ai dû revoir de fond en comble ma pratique de la sauvegarde, mes données principales sont toujours stockées sur le RAID 5 et il existe toujours une sauvegarde journalière sur disque de USB externe. Mais j’ai rajouté des sauvegardes croisées avec d’autres PC que je lance manuellement avec unison au moins une fois par semaine et j’ai rajouté également des tests d’état de santé des disques, dès dégradation des disques les sauvegardes ne sont pas lancées, j’ai mis en place un système de mail automatique journalier qui m’informe de l’état des disques.</p>
<p>L’architecture ressemble maintenant à ça :<br>
<img src="//img.linuxfr.org/img/68747470733a2f2f6f6c69766965722e686f617261752e6f72672f77702d636f6e74656e742f75706c6f6164732f32303230313130382d736368656d612d736175766567617264652e6a7067/20201108-schema-sauvegarde.jpg" alt="Titre de l'image" title="Source : https://olivier.hoarau.org/wp-content/uploads/20201108-schema-sauvegarde.jpg"></p>
<p>Les données principales se trouvent sur le serveur Mana qui dispose d’un RAID 1 avec deux disques SAS de 136Go pour le système et d’un RAID 5 pour les données dans le répertoire data d’un espace utile de 5,5To. Cet espace est copié automatiquement sur un disque externe USB de 4To, il est également copié dans son intégralité vers le disque Germaine de 4To de la station Predator et en partie (hors fichiers multimédia) vers le Thinkpad Tetiaroa. Les deux dernières copies sont manuelles et se font avec unison.</p>
<p>Concernant le script de sauvegarde, dans le répertoire /etc/cron.daily on va trouver le fichier sauvegarde qui contient :</p>
<pre><code>#!/bin/bash
/usr/local/linux/systeme/hwraid-master/wrapper-scripts/megaclisas-status > /tmp/megastatus 2>&1
distant1="/media/sauvegardes"
# test de vérification de la présence du disque de sauvegarde
if [ ! -e "$distant1" ]
then
#le disque n'est pas monté, j'envoie juste le mail d'état du raid et je stoppe le script
cat /tmp/megastatus | mail -s "Etat raid" olivier
exit
fi
#test de l'état de santé du disque dur externe
/usr/sbin/smartctl -a /dev/sdc >> /tmp/megastatus 2>&1
#envoi du mail de l'état des disques de mana
cat /tmp/megastatus | mail -s "Etat disk mana" olivier
# test de l'état du raid
raid=$(MegaCli64 -LDInfo -L1 -a0 | grep State)
if echo $raid | grep Degraded >/dev/null 2>&1
then
exit
fi
#test de l'état du disque dur externe
ddur=$(/usr/sbin/smartctl -A /dev/sdc)
if echo $ddur | grep FAILING_NOW >/dev/null 2>&1
then
exit
fi
/usr/sbin/sauve
</code></pre>
<p>Ce script vérifie la présence du disque dur externe et vérifie son état de santé, ainsi que celui du RAID, il ne va pas plus loin si l’un des deux est dégradé, sinon il lance le script /usr/sbin/sauve qui contient :</p>
<pre><code>#!/bin/bash
# Script sauvegarde rsync https://www.funix.org inspiré par
# celui de Mickaël BONNARD ( https://www.mickaelbonnard.fr )
# sous licence MIT ( http://choosealicense.com/licenses/mit/ )
# Variables
# date et heure
jour=`date +%Y-%B-%d`
# répertoire contenant les logs
log="/var/log/sauvegarde"
# répertoires à sauvegarder
local1="/data"
local2="/home"
local3="/chroot/data"
# point de montage du disque de sauvegarde
distant1="/media/sauvegardes"
distant2="/media/sauvegardes/base-mysql"
# fichiers et répertoires à exclure de la sauvegarde
excludes1="/root/bin/exclude-data.txt"
excludes2="/root/bin/exclude-home.txt"
# nom de la sauvegarde dans le journal
echo "-------------------------------------------------------------" > $log/sauvegarde_$jour.log
echo "Sauvegarde de $local1 , $local2 et `{mathjax} local3 `(date +%d-%B-%Y)" >> $log/sauvegarde_$jour.log
echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log
# heure de début du transfert dans le journal
echo "Heure de demarrage de la sauvegarde : $(date +%H:%M:%S)" >> $log/sauvegarde_$jour.log
echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log
#echo "lancement sauvegarde : $(date +%H:%M:%S)" | mail -s "Lancement sauvegarde" olivier
# transfert des fichiers
echo "Copie de data" >> $log/sauvegarde_$jour.log
rsync -av --stats --delete-after --exclude-from=$excludes1 $local1 $distant1 >> $log/sauvegarde_$jour.log
echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log
echo "Copie de home" >> $log/sauvegarde_$jour.log
rsync -av --stats --delete-after --exclude-from=$excludes2 $local2 $distant1 >> $log/sauvegarde_$jour.log
echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log
echo "Copie de chroot" >> $log/sauvegarde_$jour.log
rsync -av --stats --delete-after $local3 $distant2 >> $log/sauvegarde_$jour.log
echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log
# -a : mode archivage ( équivalent -rlptgoD ).
# -z : compression des données pendant le transfert.
# -- stats donne des informations sur le transfert (nombre de fichiers…).
# --delete-after : supprime les fichiers qui n’existent plus dans la source après le transfert dans le dossier de destination.
status=$?
echo "Statut de la commande " >> $log/sauvegarde_$jour.log
#code d'erreurs rsync
case $status in
0) echo Succès >> $log/sauvegarde_$jour.log;;
1) echo Erreur de syntaxe ou d'utilisation >> $log/sauvegarde_$jour.log;;
2) echo Incompatibilité de protocole >> $log/sauvegarde_$jour.log;;
3) echo Erreurs lors de la sélection des fichiers et des répertoires d'entrée/sortie >> $log/sauvegarde_$jour.log;;
4) echo Action non supportée : une tentative de manipulation de fichiers 64-bits sur une plate-forme qui ne les supporte pas \
; ou une option qui est supportée par le client mais pas par le serveur. >> $log/sauvegarde_$jour.log;;
5) echo Erreur lors du démarrage du protocole client-serveur >> $log/sauvegarde_$jour.log;;
6) echo Démon incapable d'écrire dans le fichier de log >> $log/sauvegarde_$jour.log;;
10) echo Erreur dans la socket E/S >> $log/sauvegarde_$jour.log;;
11) echo Erreur d'E/S fichier >> $log/sauvegarde_$jour.log;;
12) echo Erreur dans le flux de donnée du protocole rsync >> $log/sauvegarde_$jour.log;;
13) echo Erreur avec les diagnostics du programme >> $log/sauvegarde_$jour.log;;
14) echo Erreur dans le code IPC>> $log/sauvegarde_$jour.log;;
20) echo SIGUSR1 ou SIGINT reçu >> $log/sauvegarde_$jour.log;;
21) echo "Une erreur retournée par waitpid()" >> $log/sauvegarde_$jour.log;;
22) echo Erreur lors de l'allocation des tampons de mémoire principaux >> $log/sauvegarde_$jour.log;;
23) echo Transfert partiel du à une erreur >> $log/sauvegarde_$jour.log;;
24) echo Transfert partiel du à la disparition d'un fichier source >> $log/sauvegarde_$jour.log;;
25) echo La limite --max-delete a été atteinte >> $log/sauvegarde_$jour.log;;
30) echo Dépassement du temps d'attente maximal lors d'envoi/réception de données >> $log/sauvegarde_$jour.log;;
35) echo Temps d’attente dépassé en attendant une connection >> $log/sauvegarde_$jour.log;;
255) echo Erreur inexpliquée >> $log/sauvegarde_$jour.log;;
esac
echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log
# heure de fin dans le journal
echo "Jour de fin de sauvegarde : $(date +%d-%B-%Y)" >> $log/sauvegarde_$jour.log
echo "Heure de fin de la sauvegarde : $(date +%H:%M:%S)" >> $log/sauvegarde_$jour.log
echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log
cat $log/sauvegarde_$jour.log | mail -s "Sauvegarde" olivier
exit
</code></pre>
<p>En parallèle sur le serveur mana j’ai activé smartmontools, cet outil embarque le serveur smartd qui monitore les disques durs et envoie des alertes en cas d’erreur. J'ai mis dans le fichier /etc/smartd.conf la ligne :</p>
<pre><code>DEVICESCAN -o on -S on -s (S/../.././01|L/../../1/03) -m olivier -M test
</code></pre>
<p>Cela signifie que tous les disques subiront un test court tous les jours à 1h du matin et un test long les lundis à 3h du matin, en cas d’erreurs rencontrés un mail me sera remonté. </p>
<p>Sur les PC Predator et Tetiaroa ils ne sont pas allumés en permanence, il faut que je pense régulièrement à lancer les commandes de vérification de l’état de santé du disque sur lequel se trouve ma sauvegarde avant chaque lancement d’unison. Je songe à rédiger un script pour vérifier l'état des disques au lancement.</p>
<p>Maintenant j’ai sur les bras un disque externe USB de 1To supplémentaire, un disque dur de 2To inutilisé et bientôt 2 autres disques de 2To après les avoir remplacés dans le RAID 5. Je compte grouper tous ces disques dans un boîtier multi disque USB ou un NAS réseau, je n’ai pas encore fait mon choix, ça me permettra de mettre en place une nouvelle redondance de sauvegarde.</p>
<p>En guise de conclusion et pour en revenir à mes données perdues, je n’ai plus qu’à reconstituer ma collection de films, en partie en récupérant les fichiers enregistrés sur ma box. Pour ce qui concerne mes vidéos perso, fort heureusement une grande partie sont encore sur des bandes miniDV et sur des cassettes VHS, il ne me reste plus qu'à renumériser tout ça.</p>
<p>Je suis preneur de toute remarque sur l'amélioration de ce dispositif.</p>
<div><a href="https://linuxfr.org/users/funix/journaux/sauvegarde-de-donnees.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/122171/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/funix/journaux/sauvegarde-de-donnees#comments">ouvrir dans le navigateur</a>
</p>
Funixhttps://linuxfr.org/nodes/122171/comments.atomtag:linuxfr.org,2005:Post/414102020-09-09T13:52:19+02:002020-09-12T18:21:44+02:00Reshape mdadm très lent de RAID5 de 3 à 4 disques<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<ul>
<li><a href="#toc-mise-%C3%A0-jour-12092020">Mise à jour 12/09/2020</a></li>
</ul>
</li>
</ul>
<p>Hello les moules,</p>
<p>Sur un serveur de récupération que j'utilise depuis quelques mois en homeserver/NAS avec grande satisfaction (<a href="https://www.materiel.net/produit/201202280147.html">HP Microserver N40L</a> équipé d'un CPU AMD Turion et 4 Go de RAM), j'ai ajouté il y a quelques jours le "dernier" disque de la grappe que je souhaitais mettre en place : 4x 4 To en soft-RAID5 afin d'avoir 12 To à peu près sûrs afin d'y stocker des backups, principalement.</p>
<p>La machine tournait avec 3x 4 To en soft-RAID5 depuis plusieurs mois et je n'avais aucun problème de perfs à signaler, bien que je ne lui en demandais pas trop. Je ne sais par contre pas exactement quelles étaient ces perfs précisément en terme de débit sur le périphérique <code>/dev/md0</code>.</p>
<p>Une fois le disque ajouté, j'ai lancé la procédure pour intégrer ce disque à la grappe, et qui s'appelle apparemment le <em>reshape</em>. Aucun problème à signaler, le processus s'est bien lancé.</p>
<p>Mais j'ai été ébaubi par l'estimation du temps restant, directement lié au débit observé : <strong>environ 30 jours</strong>, pour un débit de <strong>1 Mo/s au mieux</strong>.</p>
<p>Voici l'état actuel à ce jour, sachant que j'ai lancé le process dimanche dernier, il y a 3 jours :</p>
<pre><code>Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sdd[4] sda[0] sdc[3] sdb[1]
7813775152 blocks super 1.2 level 5, 8k chunk, algorithm 2 [4/4] [UUUU]
[=>...................] reshape = 6.8% (267783332/3906887576) finish=55060.9min speed=1101K/sec
bitmap: 2/30 pages [8KB], 65536KB chunk
unused devices: <none>
</code></pre>
<p>Et encore là c'est revenu à un débit "presque acceptable" en étant au dessus du Mo/s, car il a passé la journée du lundi à 650 ko/s de moyenne.</p>
<p>J'ai suivi les conseils mentionnés sur <a href="https://superuser.com/questions/1026728/mdadm-reshape-really-slow">cette page</a>, notamment </p>
<ul>
<li><code>/sys/block/*/device/queue_depth</code></li>
<li><code>/sys/block/md0/md/sync_max</code></li>
<li><code>blockdev --setra /dev/md0 65536</code></li>
</ul>
<p>mais sans résultat probant.</p>
<p>J'ai testé la vitesse de lecture avec <code>hdparm -Tt</code> et j'obtiens bien des débits bruts en cache de ~1000 Mo/s et ~100 Mo/s hors-cache.</p>
<p>J'en arrive à la conclusion que le problème vient certainement <strong>de la taille des chunks</strong> qui est de 8 ko ce qui est très petit, et augmente logiquement fortement les I/O.</p>
<p>Cette taille n'était pas un choix éclairé de ma part car je passe (passais) pour la gestion "NAS" du serveur par OpenMediaVault, et j'avais à l'origine créé un RAID1 avec 1 disque (temporaire) qui a ensuite été progressivement évolué vers un RAID1 avec 2 disques, puis un RAID5 avec 3 disques, et enfin aujourd'hui sa configuration finale en RAID5 à 4 disques. Je suppose qu'il aurait été pertinent de modifier la taille des chunks dès le passage au RAID5, et mettre une valeur plus commune comme 128 ou 512 ko.</p>
<p>Qu'en pensez-vous ? Une dernière piste à explorer avant de patienter encore 4 semaines pour retrouver ma grappe finalisée ? :)</p>
<p>Quelques informations complémentaires ci-dessous.</p>
<pre><code># mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Oct 11 18:42:58 2018
Raid Level : raid5
Array Size : 7813775152 (7451.80 GiB 8001.31 GB)
Used Dev Size : 3906887576 (3725.90 GiB 4000.65 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Thu Sep 10 13:30:07 2020
State : active, reshaping
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 8K
Consistency Policy : bitmap
Reshape Status : 9% complete
Delta Devices : 1, (3->4)
Name : sihaya:volume1
UUID : 9e9abda8:006e7462:bd4bde5d:b6401408
Events : 120780
Number Major Minor RaidDevice State
0 8 0 0 active sync /dev/sda
1 8 16 1 active sync /dev/sdb
3 8 32 2 active sync /dev/sdc
4 8 48 3 active sync /dev/sdd
</code></pre>
<pre><code># fdisk -l
Disque /dev/sda : 3,7 TiB, 4000787030016 octets, 7814037168 secteurs
Modèle de disque : WDC WD40EZRZ-00G
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/sdb : 3,7 TiB, 4000787030016 octets, 7814037168 secteurs
Modèle de disque : ST4000DM004-2CV1
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/sdc : 3,7 TiB, 4000787030016 octets, 7814037168 secteurs
Modèle de disque : WDC WD40EZRZ-00G
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/sdd : 3,7 TiB, 4000787030016 octets, 7814037168 secteurs
Modèle de disque : ST4000VX007-2DT1
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
</code></pre>
<pre><code># iostat -k 1 2
Linux 4.19.0-10-amd64 (sihaya) 09/09/2020 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
3,39 1,24 3,66 69,29 0,00 22,42
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 72,17 1488,08 1016,40 414346320 283009386
sdc 92,64 1488,01 1016,33 414326433 282990430
sdb 71,79 1487,77 1016,31 414259612 282983970
sdd 84,82 2,53 987,87 703817 275066004
sde 7,82 12,08 79,95 3363708 22260254
md0 3,26 48,09 57,54 13389093 16020672
avg-cpu: %user %nice %system %iowait %steal %idle
0,51 0,00 7,14 92,35 0,00 0,00
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 65,00 4696,00 1600,00 4696 1600
sdc 78,00 4696,00 1608,00 4696 1608
sdb 61,00 4712,00 1564,00 4712 1564
sdd 73,00 0,00 784,00 0 784
sde 0,00 0,00 0,00 0 0
md0 2,00 8,00 0,00 8 0
</code></pre>
<pre><code># dstat -af
--total-cpu-usage-- --dsk/sda-----dsk/sdb-----dsk/sdc-----dsk/sdd-----dsk/sde-- net/br-866f-net/docker0--net/enp2s0---net/tun0- ---paging-- ---system--
usr sys idl wai stl| read writ: read writ: read writ: read writ: read writ| recv send: recv send: recv send: recv send| in out | int csw
4 8 0 89 0| 0 1712k:4096B 1692k: 0 1708k: 0 1712k: 0 0 | 0 0 : 0 0 : 0 0 : 0 0 | 0 0 |1203 1339
3 4 0 94 0| 0 2052k: 0 2016k: 0 2056k: 0 2052k: 0 36k| 0 0 : 0 0 : 282k 37k: 0 0 | 0 0 |1408 1484
0 2 0 98 0| 0 2336k: 0 2272k: 0 2208k: 0 2336k: 0 0 | 0 0 : 0 0 : 142k 35k: 0 0 | 0 0 | 873 764
2 3 0 95 0| 0 1624k: 0 1688k: 0 1688k: 0 1560k: 0 0 | 0 0 : 0 0 : 133k 14k: 0 0 | 0 0 |1073 1304
3 4 0 94 0| 0 1740k: 0 1744k: 0 1804k: 0 1804k: 0 0 | 0 0 : 0 0 : 129k 24k: 0 0 | 0 0 |1032 997
1 2 0 97 0| 0 1488k: 0 1544k: 0 1484k: 0 1484k: 0 0 | 0 0 : 0 0 : 155k 23k: 0 0 | 0 0 |1056 1132
2 3 0 95 0|4096B 1392k: 0 1332k: 0 1332k: 0 1396k: 0 40k| 0 0 : 0 0 : 137k 15k: 0 0 | 0 0 | 896 833
2 3 0 95 0| 0 1712k: 0 1712k: 0 1708k: 0 1700k: 0 0 | 0 0 : 0 0 : 122k 21k: 0 0 | 0 0 |1373 1375
15 19 0 66 0| 36M 1045k: 36M 1041k: 36M 1029k:8192B 933k: 0 0 | 0 0 : 0 0 : 140k 20k: 0 0 | 0 0 |1911 4876
35 12 0 53 0| 833k 896k: 828k 896k: 828k 896k: 0 952k: 0 56k| 0 0 : 0 0 : 76k 36k: 0 0 | 0 0 |1769 2032
7 10 0 83 0| 772k 856k: 768k 912k: 768k 920k: 0 860k: 0 0 | 0 0 : 0 0 : 247k 31k: 0 0 | 0 0 |1668 2468
4 12 0 84 0| 128k 1744k: 128k 1744k: 128k 1620k: 0 1736k: 0 12k| 0 0 : 0 0 : 121k 29k: 0 0 | 0 0 |
</code></pre>
<h3 id="toc-mise-à-jour-12092020">Mise à jour 12/09/2020</h3>
<p>Après activation du cache writeback sur les disques et un retour à une valeur de NCQ de 32, le débit s'est stabilisé à ~26 Mo/s ce qui a permis de terminer l'opération de reshape en 2 jours seulement. La possibilité de modifier la taille des chunks et la passer à 64 voire 128 ko est encore en étude.</p>
<div><a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/reshape-mdadm-tres-lent-de-raid5-de-3-a-4-disques.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/121544/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/reshape-mdadm-tres-lent-de-raid5-de-3-a-4-disques#comments">ouvrir dans le navigateur</a>
</p>
Nanawelhttps://linuxfr.org/nodes/121544/comments.atomtag:linuxfr.org,2005:Bookmark/12882020-03-26T06:38:54+01:002020-03-26T06:38:54+01:00vos disques HP ont-ils perdu la tête ?<a href="https://www.bleepingcomputer.com/news/hardware/hpe-warns-of-new-bug-that-kills-ssd-drives-after-40-000-hours/">https://www.bleepingcomputer.com/news/hardware/hpe-warns-of-new-bug-that-kills-ssd-drives-after-40-000-hours/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/119781/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/quinton/liens/vos-disques-hp-ont-ils-perdu-la-tete#comments">ouvrir dans le navigateur</a>
</p>
Marc Quintonhttps://linuxfr.org/nodes/119781/comments.atomtag:linuxfr.org,2005:News/392592019-05-24T06:33:07+02:002019-05-24T06:33:07+02:00Gestion de volumes RAID avec LVMLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Vous connaissez déjà LVM, le gestionnaire de volumes logiques qui permet d’agréger et de subdiviser librement vos périphériques de stockage. Eh bien, depuis quelques années, LVM permet également de définir des volumes en RAID.</p>
<h2 id="toc-lvm-et-raid-version-traditionnelle">LVM et RAID, version traditionnelle</h2>
<p>Pour utiliser LVM avec du RAID, on utilise d’habitude LVM et MD, qui est l’implémentation du RAID logiciel de Linux. Pour cela, on les empile :</p>
<ul>
<li>soit en agrégeant ses périphériques de stockage en un volume RAID, qu’on utilise ensuite comme un volume LVM physique : il s’agit de LVM au‐dessus de RAID ;</li>
<li>soit, à l’inverse, ce qui est plus compliqué, en agrégeant en RAID des volumes LVM logiques soigneusement définis : il s’agit donc de RAID par dessus LVM.</li>
</ul>
<h2 id="toc-manque-de-souplesse">Manque de souplesse</h2>
<p>Outre le côté un peu artificiel de cet empilement, cette solution manque de souplesse pour au moins un cas d’usage. En effet, sur un ordinateur disposant de plusieurs périphériques de stockage, on peut vouloir redonder une partie du système de fichiers en RAID, tout en laissant une autre partie sans redondance pour minimiser son utilisation du stockage. Parmi les usages qui ne méritent pas forcément une telle redondance : des films qu’on a par ailleurs sur DVD, les nouvelles Usenet ou encore des caches de divers logiciels.</p>
<p>Bref, ce cas d’usage passe mal. Avec du LVM sur RAID, c’est tout simplement infaisable. On peut toujours partitionner ses périphériques de stockage pour en utiliser une partie en RAID et l’autre sans, mais on retrouve alors un partitionnement statique. Avec du RAID sur LVM, c’est faisable, mais c’est une solution compliquée à gérer.</p>
<p>Cela passe encore plus mal avec GRUB, qui peut ne pas apprécier cet empilement et ne pas réussir à lire le système de fichiers où il doit aller chercher le noyau à démarrer. On se retrouve alors à utiliser une partition statique dédiée à <code>/boot</code>.</p>
</div><ul><li>lien nᵒ 1 : <a title="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/logical_volume_manager_administration/raid_volumes" hreflang="en" href="https://linuxfr.org/redirect/104200">RAID LVM dans la doc Red Hat</a></li><li>lien nᵒ 2 : <a title="https://wiki.gentoo.org/wiki/LVM" hreflang="en" href="https://linuxfr.org/redirect/104201">LVM sur le wiki Gentoo</a></li><li>lien nᵒ 3 : <a title="https://manpages.debian.org/stretch/lvm2/lvmraid.7.en.html" hreflang="en" href="https://linuxfr.org/redirect/104202">Page de manuel de lvmraid(7)</a></li></ul><div><p>Nous en arrivons donc à cette fonctionnalité de RAID intégrée à LVM.</p>
<h2 id="toc-rappel-sur-lvm">Rappel sur LVM</h2>
<p>Avec LVM, on commence par formater ses périphériques de stockage pour en faire des <em>volumes physiques</em> LVM, ou PV pour <em>physical volumes</em> : ce sont des périphériques bloc, visibles dans <code>/dev</code>, qu’on confie simplement à LVM.</p>
<pre><code class="bash"><span class="c1"># J’ai deux périphériques, sda et sdb, avec une première partition</span>
<span class="c1"># système EFI, et une seconde partition avec l’essentiel de l’espace,</span>
<span class="c1"># qui sera utilisé avec LVM</span>
pvcreate /dev/sda2 /dev/sdb2</code></pre>
<p>On agrège ensuite un ou plusieurs volumes physiques pour former un <em>groupe de volumes</em>, ou VG pour <em>volume group</em> : contrairement aux volumes physiques, les groupes de volumes ne sont qu’une abstraction de LVM et n’ont, autant que je sache, pas d’existence dans <code>/dev</code>.</p>
<pre><code class="bash"><span class="c1"># Je donne à mes groupes de volume le même nom que l’ordinateur</span>
vgcreate vg-camembert /dev/sda2 /dev/sdb2</code></pre>
<p>On définit ensuite des <em>volumes logiques</em> ou LV pour <em>logical volumes</em>, qui sont des périphériques bloc émulés par LVM, apparaissant dans <code>/dev</code> et prêts à être formatés et montés pour héberger un système de fichiers.</p>
<pre><code class="bash">lvcreate --size 10G --name root vg-camembert
mkfs.ext4 -L root /dev/vg-camembert/root
lvcreate --size 50G --name home vg-camembert
mkfs.ext4 -L home /dev/vg-camembert/home</code></pre>
<p>Lorsqu’on crée un volume logique, on doit évidemment indiquer dans quel groupe de volumes il sera mis en œuvre, mais on peut également préciser au besoin, sur quel volume physique en particulier – membre de ce groupe de volumes – il sera effectivement stocké. Cette possibilité est déjà utile pour diverses raisons, par exemple si les volumes physiques ont des caractéristiques différentes ; typiquement pour stocker des films sur un gros disque dur lent et son système d’exploitation sur un petit SSD très rapide, le tout sous LVM avec un seul groupe de volumes.</p>
<pre><code class="bash"><span class="c1"># sda est petit et rapide, parfait pour héberger /</span>
lvcreate --size 10G --name root vg-camembert /dev/sda1
<span class="c1"># sdb est gros et moins rapide, ce qui me convient pour /home</span>
lvcreate --size 50G --name home vg-camembert /dev/sdb1</code></pre>
<h2 id="toc-raid-intégré-à-lvm">RAID intégré à LVM</h2>
<p>Au moment de créer un volume logique, on peut donc également indiquer qu’il s’agit d’un volume RAID, en précisant le niveau de RAID et la redondance souhaitée :</p>
<pre><code class="bash"><span class="c1"># Mieux vaut mettre / en RAID1</span>
<span class="c1"># Le --nosync sert à éviter l’inutile synchronisation des données</span>
<span class="c1"># initialement présentes</span>
lvcreate --size 10G --name root --type raid1 --nosync vg-camembert
<span class="c1"># Soyons fous, /home en RAID0</span>
lvcreate --size 50G --name home --type raid0 vg-camembert</code></pre>
<p>On peut aussi convertir un volume logique existant en RAID, ou à l’inverse, convertir un volume logique RAID en classique, c’est‐à‐dire linéaire — c’est leur vrai nom, ce qui peut être utile en vue d’un changement de périphérique par exemple.</p>
<p>La page de manuel de <code>lvmraid(7)</code> donne toute les informations utiles, en particulier les commandes permettant de lancer une procédure de vérification de la correspondance des données dupliquées :</p>
<pre><code class="bash">lvchange --syncaction check vg-camembert/root</code></pre>
<h2 id="toc-avantages">Avantages</h2>
<p>L’utilisation de la fonctionnalité de RAID intégrée à LVM a l’avantage d’être simple à mettre en œuvre, il n’est ainsi plus nécessaire de se demander dans quel ordre empiler LVM et MD, ou comment organiser tout cela : il suffit d’utiliser LVM comme d’habitude, avec quelques options en plus, le fait d’être en RAID ou non étant simplement une caractéristique de chaque volume logique, qui peut même être changée <em>a posteriori</em>.</p>
<p>Les volumes logiques de type RAID sont également pris en charge par GRUB, de sorte qu’il n’est pas nécessaire de mettre en place une partition <code>/boot</code> séparée.</p>
</div><div><a href="https://linuxfr.org/news/gestion-de-volumes-raid-avec-lvm.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/117288/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/gestion-de-volumes-raid-avec-lvm#comments">ouvrir dans le navigateur</a>
</p>
🚲 Tanguy OrtoloDavy DefaudZeroHeurehttps://linuxfr.org/nodes/117288/comments.atomtag:linuxfr.org,2005:Post/401462019-05-20T16:57:19+02:002019-05-20T16:57:19+02:00Partition swap en raid ?<p>Bonjour, <br>
j'arrive sur un PC (Red Hat 6), ou la partition swap est en RAID 1 (miroir) - comme les autres partitions (données et programmes).</p>
<p>Est ce que je peux transformer cette partition RAID en partition "normale" svp ? Comment ?</p>
<p>Merci</p>
<div><a href="https://linuxfr.org/forums/linux-redhat/posts/partition-swap-en-raid.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/117260/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-redhat/posts/partition-swap-en-raid#comments">ouvrir dans le navigateur</a>
</p>
gattalihttps://linuxfr.org/nodes/117260/comments.atomtag:linuxfr.org,2005:WikiPage/3752019-04-27T15:13:37+02:002019-04-27T16:53:16+02:00[Tuto/HowTo] [Debian/Ubuntu] Créer un JBOD (raid0 non strip) avec mdadm<h3 id="toc-installez-les-pré-requis">Installez les pré-requis.</h3>
<ol>
<li><strong>Installation.</strong></li>
</ol>
<pre><code>sudo apt-get install mdadm
</code></pre>
<ol>
<li><strong>Redémarrez la machine.</strong></li>
</ol>
<pre><code>sudo reboot
</code></pre>
<h3 id="toc-préparer-les-disques">Préparer les disques</h3>
<ul>
<li>Vous pouvez préparer les disques sur une autre machine via une GUI.</li>
<li>Si vous passez par une GUI, vous devez juste <a href="https://doc.ubuntu-fr.org/gnome-disk-utility">formater les disques et créer une partition de taille voulue</a> dans un format compatible avec votre système. une fois fait vous pouvez directement passer à la partie “Créer le raid”</li>
</ul>
<h3 id="toc-créer-un-jbod-raid0-non-strip">Créer un JBOD (raid0 non strip).</h3>
<ol>
<li><strong>Lancez la création du raid0.</strong></li>
</ol>
<pre><code>sudo mdadm --create --verbose /dev/md/raid0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
</code></pre>
<ul>
<li>
<strong><em>/dev/md/raid0</em></strong> le disque virtuel que l'on va créer</li>
<li>
<strong><em>–level=0</em></strong> on choisit raid0</li>
<li>
<strong><em>–raid-devices=2</em></strong> le nombre de disque</li>
<li>
<strong><em>/dev/sdb1 /dev/sdc1</em></strong> le path vers les partitions à utiliser pour le raid</li>
</ul>
<ol>
<li><strong>Formatez le raid0.</strong></li>
</ol>
<pre><code>sudo mkfs.ext4 /dev/md/raid0 -m 1
</code></pre>
<ul>
<li>
<strong><em>/dev/raid0</em></strong> le path vers le disque virtuel créé précédemment</li>
<li>
<strong><em>-m 1</em></strong> ? le numero de partition ?</li>
</ul>
<ol>
<li><strong>Créer le point de montage.</strong></li>
</ol>
<pre><code>mkdir /media/raid
</code></pre>
<ul>
<li>
<strong><em>/media/raid</em></strong> le path où vous souhaitez monter votre disque virtuel</li>
</ul>
<ol>
<li><strong>Appliquer les bons propriétaires au point de montage.</strong></li>
</ol>
<pre><code>chown $USER:root /media/raid
</code></pre>
<ul>
<li>
<strong><em>/media/raid</em></strong> le path où vous souhaitez monter votre disque virtuel</li>
</ul>
<ol>
<li><strong>Appliquer les bonnes permissions.</strong></li>
</ol>
<pre><code>chmod 770 /media/raid
</code></pre>
<ul>
<li>
<strong><em>/media/raid</em></strong> le path où vous souhaitez monter votre disque virtuel</li>
</ul>
<ol>
<li><strong>Ajouter au fichier <em>/etc/fstab</em>.</strong></li>
</ol>
<pre><code>/dev/raid0 /media/raid ext4 defaults,nofail,noauto 0 0
</code></pre>
<ul>
<li>
<em><strong>/dev/raid0</strong></em> le path de votre disque virtuel</li>
<li>
<em><strong>/media/raid</strong></em> le path où vous souhaitez monter votre disque virtuel</li>
<li>
<em><strong>defaults,nofail,noauto</strong></em> les options de montage. Vous pouvez retirer noauto si votre raid n'est pas sur des disques externes.</li>
</ul>
<h3 id="toc-montage-du-jbod-mdadm-sur-raspberry-pi-et-autre-nanopc">Montage du JBOD mdadm sur Raspberry pi et autre nanopc.</h3>
<p>Les disques durs externes ont tendance à prendre trop de temps pour démarrer sur raspberry pi. Pour compenser nous allons faire notre propre script de montage.</p>
<ol>
<li><strong>Créez le dossier pour notre script.</strong></li>
</ol>
<pre><code>sudo mkdir /opt/scripts
</code></pre>
<ol>
<li><strong>Créez le script (<em>CTRL+X</em> pour sauver&quitter).</strong></li>
</ol>
<pre><code>sudo nano /opt/scripts/mountMyRaid.sh
</code></pre>
<ol>
<li><strong>Collez le script suivant en l'adaptant a votre config.</strong></li>
</ol>
<pre><code>#!/bin/bash
# WTFPL - code by voxdemonix
# infos at https://wiki.0rion.netlib.re/doku.php?id=tutoriel_fr:tuto_howto_debian_ubuntu_jbod_raid0_avec_mdadm
#on verifie qu'on est bien en root
if [ ! "$SUDO_USER" ]; then
exit 0
fi
sleep 10 # petit délais d'attente afin que les disques soient prêt
mdadm --build /dev/md0 --level=0 --raid-devices=2 /dev/sda1 /dev/sdb1
mount -t ext4 /dev/md0 /media/raidLocal
</code></pre>
<ol>
<li><strong>Ajouter son exécution au boot (<em>CTRL+X</em> pour sauver&quitter).</strong></li>
</ol>
<pre><code>sudo nano /etc/rc.local
</code></pre>
<ol>
<li><strong>Ajoutez la ligne suivante avant <em>exit 0</em>.</strong></li>
</ol>
<pre><code>sudo /opt/scripts/mountMyRaid.sh
</code></pre>
<ol>
<li><strong>Rendez le script exécutable.</strong></li>
</ol>
<pre><code>sudo chmod +x /opt/scripts/mountMyRaid.sh
</code></pre>
<ol>
<li><strong>Accordez le bon propriétaire au script.</strong></li>
</ol>
<pre><code>sudo chown root:root /opt/scripts/mountMyRaid.sh
</code></pre>
<ol>
<li><strong>Testez le script.</strong></li>
</ol>
<pre><code>sudo /opt/scripts/mountMyRaid.sh
</code></pre>
<ol>
<li><strong>S'il fonctionne redémarrez la machine :)</strong></li>
</ol>
<h3 id="toc-foire-aux-questions">Foire Aux Questions</h3>
<h5 id="toc-que-se-passe-t-il-si-un-disque-nest-pas-présent-au-boot">Que se passe-t-il si un disque n'est pas présent au boot ?</h5>
<p>⇒ La partition ne fonctionne pas.</p>
<h5 id="toc-combien-despace-mémoire-aurais-je">Combien d'espace mémoire aurais-je?</h5>
<p>⇒ EspaceDisque1 + EspaceDisque2 + EspacesDisque3 + etc, etc, etc</p>
<h5 id="toc-les-fichiers-sont-ils-découpés-strip-ou-répartis-non-strip">Les fichiers sont-ils découpés (strip) ou répartis (non strip)?</h5>
<p>⇒ Non strip (non découpé) mais en cas de perte d'un disque tout les fichiers sont quand même perdu.</p>
<div><a href="https://linuxfr.org/wiki/tuto-howto-debian-ubuntu-creer-un-jbod-raid0-non-strip-avec-mdadm.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/117070/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/wiki/tuto-howto-debian-ubuntu-creer-un-jbod-raid0-non-strip-avec-mdadm#comments">ouvrir dans le navigateur</a>
</p>
voxdemonixhttps://linuxfr.org/nodes/117070/comments.atomtag:linuxfr.org,2005:WikiPage/3742019-04-27T14:44:55+02:002019-06-26T01:59:49+02:00[Tuto/HowTo] [Debian/Ubuntu] Créer un JBOD (raid0 non strip) avec ZFS<h3 id="toc-introduction">Introduction</h3>
<p>Nous allons ici créer une <a href="https://fr.wikipedia.org/wiki/JBOD">JBOD</a> (concaténation de plusieurs disques) avec <a href="https://fr.wikipedia.org/wiki/ZFS">ZFS</a>.</p>
<h3 id="toc-mise-en-place">Mise en place</h3>
<ol>
<li><strong>Installez les pré-requis.</strong></li>
</ol>
<pre><code>apt install zfsutils-linux zfs-initramfs
</code></pre>
<ol>
<li><strong>Listez vos disques.</strong></li>
</ol>
<pre><code>sudo fdisk -l | grep 'dev' | grep -v 'ram'
</code></pre>
<ol>
<li><strong>Créez votre pool (grappe mémoire).</strong></li>
</ol>
<pre><code>sudo zpool create -f monPoolPerso /dev/sdb /dev/sdc /dev/sdd
</code></pre>
<ul>
<li>
<em>monPoolPerso</em> le nom de votre Pool</li>
<li>
<em>/dev/sdb /dev/sdc /dev/sdd</em> vos disques</li>
</ul>
<ol>
<li><strong>Vérifiez que votre pool a bien été créé.</strong></li>
</ol>
<pre><code>sudo zfs list
</code></pre>
<ol>
<li><strong>Indiquez le point de montage.</strong></li>
</ol>
<pre><code>sudo zfs set mountpoint=/media/monPointDeMontage monPoolPerso
</code></pre>
<ol>
<li><strong>Montez le pool.</strong></li>
</ol>
<pre><code>sudo zfs mount monPoolPerso
</code></pre>
<ol>
<li><strong>Accordez les bons propriétaires à votre point de montage.</strong></li>
</ol>
<pre><code>sudo chown $USER:root -R /media/monPointDeMontage
</code></pre>
<ol>
<li><strong>Accordez les bons droits à votre point de montage.</strong></li>
</ol>
<pre><code>sudo chmod 770 -R /media/monPointDeMontage
</code></pre>
<h3 id="toc-ajouter-à-votre-jbod-un-disque-ou-autre-espace-mémoire">Ajouter à votre JBOD un disque ou autre espace mémoire</h3>
<p><strong>Adaptez la commande suivante en spécifiant le nom du pool et le ou les disques à insérer.</strong></p>
<pre><code>sudo zfs add monPoolPerso /dev/sdx
</code></pre>
<ul>
<li>
<em>monPoolPerso</em> le nom de votre Pool</li>
<li>
<em>/dev/sdx</em> votre ou vos disques</li>
</ul>
<h3 id="toc-farm-link">Farm Link</h3>
<ul>
<li><a href="http://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-114/ZFS-sous-GNU-linux">ZFS sous GNU/linux</a></li>
<li><a href="http://www.fr.sysadmin-cookbook.net/zfs/">sysadmin-cookbook - ZFS</a></li>
<li><a href="https://wiki.archlinux.org/index.php/ZFS_on_FUSE">http://www.fr.sysadmin-cookbook.net/zfs/</a></li>
<li><a href="https://flux.org.uk/tech/2007/03/zfs_tutorial_1.html">ZFS Tutorial Part 1</a></li>
<li><a href="https://fitzberg.ghost.io/zfs-tutorial-part-2/">ZFS Tutorial Part 2</a></li>
</ul>
<div><a href="https://linuxfr.org/wiki/tuto-howto-debian-ubuntu-creer-un-jbod-raid0-non-strip-avec-zfs.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/117068/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/wiki/tuto-howto-debian-ubuntu-creer-un-jbod-raid0-non-strip-avec-zfs#comments">ouvrir dans le navigateur</a>
</p>
voxdemonixhttps://linuxfr.org/nodes/117068/comments.atomtag:linuxfr.org,2005:WikiPage/3682019-02-27T11:39:32+01:002020-07-01T20:40:01+02:00Glusterfs-server Que se passe-t-il en cas de split brain (conflit de fichiers)<h2 id="toc-glusterfs-server-que-se-passe-t-il-en-cas-de-split-brain-conflit-de-fichiers">Glusterfs-server Que se passe-t-il en cas de split brain (conflit de fichiers)</h2>
<p>Attention : cet article est un retour d'expérience.</p>
<h3 id="toc-introduction">Introduction</h3>
<p>Un <a href="https://fr.wikipedia.org/wiki/Split-brain">split brain</a> est une expression indiquant des conflits sur un ou plusieurs fichiers. Ces conflits résultent de modifications sur un même fichier répartis sur plusieurs machines. Les split brain arrivent généralement lorsqu'on utilise deux machines (replica 2) ou que la grappe est réparties de façon homogène sur deux réseaux perturbés par une coupure. Avec glusterfs-server, à part en replica 3 ou en replica 3 arbiter 1 pour ceux chez qui il fonctionne, vous tomberez tôt ou tard sur un split brain. </p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696b692e3072696f6e2e6e65746c69622e72652f6c69622f6578652f66657463682e7068703f6d656469613d646f63756d656e746174696f6e5f66723a73637265656e73686f742d323031375f31315f32322d676c757374657266732d7365727665725f73706c69745f627261696e5f72657061726174696f6e5f64656d6f2e706e67/fetch.php?media=documentation_fr:screenshot-2017_11_22-glusterfs-server_split_brain_reparation_demo.png" alt="screenshot-2017_11_22-glusterfs-server_split_brain_reparation_demo" title="Source : https://wiki.0rion.netlib.re/lib/exe/fetch.php?media=documentation_fr:screenshot-2017_11_22-glusterfs-server_split_brain_reparation_demo.png"><br>
<img src="//img.linuxfr.org/img/68747470733a2f2f77696b692e3072696f6e2e6e65746c69622e72652f6c69622f6578652f66657463682e7068703f6d656469613d646f63756d656e746174696f6e5f66723a73637265656e73686f742d323031375f31315f32332d6e657874636c6f75645f6c6f672d73706c69745f6261696e5f676c757374657266732e706e67/fetch.php?media=documentation_fr:screenshot-2017_11_23-nextcloud_log-split_bain_glusterfs.png" alt="screenshot-2017_11_23-nextcloud_log-split_bain_glusterfs" title="Source : https://wiki.0rion.netlib.re/lib/exe/fetch.php?media=documentation_fr:screenshot-2017_11_23-nextcloud_log-split_bain_glusterfs.png"></p>
<h3 id="toc-réparation">Réparation</h3>
<p>NB : Lors de mon essai, après avoir fixé le split brain sur un replica 2, glusterfs-server a commencé à planter plein tube (l'autre machine la voit connecté, mais elle est incapable d'accomplir un “gluster peer status” sans renvoyer “peer status: failed” et ce jusqu'à avoir ré-installé glusterfs-server sur la dite machine et surtout <a href="//linuxfr.org/wiki/tuto-howto-ubuntu-debian-chiffrer-ses-volumes-glusterfs">reforgé complètement les clés TLS</a>). Le lendemain le volume a split brain à nouveau et les commandes indiquées ci-bas n'ont menées à RIEN. Si vous le pouvez, n'utilisez pas glusterfs-server.</p>
<ol>
<li>
<strong>Lancez la fonction heal sur votre volume.</strong> (qui sert à ???)</li>
</ol>
<pre><code>gluster volume heal nomVolume
</code></pre>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f77696b692e3072696f6e2e6e65746c69622e72652f6c69622f6578652f66657463682e7068703f6d656469613d646f63756d656e746174696f6e5f66723a73637265656e73686f742d323031375f31315f32332d676c757374657266732d7365727665725f637261705f736f6674776172655f6275675f647572696e675f6865616c5f73706c69745f627261696e2e706e67/fetch.php?media=documentation_fr:screenshot-2017_11_23-glusterfs-server_crap_software_bug_during_heal_split_brain.png" alt="screenshot-2017_11_23-glusterfs-server_crap_software_bug_during_heal_split_brain" title="Source : https://wiki.0rion.netlib.re/lib/exe/fetch.php?media=documentation_fr:screenshot-2017_11_23-glusterfs-server_crap_software_bug_during_heal_split_brain.png"></p>
<ol>
<li><strong>Lancez la commande ls -R pour afficher les fichiers éventuellement “cassé”.</strong></li>
</ol>
<pre><code>ls -R /media/partitionGluster/
</code></pre>
<ol>
<li><strong>Démontez votre volume.</strong></li>
</ol>
<pre><code>umount /media/partitionGluster/
</code></pre>
<ol>
<li><strong>Affichez les éléments.</strong></li>
</ol>
<pre><code>getfattr -d -m . -e hex /media/chemin/nomVolume
</code></pre>
<ol>
<li><strong>Forcez la valeur d'un attribut.</strong></li>
</ol>
<pre><code>setfattr -n nom_attribut -v valeur_de_lattribut /media/chemin/nomVolume
</code></pre>
<ol>
<li><strong>Re-montez votre volume.</strong></li>
</ol>
<pre><code>mount /media/partitionGluster/
</code></pre>
<ol>
<li><strong>Affichez son contenu pour déclencher automatiquement la fonction heal de glusterfs. (à vérifier ;) )</strong></li>
</ol>
<pre><code>ls -l /media/partitionGluster/
</code></pre>
<h3 id="toc-retour-dexpérience-et-anecdotes">Retour d'expérience et anecdotes</h3>
<p>Pour une raison obscure, la réparation a provoqué l'expiration des clés TLS, j'ai donc dû les reforger.</p>
<p>J'ai aussi du retirer de la grappe une machine accessible en WAN car, bien que cette dernière ne fasse pas partie du raid, la fonction heal ne fonctionnait pas a cause d'un commit qui ne se transmettait pas.</p>
<p>Nextcloud ne fonctionnait plus du tout sauf sur un nom de domaine où, pour une raison obscure, on pouvait encore se connecter à la WEBUI sauf si on avait tenté de se connecter depuis les autres hostname (dans quel cas il fallait supprimer ses cookies avant de ré-essayer). Les montages davfs2 et les clients de synchronisation continuait de fonctionner et ce malgré que les comptes ne pouvaient plus se connecter à la WEBUI.</p>
<p>Nextcloud a enchaîné plein de bug assez surprenant ainsi que des lags bien relou.</p>
<h3 id="toc-farm-link">Farm Link</h3>
<ul>
<li><a href="https://github.com/gluster/glusterfs/blob/master/doc/debugging/split-brain.md">Steps to recover from File split-brain.</a></li>
<li>
<a href="http://pjpxyxbxckp3hac6ogzwuqpwqrqex2emsn6b2fizn2hqqf5zhjoqi7ad.onion/doku.php?id=documentation_fr:glusterfs_server_que_se_passe_il_en_cas_de_split_brain_conflit_fichiers">0rion - Glusterfs-server Que se passe-t-il en cas de split brain (conflit de fichiers)</a> (article d'origine)</li>
</ul>
<div><a href="https://linuxfr.org/wiki/glusterfs-server-que-se-passe-t-il-en-cas-de-split-brain-conflit-de-fichiers.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/116534/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/wiki/glusterfs-server-que-se-passe-t-il-en-cas-de-split-brain-conflit-de-fichiers#comments">ouvrir dans le navigateur</a>
</p>
voxdemonixhttps://linuxfr.org/nodes/116534/comments.atomtag:linuxfr.org,2005:Post/396732018-11-27T09:44:24+01:002018-11-27T09:44:24+01:00Demande de conseil proxmox<p>Bonjour,<br>
dans un cluster de proxmox que j'administre je vais devoir ajouter 3 serveurs physique.<br>
Ces serveurs seront dédié à l'hébergement des vm du futur erp.</p>
<p>Ce sont des ciscos avec carte raid matériel.<br>
Actuellement les serveurs actuel sont sauf pour un du lvm-thin sur carte raid matériel (pour des raisons historiques).</p>
<p>Sur mon cluster de sauvegarde j'avais mis du zfs sur des cartes raid en passthru et ça avait mal fini, donc j'avais du remettre du lvm.</p>
<p>Par contre j'aime bien le zfs, sur mon activité indépendantes (je suis à 20% indépendant) j'ai des serveurs en zfs et les snapshot via ssh c'est une tuerie.</p>
<p>Donc est t'il fiable par exemple de faire dans le raid un array dédié au vm et que sur ce array d'y mettre un pool zfs dessus (comme si on mettait du zfs sur un seul disque) ?</p>
<p>Ou est ce que c'est trop dangereux et que vous me conseiller de le mettre sur du lvm ?</p>
<p>Je vous remercie d'avance</p>
<p>P.S j'ai pas le droit de modifier les serveurs physiquement</p>
<div><a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/demande-de-conseil-proxmox.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/115826/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/demande-de-conseil-proxmox#comments">ouvrir dans le navigateur</a>
</p>
Ecran Plathttps://linuxfr.org/nodes/115826/comments.atomtag:linuxfr.org,2005:Post/394192018-08-10T11:31:12+02:002018-08-10T11:31:12+02:00Agrandir un raid sans LVM<p>Bonjour à toute et à tous,</p>
<p>Ma situation: un NAS avec un disque systeme et 3 disques de 4To en raid 5 software (md0), <strong>pas de LVM</strong>, le tout sous Debian stable. Le raid contient des données (environ 5 To).</p>
<p>Je souhaiterai pouvoir ajouter 2 disques de 4To au raid sans perdre de donner…</p>
<p>Mes questions:<br>
- Puis je ajouter les disques un à un, sans LVM:<br>
1er disque<br>
mdadm --add puis mdadm --grow pour le 1er disque<br>
puis resize2fs<br>
Recommencer pour le 2e disque</p>
<p>Est ce la bonne méthode sans LVM (sans perdre les données)</p>
<ul>
<li>Si je DOIS passer par lvm (ma 1ere idée n'est peut etre pas réalisable) je ne vois qu'un solution:
copier les données du raid vers les 2 nouveaux disques
refaire un raid + lvm avec les 3 disques
recopier les données des 2 nouveaux disques vers le nouveau raid LVM (3 disques)
Ajouter un a un les 2 nouveaux disques au raid LVM, sachant que la seule difference avec la version précédente sera une étape pour agrandir LVM avant le resizefs.
Ai je bon ? </li>
</ul>
<p>Lors de la mise en place de mon raid, j'ai regardé LVM (tout le monde disait qu'un bon raid c est mdadm + lvm) mais je n'en ai tiré qu'il ne créait qu'un couche logiciel intermédiaire servant surtout à faire du resizing de partition plus facilement. <br>
Mais dans mon cas je n'ai qu'une partition dans mon raid (md0) et Je ne vois pas d'autre utilité à LVM. Je me trompe peut etre ? </p>
<p>Mon inquiétude porte principalement sur le fait de ne pas perdre les 6 To de film de données que j'ai…</p>
<p>Merci à celles et à ceux qui me répondront</p>
<p>+++<br>
Bon vendredi</p>
<div><a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/agrandir-un-raid-sans-lvm.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/115065/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/agrandir-un-raid-sans-lvm#comments">ouvrir dans le navigateur</a>
</p>
snurpssshttps://linuxfr.org/nodes/115065/comments.atom