Quota ZFS: Disons que vous avez un pool de taille ZFS 10 Go. Vous avez créé un système de fichiers ZFS sur ce pool. Si vous définissez un quota de 2 Go Pour ce système de fichiers ZFS, le système de fichiers ZFS ne peut utiliser que 2 Go d'espace disque à partir du pool. Il ne peut pas utiliser plus que cela même s'il y a un espace libre disponible sur la piscine.
Réservation ZFS: Si vous définissez un quota de 2 Go Pour un système de fichiers ZFS, ZFS n'allouera pas 2 Go d'espace disque pour ce système de fichiers immédiatement. L'espace disque sera alloué au besoin jusqu'à ce que la limite de quota soit atteinte. Imaginez que vous avez de nombreux systèmes de fichiers sur votre pool ZFS, et de nombreux utilisateurs leur écrivent. Il peut arriver un moment où la limite de quota d'un système de fichiers n'est pas atteinte, mais d'autres systèmes de fichiers ont rempli l'espace disque du pool. Ainsi, même si le système de fichiers a utilisé moins de 2 Go d'espace disque de la piscine, il n'écrira toujours pas à la piscine car la piscine n'a pas d'espace disque gratuit.
Pour résoudre ce problème, vous pouvez utiliser la réservation ZFS. Vous pouvez définir 2 Go de réservation pour votre système de fichiers ZFS très spécial et au moment où vous définissez la réservation, 2 Go d'espace disque seront alloués au système de fichiers à partir du pool ZFS. De cette façon, peu importe la quantité de données que les autres systèmes de fichiers stockent dans ce pool, vous aurez toujours des espaces de disque dédiés disponibles pour votre système de fichiers, et vous pourrez toujours créer des fichiers sur ce système de fichiers même si le pool est plein (n'en a pas Espace disque libre).
Dans cet article, je vais vous montrer comment configurer des quotas et des réservations pour les systèmes de fichiers ZFS. Alors, commençons.
Table des matières
Création de pools et de systèmes de fichiers ZFS
Pour expérimenter le quota ZFS et la réservation, je vais créer un pool ZFS piscine 1 et 4 systèmes de fichiers ZFS FS1, fs2, FS3, et FS4 sur la piscine ZFS piscine 1. Si vous voulez suivre, vous pouvez faire de même.
Cet article utilisera le vdb et VDC Dispositifs de stockage pour créer le pool ZFS piscine 1.
$ sudo lsblk -e7 -dPour créer la piscine ZFS piscine 1 en utilisant le vdb et VDC Dispositifs de stockage, exécutez la commande suivante:
$ sudo zpool Create -f pool1 VDB VDCUne piscine ZFS piscine 1 devrait être créé.
$ sudo zfsCréer les systèmes de fichiers FS1, fs2, FS3, et FS4 sur la piscine ZFS piscine 1 avec les commandes suivantes:
$ sudo ZFS Créer Pool1 / FS1Les systèmes de fichiers ZFS FS1, fs2, FS3, et FS4 devrait être créé sur la piscine ZFS piscine 1.
$ sudo zfsConfiguration du quota du système de fichiers ZFS
Pour configurer un quota pour un système de fichiers ZFS, vous devrez configurer le quota et Refquota propriétés de ce système de fichiers ZFS.
quota: Le quota sera défini pour les données, les instantanés du système de fichiers et les clones de système de fichiers. Ainsi, la taille totale des données de votre système de fichiers, des instantanés du système de fichiers et des clones de système de fichiers ne peuvent pas dépasser la limite de quota.
Bref,
système de fichiers données Taille + Système de fichiers instantanés Taille + Système de fichiers clones taille < quota limite
Refquota: La limite de quota est définie uniquement pour les données du système de fichiers, pas pour les instantanés du système de fichiers et les clones de système de fichiers.
Bref,
système de fichiers données taille < Refquota limite
Par défaut, le quota et Refquota Les propriétés ne sont définies sur aucun système de fichiers ZFS. Ainsi, les données du système de fichiers, les instantanés du système de fichiers et les clones de système de fichiers de tout système de fichiers ZFS peuvent courir toute la taille du pool ZFS.
Comme tu peux le voir, quota et Refquota les propriétés sont définies sur aucun sur le système de fichiers ZFS FS1 par défaut. C'est la même chose pour le fs2, FS3, et FS4 Systèmes de fichiers également.
$ sudo zfs obtient Refquota, quota pool1 / fs1Pour définir un quota de 2 Go Pour le système de fichiers ZFS FS1, Exécutez la commande suivante:
$ sudo zfs set quota = 2g pool1 / fs1Comme vous pouvez le voir, un quota de 2 Go est défini pour le système de fichiers ZFS FS1.
$ sudo zfs obtient un pool de quota1 / fs1Après 2 Go de quota est défini pour le système de fichiers ZFS FS1, l'espace disque disponible (PROFITER) de la FS1 Le système de fichiers doit être 2 Go au lieu de l'espace disque disponible de la piscine piscine 1 (8.72 Go Dans ce cas), comme vous pouvez le voir dans la capture d'écran ci-dessous.
$ sudo zfsVous avez fixé un quota de 2 Go Pour le système de fichiers ZFS FS1. Donc, vous ne pouvez pas conserver plus de 2 Go de données sur le système de fichiers FS1. Imaginez créer quelques instantanés et clones de système de fichiers qui ont utilisé environ 1 Go d'espace disque. Dans ce cas, vous n'aurez que 1 Go d'espace disque disponible pour les données sur le FS1 système de fichiers. Si les instantanés et les clones de fichiers System utilisent environ 1.5 Go d'espace disque, vous n'aurez que 500 Mo d'espace disque disponible pour les données sur le FS1 système de fichiers. C'est un problème.
Parfois, vous pouvez consacrer un espace disque pour ne stocker que des données sur votre système de fichiers ZFS, de sorte que les instantanés et les clones du système de fichiers n'utilisent pas tout l'espace disque disponible à partir du système de fichiers ZFS. Vous pouvez définir le Refquota propriété pour cela.
Disons que vous souhaitez définir un quota de 2 Go Pour le système de fichiers ZFS fs2 et consacrer 1 Go d'espace disque pour seulement données. De cette façon, vous ne pouvez utiliser que 1 Go d'espace disque pour stocker instantanés de système de fichiers et clones.
Installation 2 Go de quota pour le système de fichiers ZFS fs2 comme suit:
$ sudo zfs set quota = 2g pool1 / fs1Comme tu peux le voir, 2 Go du quota est défini pour le système de fichiers ZFS fs2.
$ sudo zfsDédicacer 1 Go d'espace disque pour stocker uniquement des données pour le système de fichiers ZFS fs2, met le Refquota propriété du système de fichiers fs2 comme suit:
$ sudo zfs set Refquota = 1g pool1 / fs2Comme vous pouvez le voir, le Refquota la propriété est définie sur 1 Go, et le quota la propriété est définie sur 2 Go sur le système de fichiers ZFS fs2.
$ sudo zfs obtient Refquota, quota pool1 / fs2L'espace disque disponible du système de fichiers ZFS fs2 devrait être 1 Go (1024 Mo) - la taille que vous avez vue Refquota propriété, comme vous pouvez le voir dans la capture d'écran ci-dessous.
$ sudo zfsUne fois le quota défini, voyons comment les espaces disque sont alloués lorsque vous créez des fichiers sur les systèmes de fichiers ZFS FS1 et FS2.
Créer un 200 Mb déposer test.IMG dans le système de fichiers ZFS FS1 comme suit:
$ sudo dd if = / dev / aléatoire de = / pool1 / fs1 / test.IMG BS = 1M COMPT = 200 Statut = ProgrèsCréer un 100 Mb déposer test.IMG dans le système de fichiers ZFS fs2 comme suit:
$ sudo dd if = / dev / aléatoire de = / pool1 / fs2 / test.IMG BS = 1M COUNT = 100 Statut = ProgressComme tu peux le voir, FS1 les usages 200 Mb de l'espace disque, et fs2 les usages 100 Mb de l'espace disque de la piscine piscine 1. Au total, 300 Mb de l'espace disque est utilisé à partir de la piscine piscine 1. Même si vous avez réglé des quotas pour le FS1 et fs2 Systèmes de fichiers, seul l'espace disque requis est alloué pour les systèmes de fichiers FS1 et fs2 de la piscine piscine 1.
$ sudo zfsSi vous souhaitez définir un quota uniquement pour les données d'un système de fichiers ZFS, pas pour les instantanés et les clones du système de fichiers, définissez uniquement le Refquota propriété sur le système de fichiers ZFS souhaité. Vous n'avez pas à définir le quota propriété. De cette façon, les instantanés et les clones du système de fichiers peuvent occuper autant d'espace disque que nécessaire dans le pool ZFS. Mais la limite de quota ne sera placée que sur les données que vous stockez sur votre système de fichiers ZFS.
Si vous ne prenez aucun instant d'instantané du système de fichiers ou ne faites pas de clones de système de fichiers, alors quota et Refquota travailler de la même manière. Peu importe celui que vous utilisez.
Configuration de la réservation du système de fichiers ZFS
Plus tôt, vous avez vu que lorsque vous définissez un quota sur un système de fichiers ZFS, aucun espace disque n'est automatiquement alloué pour ce système de fichiers à partir du pool ZFS. L'espace disque est alloué lorsque les fichiers sont créés sur ce système de fichiers. Il n'y a pas de problème avec ça. Mais il y a des moments où tu ne veux pas ça.
Dans certains cas, vous souhaiterez peut-être consacrer un espace disque pour un système de fichiers ZFS spécifique du pool. De cette façon, même si d'autres systèmes de fichiers remplissent le pool, vous aurez toujours des espaces gratuits sur votre système de fichiers ZFS. C'est pour cela que la réservation ZFS est utilisée.
Pour configurer une réservation pour un système de fichiers ZFS, vous devrez configurer le réservation et refaire propriétés de ce système de fichiers ZFS.
Réservation: L'espace disque sera réservé aux données, aux instantanés du système de fichiers et aux clones de système de fichiers d'un système de fichiers ZFS à partir du pool ZFS.
Réservation: L'espace disque sera réservé aux données d'un système de fichiers ZFS à partir du pool ZFS. Aucun espace disque ne sera réservé aux instantanés du système de fichiers et aux clones de système de fichiers.
Par défaut, le réservation et refaire Les propriétés ne sont définies sur aucun système de fichiers ZFS. Ainsi, ZFS n'attribue aucun espace disque pour les données, les instantanés du système de fichiers et les clones de système de fichiers de tout système de fichiers ZFS à partir du pool ZFS.
Comme tu peux le voir, réservation et refaire les propriétés sont définies sur aucun sur le système de fichiers ZFS FS3 par défaut. C'est la même chose pour le FS1, fs2, et FS4 Systèmes de fichiers également.
$ sudo ZFS obtient une réservation, refonférez la pool1 / fs3Par défaut, le système de fichiers ZFS FS3 et FS4 avoir le même espace disque gratuit (8.43 Go) comme la piscine piscine 1.
$ sudo zfsRéserver 2 Go d'espace disque pour le système de fichiers ZFS FS3 (pour les données du système de fichiers, les instantanés et les clones) à partir du pool, définissez le réservation propriété du système de fichiers ZFS FS3 comme suit:
$ sudo zfs set réservation = 2g pool1 / fs3Comme vous pouvez le voir, le réservation la propriété est définie sur 2 Go Pour le système de fichiers ZFS FS3.
$ sudo zfs obtient la réservation pool1 / fs3Notez cela, immédiatement après avoir réglé le réservation propriété 2 Go Pour le système de fichiers ZFS FS3, 2 Go est utilisé à partir de la piscine ZFS piscine 11. De plus, l'espace disque disponible pour le système de fichiers ZFS FS3 est 2 Go plus que la piscine ZFS piscine 12.
$ sudo zfsRéserver 1 Go d'espace disque pour uniquement les données (pas pour les instantanés et les clones) du système de fichiers ZFS FS4 de la piscine, définissez le refaire propriété du système de fichiers ZFS FS4 comme suit:
$ sudo ZFS Set Refreservation = 1g Pool1 / FS4Le refaire la propriété doit être définie sur 1 Go Pour le système de fichiers ZFS FS4, Comme vous pouvez le voir dans la capture d'écran ci-dessous.
$ sudo zfs obtient la réservation Pool1 / FS4Notez cela, immédiatement après avoir réglé le refaire propriété 1 Go Pour le système de fichiers ZFS FS4, 1 Go est utilisé à partir du système de fichiers ZFS FS41. 1 Go est également utilisé à partir de la piscine ZFS piscine 12, et l'espace disque disponible du système de fichiers ZFS FS4 est 1 Go plus3 que la piscine ZFS piscine 14.
$ sudo zfsConfiguration de la réservation du système de fichiers ZFS à côté du quota
Vous pouvez également utiliser la réservation aux côtés du quota sur les systèmes de fichiers ZFS. Voyons quelques exemples.
Disons que vous souhaitez définir un quota de 2 Go Pour le système de fichiers ZFS FS3 et réserver 2 Go d'espace disque pour le système de fichiers ZFS FS3 (pour le stockage des données, des instantanés et des clones du système de fichiers) à partir du pool ZFS.
Pour ce faire, définissez le quota et réservation Propriétés du système de fichiers ZFS FS3 comme suit:
$ sudo zfs set quota = 2g réservation = 2g pool1 / fs3Le quota et réservation Propriétés du système de fichiers ZFS FS3 devrait être réglé sur 2 Go, Comme vous pouvez le voir dans la capture d'écran ci-dessous.
$ sudo zfs obtient un quota, réservation pool1 / fs3L'espace disque disponible du système de fichiers ZFS FS3 devrait être réglé sur 2 Go. 2 Go de l'espace disque doit également être réservé au système de fichiers ZFS FS3 de la piscine ZFS piscine 1.
$ sudo zfsDisons que vous souhaitez définir un quota de 2 Go Pour le système de fichiers ZFS FS4. Mais, vous voulez autoriser uniquement 1 Go d'espace disque pour stocker les données du système de fichiers et l'autre 1 Go pour stocker des instantanés et des clones de système de fichiers. Aussi, vous voulez réserver 1 Go d'espace disque pour stocker le système de fichiers ZFS FS4 de la piscine ZFS.
Pour ce faire, définissez le quota, Refquota, et refaire Propriétés du système de fichiers ZFS FS4 comme suit:
$ sudo zfs set quota = 2g RefQuota = 1g refonservation = 1g pool1 / fs4Le quota propriété du système de fichiers ZFS FS4 devrait être réglé sur 2 Go, et le Refquota et refaire Les propriétés doivent être définies sur 1 Go, Comme vous pouvez le voir dans la capture d'écran ci-dessous.
$ sudo zfs set quota, Refquota, refonseration pool1 / fs4L'espace disque disponible du système de fichiers ZFS FS4 devrait être réglé sur 1 Go. 1 Go de l'espace disque doit également être réservé au système de fichiers ZFS FS4 de la piscine ZFS piscine 1.
$ sudo zfsDisons que vous souhaitez définir un quota de 2 Go Pour le système de fichiers ZFS FS4. Mais, vous voulez autoriser uniquement 1 Go d'espace disque pour stocker les données du système de fichiers et l'autre 1 Go pour stocker des instantanés et des clones de système de fichiers. Aussi, vous voulez réserver 2 Go d'espace disque pour stocker les données, les instantanés et les clones du système de fichiers et 1 Go de l'espace disque de cette réservation pour stocker uniquement le système de fichiers ZFS FS4.
Pour ce faire, définissez le quota, Refquota, réservation, et refaire Propriétés du système de fichiers ZFS FS4 comme suit:
$ sudo zfs set quota = 2g Refquota = 1g réservation = 2g refrection = 1g pool1 / fs4Comme vous pouvez le voir, le quota et réservation Propriétés du système de fichiers ZFS FS4 sont définis sur 2 Go, et le Refquota et refaire les propriétés sont définies sur 1 Go.
$ sudo zfs obtient un quota, Refquota, réservation, réservation pool1 / fs4Plus tôt, le système de fichiers ZFS réservé 1 Go de l'espace disque de la piscine piscine 1. Maintenant, il est réservé 1 Go plus. Au total, 2 Go de l'espace disque est réservé au système de fichiers ZFS FS4 de la piscine ZFS piscine 1. De plus, la limite de quota est définie pour le système de fichiers ZFS FS4.
$ sudo zfsDésactivation de la réservation du système de fichiers ZFS
Vous pouvez définir le réservation et refaire propriété d'un système de fichiers ZFS à aucun ou 0 Pour désactiver la réservation pour ce système de fichiers ZFS.
Pour désactiver la réservation pour le système de fichiers ZFS FS4, met le réservation et refaire Propriétés du système de fichiers ZFS FS4 pour aucun comme suit:
$ sudo ZFS Set réservation = Aucun Refresservation = Aucun Pool1 / FS4La réservation doit être désactivée pour le système de fichiers ZFS FS4.
$ sudo zfs obtient une réservation, refonvère la pool1 / fs4Comme tu peux le voir, 2 Go de l'espace disque (4.49 Go à 2.29 Go maintenant) est traité à partir du pool ZFS piscine 1 car une réservation est désactivée pour le système de fichiers ZFS FS4.
$ sudo zfsDésactivation du quota du système de fichiers ZFS
Vous pouvez définir le quota et Refquota propriété d'un système de fichiers ZFS à aucun ou 0 Pour désactiver le quota pour ce système de fichiers ZFS.
Pour désactiver le quota pour le système de fichiers ZFS FS4, met le quota et Refquota Propriétés du système de fichiers ZFS FS4 pour aucun comme suit:
$ sudo zfs set quota = Aucun refQuota = Aucun Pool1 / FS4Le quota doit être désactivé pour le système de fichiers ZFS FS4.
$ sudo zfs obtient un quota, Refquota Pool1 / FS4Comme vous pouvez le voir, aucune limite de quota n'est fixée pour le système de fichiers ZFS FS4 plus.
$ sudo zfsConclusion
Dans cet article, j'ai discuté du quota et des fonctionnalités de réservation du système de fichiers ZFS. Je vous ai montré comment configurer des quotas et des réservations pour les systèmes de fichiers ZFS. Je vous ai également montré comment désactiver les quotas et les réservations à partir des systèmes de fichiers ZFS.
Les références
[1] Définition des quotas et réservations ZFS (Guide d'administration Solaris ZFS)