Cette section décrit les nouvelles fonctionnalités ZFS de Developer version 1/08.
Utilisation de périphériques de stockage dans le pool de stockage ZFS : dans cette version de Solaris, vous pouvez créer des pools et spécifier des périphériques de cache qui permettent de mettre en cache des données de pool de stockage.
Les périphériques de stockage fournissent une couche de mise en cache supplémentaire entre la mémoire principale et le disque. L'utilisation de périphériques de cache constitue la meilleure amélioration de performances pour les charges de travail de lecture aléatoire constituées principalement de contenu statique.
Vous pouvez spécifier un ou plusieurs périphériques de cache à la création du pool. Par exemple :
# zpool create pool mirror c0t2d0 c0t4d0 cache c0t0d0 # zpool status pool pool: pool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM pool ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 cache c0t0d0 ONLINE 0 0 0 errors: No known data errors |
Une fois les périphériques de cache ajoutés, ils se remplissent progressivement de contenu provenant de la mémoire principale. En fonction de la taille du périphérique de cache, le remplissage peut prendre plus d'une heure. La capacité et les lectures sont contrôlables à l'aide de la commande zpool iostat comme indiqué ci-dessous :
# zpool iostat -v pool 5 |
Une fois le pool créé, vous pouvez y ajouter des périphériques de cache ou les en supprimer.
Pour de plus amples informations, reportez-vous à la page de manuel zpool(1M) et au ZFS Administration Guide .
Améliorations de la commande zfs send : dans cette version, les aspects suivants de la commande zfs send ont été améliorés.
Envoi de tous les flux incrémentiels d'un instantané vers un instantané cumulatif. Par exemple :
# zfs list NAME USED AVAIL REFER MOUNTPOINT pool 428K 16.5G 20K /pool pool/fs 71K 16.5G 21K /pool/fs pool/fs@snapA 16K - 18.5K - pool/fs@snapB 17K - 20K - pool/fs@snapC 17K - 20.5K - pool/fs@snapD 0 - 21K - # zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@combo |
Tous les instantanés incrémentiels de fs@snapA à fs@snapD sont envoyés vers fs@combo.
Envoi d'un flux incrémentiel à partir de l'instantané d'origine pour créer un clone. L'instantané d'origine doit déjà exister sur le côté récepteur afin d'accepter le flux incrémentiel. Par exemple :
# zfs send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I . . # zfs receive -F pool/clone < /snaps/fsclonesnap-I |
Envoi d'un flux de réplication de tous les systèmes de fichiers descendants, jusqu'aux instantanés nommés. Une fois reçus, les propriétés, instantanés, systèmes de fichiers descendants et clones sont conservés. Par exemple :
zfs send -R pool/fs@snap > snaps/fs-R |
Pour un exemple plus détaillé, reportez-vous à la section Sending and Receiving Complex ZFS Snapshot Streams du ZFS Administration Guide.
Envoi d'un flux de réplication incrémentiel.
zfs send -R -[iI] @snapA pool/fs@snapD |
Pour un exemple plus détaillé, reportez-vous à la section Sending and Receiving Complex ZFS Snapshot Streams du ZFS Administration Guide.
Pour de plus amples informations, reportez-vous à la section Saving and Restoring ZFS Data du ZFS Administration Guide.
Quotas et réservations ZFS pour les données du système de fichiers uniquement : outre les fonctionnalités de quotas et de réservation ZFS, cette version fournit des quotas et réservations de jeux de données excluant les données descendantes, telles que les instantanés et les clones, lors de la comptabilisation de la consommation d'espace.
La propriété refquota limite la quantité d'espace consommable par un jeu de données. Cette propriété définit une quantité d'espace utilisable maximale. Cette limite fixe n'inclut pas l'espace utilisé par les descendants, tels que les instantanés et les clones.
La propriété refreservation définit la quantité minimale d'espace accordée à un jeu de données (descendants exclus).
Par exemple, en définissant la propriété refquota de studentA sur 10 Go, vous spécifiez une limite fixe de 10 Go d'espace référencé. Pour une plus grande flexibilité, vous pouvez définir un quota de 20 Go qui vous permet de gérer les instantanés de studentA.
# zfs set refquota=10g tank/studentA # zfs set quota=20g tank/studentA |
Pour de plus amples informations, reportez-vous à la section ZFS Quotas and Reservations du ZFS Administration Guide.
Propriétés du système de fichiers ZFS pour le service Solaris CIFS : cette version prend en charge le service Solaris CIFS (Common Internet File System, système de fichiers Internet classique). Ce produit permet le partage de fichiers entre systèmes Solaris et Windows ou MacOS.
Pour faciliter l'échange de fichiers entre ces systèmes à l'aide du service Solaris CIFS, les nouvelles propriétés ZFS suivantes ont été ajoutées :
prise en charge de la sensibilité à la casse casesensitivity ;
verrous obligatoires non bloquants (nbmand) ;
prise en charge du partage SMB (sharesmb) ;
prise en charge de la normalisation Unicode (normalization) ;
prise en charge du jeu de caractères UTF-8 (utf8only).
Outre les propriétés ZFS ajoutées pour prendre en charge du logiciel CIFS Solaris, la propriété vscan permet l'analyser des fichiers ZFS si vous disposez d'un moteur d'analyse de virus tiers.
Pour de plus amples informations sur ces propriétés, reportez-vous à la section Managing ZFS Properties du ZFS Administration Guide.
Pour de plus amples informations sur le service Solaris CIFS, reportez-vous au Solaris CIFS Administration Guide.
Propriétés de pool de stockage ZFS : cette version fournit des informations relatives à la propriété de pool ZFS. Par exemple :
# zpool get all users NAME PROPERTY VALUE SOURCE users size 16.8G - users used 217M - users available 16.5G - users capacity 1% - users altroot - default users health ONLINE - users guid 11063207170669925585 - users version 8 default users bootfs - default users delegation on default users autoreplace off default users temporary on local |
Propriété cachefile : cette version fournit la propriété cachefile qui contrôle l'emplacement de mise en cache des informations de configuration de pool. Tous les pools du cache sont importés automatiquement au démarrage du système. Toutefois, dans les environnements d'installation et de clustering, il peut s'avérer nécessaire de placer ces informations en cache à un autre endroit afin d'éviter l'importation automatique des pools.
Vous pouvez définir cette propriété afin de mettre la configuration de pool en cache à un autre emplacement. Il reste alors possible d'importer ultérieurement ce dernier à l'aide de la commande zpool import c. Cette propriété n'est pas utilisée dans la plupart des configurations ZFS.
La propriété cachefile n'est pas persistante et n'est pas stockée sur le disque. Elle remplace la propriété temporary qui, dans les versions précédentes de Solaris, indiquait que les informations de pool ne devaient pas être mises en cache.
Propriété failmode : dans cette version, la propriété failmode permet de déterminer l'action à effectuer en cas d'échec catastrophique de pool causé par la perte de connectivité d'un périphérique ou la panne de tous les périphériques du pool. Vous pouvez définir la propriété failmode sur l'une des valeurs suivantes : wait, continue ou panic. La valeur par défaut est wait : vous devez reconnecter le périphérique ou remplacer le périphérique défaillant, puis effacer l'erreur à l'aide de la commande zpool clear.
La propriété failmode est définie comme les autres propriétés ZFS définissables, avant ou après la création du pool. Par exemple :
# zpool set failmode=continue tank # zpool get failmode tank NAME PROPERTY VALUE SOURCE tank failmode continue local |
# zpool create -o failmode=continue |
Pour obtenir une description des propriétés de pool ZFS, reportez-vous à la section Managing ZFS Storage Pool Properties du ZFS Administration Guide .
Montages miroir de ZFS et de systèmes de fichiers : dans cette version de Solaris, les améliorations apportées au montage NFSv4 permettent aux clients NFS d'accéder plus facilement aux systèmes de fichiers ZFS.
Lorsque les systèmes de fichiers sont créés sur le serveur NFS, le client NFS peut les détecter automatiquement dans le montage existant d'un système de fichiers parent.
Par exemple, si le serveur neo partage déjà le système de fichiers tank et qu'il est monté sur le client zee, /tank/baz est automatiquement visible sur le client après avoir été créé sur le serveur.
zee# mount neo:/tank /mnt zee# ls /mnt baa bar neo# zfs create tank/baz zee% ls /mnt baa bar baz zee% ls /mnt/baz file1 file2 |
Les sections Nouveautés suivantes contiennent des informations complémentaires sur la fonction ZFS :