December 18, 20241 yr Bonjour, Tout d'abord un petit aperçu du matériel sur lequel j'ai installé unraid : - Carte Mère asus p8h77-m-pro - Processeur Intel i7-3770T 4 cœurs 8 threads 45 W TDP - 4x8 Go de Ram DDR3-1600mhz non ECC (évidemment vu la carte) - Carte HBA/SAS 8 ports SATA mode IT - 6x1To SSD sata 6 Array + 2x512Mo SSD sata 6 sur la carte HBA/SAS, il me reste 6 ports SATA sur la carte mère donc. - Unraid à jour. Bien que j'ai confiance dans les SSD, je me suis dit pourquoi ne pas ajouter un disque de parité. Pour cela, j'ai installé un disque dur 1To Toshiba à plateaux sur la port SATA1 de la carte mère et il a été reconnu comme dev1 par unraid, puis je l'ai assigné au disk 1 de parité. Pour le principe (peut-être inutile mais bon) j'ai procédé à un preclear de ce disque avant (comme ce n'est pas un SSD je n'y ai pas vu de contre-indications à le faire). Mais je ne peux redémarrer l'array car j'ai un message d'erreur "Disk in parity slot is not biggest". Tous les disques sont de même taille si j'en crois les caractéristiques remontées par unraid (j'ai pu les chiffres en tête), alors pourquoi je ne peux assigner ce disque dur comme disque de parité ? Est ce que si je passe à une array en disques durs à plateaux de même capacité (vieux DD de 1 To en parfait état) je n'aurais plus ce problème ? Car, bien que ce ne soit pas des données supers importantes, autant essayer de ne pas les perdre. Edited December 18, 20241 yr by Berlinois
December 18, 20241 yr Salut, la première chose qui m'a sauté aux yeux c'est que tu utilises des SSD dans l'array. La doc a évoluée passant de "déconseillé" à "expérimental" sur cette question donc du moment que tu l'as fais en connaissance de causes ça va: Il y a deux "zones" de stockage dans unRAID: l'array et les pools L'array est donc la grappe de disques dont son existence est vouée au stockage à long terme. Cet array peut bénéficier d'une tolérance à la panne de un disk si tu y adjoins un disk de parité et de deux disks si tu en mets 2 en parité. En toute logique si tu mets en place une parité c'est que tu as un disk en spare disponible dans un tiroir dans l'éventualité où un des disks de l'array tombe en panne. Dans ce cas là le retour en fonctionnement, la durée de la panne, peut se réduire au changement de disk et la remise en place des données dans ce dernier grâce à la parité. La tolérance à la panne n'est pas une sauvegarde et ne doit pas être considérée comme telle, les sauvegardes du contenu important doivent tout de même être faites à coté. Ceci étant fixé il faut comprendre comment fonctionne la parité pour comprendre les contraintes liées. Pour chacun des disk présents dans l'array il est lu progressivement un secteur (une petite zone physique du disque) à la fois et il en est déduit un octet écrit au même endroit physique dans la parité. Le dernier octet lu est donc le dernier octet du disk le plus gros dans l'array et sa position doit pouvoir être écrite dans la parité. C'est pour cela que le disk de parité doit être au moins aussi gros que le plus gros des disques de l'array donc. Sur cette capture il faut donc que le disque de parité soit aussi gros que le Disk 1. Les secteurs de la parité sont déduit en prenant en compte le secteur au même endroit sur les autres disques. Et ça avance de secteur en secteur, à un moment il n'y a que dans le Disk 1 qu'il reste des secteurs donc au même endroit de la parité il en est déduit la même chose. La parité est terminé lorsque le dernier secteur du disk le plus grand a été traité. Donc si la parité fait le double du disk le plus gros de l'array et bien le disk de parité ne sera remplis qu'à moitié. Une autre contrainte liée à la parité est que pour chaque écriture dans un des disks de l'array il y à son interprétation déduite écrite dans la parité ce qui ralentis les débits. ------------------------------- Dans ton cas le disk que tu veux ajouter en parité, si tu en as bien un autre en spare pour réagir à la tolérance à la panne que cela apporte, doit être légèrement plus petits que le plus gros de l'array. Même pour quelques Mo de moins ça reste donc mathématiquement pas possible de le mettre en parité cf ce qui est indiqué juste avant. ------------------------------- Les pools sont quand à eux des espaces de stockage disponibles là où la "rapidité" est un critère important. Les pools sont initialement là où l'on mettait donc les SSD/NVME soit pour en faire une zone "tampon" (anciennement nommé cache) qui se vidait vers l'array à intervalles réguliers grâce au "mover", soit comme espace de stockage à long termes pour par exemple les SHARES appdata/, system/ et domains/ qui par défaut hébergent respectivement: - les dossiers persistants des containers docker - les images disques docker et libvirt - les vdisks des VM. Les sauvegardes de ton contenu le plus important ne doit pas être négligé ni même laissé à la parité cette tâche. Tu dois en mettre en place de toutes façons si tu veux sécuriser ton contenu le plus important. Edited December 18, 20241 yr by waazaa
December 19, 20241 yr Author 23 hours ago, waazaa said: Salut, la première chose qui m'a sauté aux yeux c'est que tu utilises des SSD dans l'array. La doc a évoluée passant de "déconseillé" à "expérimental" sur cette question donc du moment que tu l'as fais en connaissance de causes ça va: Salut, Oui, je sais qu'il est peu recommandé d'utiliser des SSD pour l'array, mais pour le moment j'essaie de comprendre le fonctionnement et je n'ai pas de problèmes avec l'array (je n'ai rien perdu, cela va vite, etc..) sans compter que je n'ai rien de suffisamment important dessus. 23 hours ago, waazaa said: La tolérance à la panne n'est pas une sauvegarde et ne doit pas être considérée comme telle, les sauvegardes du contenu important doivent tout de même être faites à coté. Je sais bien, mais c'est quand même une protection offerte. 23 hours ago, waazaa said: Sur cette capture il faut donc que le disque de parité soit aussi gros que le Disk 1. C'est le cas, le disque que je voulais utiliser en disque de parité à la taille exacte de tous les autres disques et donc du disk 1. Quand je fais un fdisk -l tous les disques ont la même taille en octet, disque que je veux utiliser comme disque de parité inclus. La seule différence visible, c'est que tous les disques SSD ont un début à 2048 alors que le disque voulu pour la parité a un début à 64. J'ai également lu quelque chose à propos du HPA, mais il n'est activé sur aucun des disques. Je reviendrai ce soir avec des logs et autres, j'ai peut-être loupé quelque chose ou pas compris (ce qui est surement le cas). Edited December 19, 20241 yr by Berlinois
December 19, 20241 yr Chez moi les disques qui ont un start sur 2048 ont un système de fichiers en zfs, ceux qui ont un start à 64 sont en xfs. Il y a donc des différences entre les systèmes de fichiers. Ça doit se jouer à pas grand chose. Je lance une idée comme ça: Si tes autres SSD dans l'array tu leur as mis un système de fichier zfs essayes de placer le 1To que tu veux ajouter en pool en système de fichier zfs jusqu'à aller à le formater quand demandé. Puis dans un second temps modifie la config pour le retirer d'un pool et le mettre en parité. Ce n'est qu'une idée. Ou alors tu vires les partitions du 1To avant insertion. Edited December 19, 20241 yr by waazaa
December 19, 20241 yr Author Solution 5 hours ago, waazaa said: Chez moi les disques qui ont un start sur 2048 ont un système de fichiers en zfs, ceux qui ont un start à 64 sont en xfs. Il y a donc des différences entre les systèmes de fichiers. Ça doit se jouer à pas grand chose. Je lance une idée comme ça: .... Ou alors tu vires les partitions du 1To avant insertion. Ils sont tous en xfs, mais j'ai lu qu'unraid faisait partir le système de fichier en position 2048 pour les ssd. Et de toute façon, si je trouve pas, je réinitialise le tout effectivement. EDIT : Finalement je pense que je vais tout simplement acheter des disques durs pour remplacer les SSD. Merci pour les réponses. Edited December 19, 20241 yr by Berlinois
December 22, 20241 yr Community Expert On 12/19/2024 at 11:24 AM, waazaa said: Chez moi les disques qui ont un start sur 2048 ont un système de fichiers en zfs, ceux qui ont un start à 64 sont en xfs. Il y a donc des différences entre les systèmes de fichiers. Heuuu je viens de découvrir un truc, que d'ailleurs je ne comprends pas trop : qu'est-ce que c'est que ce "start" et quelle est son importance ? Merci
December 23, 20241 yr Un disque pouvant contenir plusieurs partitions une partition a un début et une fin.
December 28, 20241 yr Community Expert Oui, mais quelle est l'incidence des endroits des start et comment regler ca ? Je ne vois pas trop le porblème sur unraid qui formate lui même le disque. Et je ne dois pas etre le seul Merci.
December 28, 20241 yr Il n'y aucun problème ce n'est surement pas unraid mais le formatage qui fait cela. On discutait autour de la parité qui reconstruit chaque secteur déduit des disks de l'array en un secteur coté disk de parité. Le soucis initial étant que le disk de parité faisant la même "taille" que le plus gros disk de l'array il aurait dû être accepté en parité mais il est considéré plus petit. Cette histoire de nombres de secteurs pourrait expliquer pourquoi il est rejeté alors que même "taille". C'était pure spéculation.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.