J'ai 36 * 4 To HDD SAN Rack. Le contrôleur RAID ne prend pas en charge RAID60 et pas plus de 16 disques durs dans un groupe RAID. J'ai donc décidé de faire 2 groupes RAID6 de 16HDD ou 4 de 8 HDD. Je veux obtenir tout le stockage en une seule partition.
Alors, qu'est-ce qui pourrait mal tourner si j'utilise le pool zfs au-dessus du matériel RAID6? Oui, je sais qu'il est fortement recommandé d'utiliser des disques durs natifs ou un mode passe-système. Mais je n'ai pas cette option.
Ou dois-je rester à l'écart de ZFS et des raids logiciels dans cette situation? (Je suis surtout intéressé par la compression et les instantanés)
storage
zfs
storage-area-network
hardware-raid
Severgun
la source
la source
Réponses:
J'ai donc décidé de faire 2 groupes RAID6 de 16HDD ou 4 de 8 HDD.
Ce n'est pas la meilleure façon de faire les choses. Cela peut fonctionner assez bien, mais en fonction de vos exigences de performances, il se peut que cela ne fonctionne pas.
La taille idéale pour une matrice RAID5 / 6 sera telle qu'un multiple exact de la quantité de données qui "s'étend" la matrice correspond à la taille de bloc du système de fichiers construit au-dessus.
Les baies RAID5 / 6 fonctionnent comme des unités de blocs - un seul bloc de données s'étend sur les disques de la baie, et ce bloc contient également des données de parité. La plupart des contrôleurs RAID écrivent un bloc de données d'une puissance de deux sur chaque disque de la matrice - dont la valeur exacte est configurable dans de meilleurs systèmes RAID - et votre unité Dot Hill est l'un de ces "meilleurs systèmes RAID". C'est important.
Il faut donc N x (quantité de données stockées par bloc de disque) pour s'étendre sur la baie, où N est le nombre de disques de données. Une matrice RAID5 à 5 disques possède 4 disques de «données» et une matrice RAID6 à 10 disques a 8 disques de données.
Parce que lorsque les données sont écrites sur une matrice RAID5 / 6, si le bloc de données est tel qu'il est suffisamment grand pour s'étendre à l'ensemble de la matrice, la parité est calculée pour ces données - généralement dans la mémoire du contrôleur - alors toute la bande est écrite dans disque. Simple et rapide.
Mais si le bloc de données en cours d'écriture n'est pas assez grand pour s'étendre à l'ensemble de la baie, que doit faire le contrôleur RAID pour calculer les nouvelles données de parité? Pensez-y - il a besoin de toutes les données de toute la bande pour recalculer les nouvelles données de parité.
Donc, si vous créez une matrice RAID6 à 16 disques avec le bloc par disque par défaut de 512 Ko, cela signifie qu'il faut 7 Mo pour "étendre" la matrice.
ZFS fonctionne généralement en blocs de 128 Ko.
ZFS écrit donc un bloc de 128 Ko - dans une matrice RAID6 à 16 disques. Dans la configuration que vous proposez, cela signifie que le contrôleur RAID doit lire près de 7 Mo à partir de la baie et recalculer la parité sur ces 7 Mo. Réécrivez ensuite l'intégralité de ces 7 Mo sur le disque.
Si vous êtes chanceux, tout est dans le cache et vous ne prenez pas un énorme coup de performance. (C'est une des principales raisons pour lesquelles la position "ne pas utiliser RAID5 / 6" a un tel suivi - RAID1 [0] n'en souffre pas.)
Si vous n'avez pas de chance et que vous n'avez pas correctement aligné vos partitions de système de fichiers, ce bloc de 128 Ko s'étend sur deux bandes RAID qui ne sont pas dans le cache, et le contrôleur doit lire 14 Mo, recalculer la parité, puis écrire 14 Mo. Tout pour écrire un bloc de 128 Ko.
Maintenant, c'est ce qui doit se passer logiquement . Il existe de nombreuses optimisations que de bons contrôleurs RAID peuvent prendre pour réduire les E / S et la charge de calcul de ces modèles d'E / S, donc ce n'est peut- être pas si mal.
Mais sous une lourde charge d'écriture de blocs de 128 Ko dans des emplacements aléatoires, il y a de très bonnes chances que les performances d'une matrice RAID6 à 16 disques avec une taille de bande de 7 Mo soient absolument terribles.
Pour ZFS, les LUN RAID5 / 6 sous-jacents "idéaux" pour un système de fichiers à usage général où la plupart des accès sont effectivement aléatoires auraient une taille de bande qui est un diviseur pair de 128 Ko, comme 32 Ko, 64 Ko ou 128 Ko. Dans ce cas, cela limite le nombre de disques de données dans une matrice RAID5 / 6 à 1 (ce qui est absurde - même si cela est possible à configurer, il est préférable d'utiliser simplement RAID1 [0]), 2, 4 ou 8. Meilleures performances dans le meilleur des cas, il faudrait utiliser une taille de bande de 128 Ko pour les matrices RAID5 / 6, mais le meilleur des cas ne se produit pas souvent dans les systèmes de fichiers à usage général - souvent parce que les systèmes de fichiers ne stockent pas les métadonnées de la même manière qu'elles stocker les données du fichier.
Je recommanderais de configurer des matrices RAID5 à 5 disques ou des matrices RAID6 à 10 disques, avec la taille de bloc par disque définie suffisamment petite pour que la quantité de données pour couvrir une bande de matrice entière soit de 64 Ko (oui, je l'ai fait avant pour ZFS - plusieurs fois). Cela signifie que pour une matrice RAID avec 4 disques de données, la taille de bloc par disque doit être de 16 Ko, tandis que pour une matrice RAID à 8 disques de données, la taille de bloc par disque doit être de 8 Ko.
Ensuite ZFS permettent d'utiliser l' ensemble de tableau - ne pas partitionner. ZFS s'alignera correctement sur un lecteur entier, qu'il s'agisse d'un simple disque unique ou d'une matrice RAID présentée par un contrôleur RAID.
Dans ce cas, et sans connaître votre espace exact et vos exigences de performances, je vous recommande de configurer trois baies RAID6 à 10 disques ou six baies RAID5 à 5 disques avec une taille de bande de 64 Ko, de configurer quelques disques de rechange et d'enregistrer quatre de vos disques pour tout ce qui arrivera à l'avenir. Parce que quelque chose le fera.
Je n'utiliserais certainement pas ce système de disques en mode JBOD - c'est un appareil entièrement conforme au niveau 3 de NEBS qui offre des protections de fiabilité et de disponibilité importantes intégrées directement dans le matériel. Ne jetez pas ça juste parce que "ZFS !!!!". S'il s'agit d'un matériel bon marché que vous assemblez à partir de pièces? Oui, le mode JBOD avec ZFS gérant le RAID est le meilleur - mais ce n'est PAS le matériel dont vous disposez. UTILISEZ les fonctionnalités fournies par le matériel.
la source
D'accord, je vais mordre ...
Il s'agit du mauvais matériel pour l'application. La configuration DotHill présente les mêmes limites qu'un HP StorageWorks MSA2000 / P2000 en ce que seuls 16 disques peuvent être utilisés dans un seul groupe de baies.
ZFS au-dessus du RAID matériel ou d'un SAN LUN exporté n'est pas nécessairement un problème.
Cependant, le fait de répartir les LUN ZFS sur des interconnexions inconnues sur un châssis d'extension peut présenter certains risques.
Sérieusement, il peut être utile d'évaluer si vous avez besoin de tout ce stockage dans un seul espace de noms ...
Si vous avez besoin de ce type de capacité dans un seul montage, vous devez utiliser un boîtier JBOD dédié HBA et éventuellement plusieurs unités de tête avec un câblage élastique et une configuration plus intelligente.
la source
Vous devez attacher DIRECTEMENT tous les lecteurs à une boîte exécutant ZFS. Procurez-vous un HBA SAS et connectez les disques au boîtier compatible ZFS (par exemple, en exécutant OmniOS ou SmartOS). Vous pouvez ensuite partager l'espace via NFS, SMB, iScsi ...
la source
La raison pour laquelle ZFS au-dessus des volumes logiques HW RAID est une idée TRÈS MAUVAISE , parce que ZFS nécessite un accès au niveau du bloc pour fonctionner correctement. Oui, il sera utilisable, mais la fonctionnalité ne sera pas complète jusqu'à ce que vous connectiez les disques directement au système d'exploitation via un HBA ou des connexions SATA directes. Un exemple est que dans la configuration que vous proposez, ZFS ne peut pas raisonnablement protéger vos données contre les modifications des données ci-dessous (de l'autre côté du contrôleur HW RAID), et en tant que tel ne peut pas garantir la sécurité de vos données . C'est l'une des principales raisons pour lesquelles ZFS est utilisé, en plus d'être très rapide.
ZFS est une technologie géniale, et je la recommande vivement. Mais vous devrez revoir votre structure ici afin de pouvoir l'utiliser correctement. A savoir que ZFS crée directement les volumes logiques (vdevs) à partir des disques.
Il semble qu'il y ait beaucoup plus de lecture à faire sur le fonctionnement de ZFS avant de pouvoir comprendre avec précision ce que vous avez proposé, contrairement à ce qui devrait vraiment être fait à la place.
la source