Un volume ZFS est un jeu de données qui représente un périphérique en mode bloc. Les volumes ZFS sont identifiés en tant que périphériques dans le répertoire /dev/zvol/{dsk,rdsk}/pool.
Dans l'exemple suivant, un volume ZFS de 5 GO portant le nom tank/vol est créé :
# zfs create -V 5gb tank/vol |
Lors de la création d'un volume, une réservation est automatiquement définie sur la taille initiale du volume pour éviter tout comportement inattendu. Si, par exemple, la taille du volume diminue, les données risquent d'être corrompues. Vous devez faire preuve de prudence lors de la modification de la taille du volume.
En outre, si vous créez un instantané pour un volume modifiant la taille de ce dernier, cela peut provoquer des incohérences lorsque vous tentez d'annuler (roll back) l'instantané ou de créer un clone à partir de l'instantané.
Pour de plus amples informations concernant les propriétés de systèmes de fichiers applicables aux volumes, reportez-vous au Tableau 6–1.
En cas d'utilisation d'un système Solaris avec zones installées, la création ou le clonage d'un volume ZFS dans une zone non globale est impossible. Si vous tentez d'effectuer cette action, cette dernière échouera. Pour obtenir des informations relatives à l'utilisation de volumes ZFS dans une zone globale, reportez-vous à la section Ajout de volumes ZFS à une zone non globale.
Lors de l'installation d'un système de fichiers racine ZFS ou d'une migration à partir d'un système de fichiers racine UFS, un périphérique de swap est créé sur un volume ZFS du pool racine ZFS. Exemple :
# swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 253,3 16 8257520 8257520 |
Lors de l'installation d'un système de fichiers racine ZFS ou d'une migration à partir d'un système de fichiers racine UFS, un périphérique de vidage est créé sur un volume ZFS du pool racine ZFS. Le périphérique de vidage ne nécessite aucune administration une fois configuré. Exemple :
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes |
Pour modifier la zone de swap ou le périphérique de vidage une fois le système installé ou mis à niveau, utilisez les commandes swap et dumpadm de la même façon que dans les versions Solaris précédentes. Si vous tentez de créer un autre volume de swap, créez un volume ZFS d'une taille spécifique et activez le swap sur le périphérique. Exemple :
# zfs create -V 2G rpool/swap2 # swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 2097136 2097136 /dev/zvol/dsk/rpool/swap2 256,5 16 4194288 4194288 |
N'effectuez pas de swap vers un fichier dans un système de fichiers ZFS. La configuration de fichier swap ZFS n'est pas prise en charge.
Pour plus d'informations sur l'ajustement de la taille des volumes de swap et de vidage, reportez-vous à la section Ajustement de la taille de vos périphériques de swap et de vidage ZFS.
Vous pouvez facilement créer un volume ZFS en tant que cible iSCSI en configurant la propriété shareiscsi sur le volume. Exemple :
# zfs create -V 2g tank/volumes/v2 # zfs set shareiscsi=on tank/volumes/v2 # iscsitadm list target Target: tank/volumes/v2 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
Une fois la cible iSCSI créée, configurez l'initiateur iSCSI. Pour de plus amples informations sur les cibles iSCSI et les initiateurs Solaris, reportez-vous au Chapitre 14, Configuring Oracle Solaris iSCSI Targets and Initiators (Tasks) du System Administration Guide: Devices and File Systems.
La commande iscsitadm permet la création et la gestion de cibles Solaris iSCSI. Si vous avez configuré la propriété shareiscsi dans un volume ZFS, n'utilisez pas la commande iscsitadm pour créer le même périphérique cible. Vous pouvez également dupliquer les informations des cibles sur ce même périphérique.
Vous pouvez gérer un volume ZFS configuré en tant que cible iSCSI de la même façon qu'un autre jeu de données ZFS. Cependant, les opérations de renommage, d'exportation et d'importation fonctionnent de façon différente pour les cibles iSCSI.
Lors du renommage d'un volume ZFS, le nom de la cible iSCSI ne change pas. Exemple :
# zfs rename tank/volumes/v2 tank/volumes/v1 # iscsitadm list target Target: tank/volumes/v1 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
L'exportation d'un pool contenant un volume ZFS entraîne la suppression de la cible. L'importation d'un pool contenant un volume ZFS entraîne le partage de la cible. Exemple :
# zpool export tank # iscsitadm list target # zpool import tank # iscsitadm list target Target: tank/volumes/v1 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
L'ensemble des informations de configuration de cible iSCSI est stocké dans le jeu de données. Tout comme un système de fichiers NFS partagé, une cible iSCSI importée dans un système différent est partagée adéquatement.