6 votes

Comment surdimensionner un SSD pour stocker un volume ZFS plus petit (ZVOL) ?

J'ai une paire de SSD de 480 Go "Datacenter" (SAMSUNG MZ7LM480HMHQ-00005) qui constitueront un pool ZFS en configuration de mirroir. Le contenu du pool sera uniquement un volume ZFS (ZVOL) pour une machine virtuelle. Cependant, le ZVOL ne fera que 400 Go en taille, laissant ainsi 80 Go d'espace inutilisé sur chaque SSD.

J'aimerais que les SSDs fassent le meilleur usage de leur espace inutilisé, leur permettant ainsi de l'utiliser pour réduire l'usure de la mémoire flash. Quel serait le meilleur moyen d'atteindre cet objectif?

  1. Simplement utiliser l'intégralité des SSDs pour le pool?

  2. Créer une partition de 400 Go sur chaque SSD et les utiliser pour le pool, laissant ainsi 80 Go non partitionnés?

  3. Essayer de modifier la zone protégée par l'hôte (HPA) des SSDs afin que seuls 400 Go de capacité soient visibles, puis utiliser les SSDs "réduits" pour le pool (comme dans l'option #1)?

Ou peut-être qu'il n'y a pas de différence du tout, et que les SSDs utiliseront automatiquement tous leurs cellules flash de manière optimale?

Si cela a de l'importance: je suppose que la machine virtuelle enverra des commandes TRIM et qu'elles atteindront le ZFS de l'hôte et enfin les SSDs eux-mêmes.

2voto

ewwhite Points 193555

Les disques sont consommables.

Je suggère simplement de les utiliser comme prévu.
RAIDez-les. Surveillez étroitement leur santé.

Ou peut-être qu'il n'y a aucune différence du tout, et le SSD utilisera automatiquement efficacement l'ensemble de ses cellules de mémoire flash?

Ces SSD de centre de données sont déjà sur-dimensionnés; probablement 512 Go pour une capacité de 480 Go que vous avez mentionnée. Le matériel prend déjà en compte le nivellement de l'usure.

2voto

Anjum Kaiser Points 1016

Toutes les trois approches donneront des résultats acceptables. Personnellement, j'utilise le 1, j'ai autotrim=on sur mes pools, et mes VM sont sauvegardées par des zvols et utilisent le pilote SCSI paravirtualisé qui comprend les commandes trim/discard. Mon raisonnement est que je ne remplirai probablement jamais les disques au-dessus de 80% de leur capacité, mais il est bon de pouvoir le faire si jamais nécessaire.

Les options 2 et 3 donneront des résultats similaires, en supposant que vous commencez avec un SSD fraîchement effacé (sécurisé ou blkdiscardé).

Si vous utilisez autotrim=on et que vous ne remplissez jamais les SSD au-dessus de 80% de leur capacité, il n'y aura pas de différence significative entre les 3 approches mentionnées.

2voto

Grant BlahaErath Points 121

Surdimensionner est réalisé par n'importe quelle méthode qui empêche toutes les pages du lecteur d'être utilisées. Les partitions sont une approche utilisée par d'autres systèmes de fichiers pour empêcher toutes les pages d'être utilisées, mais ZFS a une manière beaucoup moins compliquée. Cela s'appelle un quota.

Les quotas sont traditionnellement utilisés pour empêcher des systèmes de fichiers spécifiques d'utiliser tout un disque, peut-être parce qu'il y a plusieurs utilisateurs, chacun se voyant attribuer un système de fichiers privé, et chaque système de fichiers est mis sous quota pour qu'un des utilisateurs ne puisse pas monopoliser tout l'espace du disque. Mais les quotas sont également adaptés pour le surdimensionnement. Voici un exemple de commande qui définit une surprovision de 20% sur un pool nommé tank pour un système de fichiers de niveau supérieur appelé foo sur un SSD de 1000 Go. Le disque unique a été ajouté au pool avec la syntaxe par défaut (pratiquement tout le lecteur).

zfs set quota=800G tank/foo

Oui, c'est assez simple. La syntaxe de ZFS qui vous permet d'utiliser des suffixes plus simples comme G signifie que vous n'avez pas à faire de calcul de partition. En tant qu'administrateur système (même si c'est votre NAS domestique, ordinateur de bureau, portable, etc.), vous devrez vous rappeler de ne pas changer le quota. Mais ce n'est pas très différent de se rappeler de ne pas formater une partition brute ou de trafiquer le firmware pour que le disque sous-déclare sa taille.

L'avantage est qu'il n'y a pas de partition brute en vrac appelant toutes les utilitaires à être provisionnées et utilisées. De plus, il est facile à changer, donc vous pouvez l'ajuster en fonction de la manière dont le disque est utilisé. Si un disque ne reçoit pas beaucoup d'écritures qui réécrivent les pages existantes, le surdimensionnement est tout simplement de l'espace gaspillé, donc la taille d'un ensemble réservé de pages est mieux décidée en fonction de la fréquence à laquelle les pages existantes sont modifiées sur un disque. Cette approche fonctionne également avec les types de pool zfs comme le miroir, simple et raid-z car ils remplissent de manière égale un ensemble de disques.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X