Ce chapitre fournit des instructions détaillées sur la configuration de base d'Oracle Solaris ZFS. Il offre une vision globale du fonctionnement des commandes ZFS et explique les méthodes de création de pools et de systèmes de fichiers de base. Ce chapitre ne constitue pas une présentation exhaustive. Pour des informations plus détaillées, reportez-vous aux autres chapitres, comme indiqué.
Il contient les sections suivantes :
Avant d'utiliser le logiciel ZFS, passez en revue les exigences et recommandations matérielles et logicielles suivantes :
Utilisez un système SPARC ou x86 exécutant la version 10 6/06 ou une version plus récente de Solaris.
L'espace disque minimum requis pour un pool de stockage est de 64 Mo. La taille minimale du disque est de 128 Mo.
Il est nécessaire de disposer d'au moins 768 Mo de mémoire pour installer un système Solaris. Cependant, pour assurer un fonctionnement correct, vous devez utiliser au moins 1 Go ou plus de mémoire.
Si vous créez une configuration de disques mise en miroir, utilisez plusieurs contrôleurs.
L'administration de ZFS a été conçue dans un but de simplicité. L'un des objectifs principaux est de réduire le nombre de commandes nécessaires à la création d'un système de fichiers utilisable. Par exemple, lors de la création d'un pool, un système de fichiers ZFS est automatiquement créé et monté.
L'exemple suivant illustre la création d'un pool de stockage à miroir simple appelé tank et d'un système de fichiers ZFS appelé tank, en une seule commande. Supposons que l'intégralité des disques /dev/dsk/c1t0d0 et /dev/dsk/c2t0d0 puissent être utilisés.
# zpool create tank mirror c1t0d0 c2t0d0 |
Pour plus d'informations sur les configurations redondantes de pools ZFS, reportez-vous à la section Fonctions de réplication d'un pool de stockage ZFS.
Le nouveau système de fichiers ZFS, tank, peut utiliser autant d'espace disque disponible que nécessaire et est monté automatiquement sur /tank.
# mkfile 100m /tank/foo # df -h /tank Filesystem size used avail capacity Mounted on tank 80G 100M 80G 1% /tank |
Au sein d'un pool, vous souhaiterez probablement créer des systèmes de fichiers supplémentaires. Les systèmes de fichiers fournissent des points d'administration qui permettent de gérer différents jeux de données au sein du même pool.
L'exemple illustre la création d'un système de fichiers nommé fs dans le pool de stockage tank.
# zfs create tank/fs |
Le nouveau système de fichiers ZFS, tank/fs, peut utiliser autant d'espace disque disponible que nécessaire et est monté automatiquement sur /tank/fs.
# mkfile 100m /tank/fs/foo # df -h /tank/fs Filesystem size used avail capacity Mounted on tank/fs 80G 100M 80G 1% /tank/fs |
Généralement, vous souhaitez créer et organiser une hiérarchie de systèmes de fichiers correspondant à des besoins spécifiques en matière d'organisation. Pour de plus amples informations sur la création d'une hiérarchie de systèmes de fichiers ZFS, reportez-vous à la section Création d'une hiérarchie de systèmes de fichiers ZFS.
L'exemple suivant illustre la simplicité de ZFS. Vous trouverez dans la suite de cette section un exemple plus complet, similaire à ce qui pourrait exister dans votre environnement. Les premières tâches consistent à identifier les besoins en matière de stockage et à créer un pool de stockage. Le pool décrit les caractéristiques physiques du stockage et doit être créé préalablement à tout système de fichiers.
Déterminez les périphériques disponibles pour le pool de stockage.
Avant de créer un pool de stockage, vous devez définir les périphériques à utiliser pour stocker les données. Ces périphériques doivent être des disques de 128 Mo minimum et ne doivent pas être en cours d'utilisation par d'autres parties du système d'exploitation. Il peut s'agir de tranches individuelles d'un disque préformaté ou de disques entiers formatés par ZFS sous forme d'une seule grande tranche.
Pour l'exemple de stockage utilisé dans la section Création d'un pool de stockage ZFS, partez du principe que les disques entiers /dev/dsk/c2t0d0 et /dev/dsk/c0t1d0 sont disponibles.
Pour de plus amples informations sur les disques, leur utilisation et leur étiquetage, reportez-vous à la section Utilisation de disques dans un pool de stockage ZFS.
Sélectionnez la réplication de données.
Le système de fichiers ZFS assure la prise en charge de plusieurs types de réplication de données. Cela permet de déterminer les types de panne matérielle supportés par le pool. ZFS assure la prise en charge des configurations non redondantes (entrelacées), ainsi que la mise en miroir et RAID-Z (une variante de RAID-5).
Pour l'exemple de stockage utilisé dans la section Création d'un pool de stockage ZFS utilise la mise en miroir de base de deux disques disponibles.
Pour de plus amples informations sur les fonctions de réplication ZFS, reportez-vous à la section Fonctions de réplication d'un pool de stockage ZFS.
Connectez-vous en tant qu'utilisateur root ou endossez un rôle équivalent avec un profil de droits ZFS adéquat.
Pour de plus amples informations sur les droits de profils ZFS, reportez-vous à la section Profils de droits ZFS.
Assignez un nom au pool de stockage.
Le nom sert à identifier le pool de stockage lorsque vous exécutez les commandes zpool et zfs. La plupart des systèmes ne requièrent qu'un pool. Vous pouvez donc utiliser le nom de votre choix tant qu'il respecte les exigences d'attribution de nom décrites dans la section Exigences d'attribution de noms de composants ZFS.
Créez le pool.
Par exemple, la commande suivante crée un pool mis en miroir nommé tank :
# zpool create tank mirror c1t0d0 c2t0d0 |
Si des périphériques contiennent un autre système de fichiers ou sont en cours d'utilisation, la commande ne peut pas créer le pool.
Pour de plus amples informations sur la création de pools de stockage, reportez-vous à la section Création d'un pool de stockage ZFS. Pour plus d'informations sur la détection de l'utilisation de périphériques, reportez-vous à la section Détection des périphériques utilisés.
Affichez les résultats.
Vous pouvez déterminer si votre pool a été correctement créé à l'aide de la commande zpool list.
# zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 80G 137K 80G 0% ONLINE - |
Pour de plus amples informations sur la vérification de l'état de pool, reportez-vous à la section Requête d'état de pool de stockage ZFS.
Une fois le pool de stockage, vous pouvez créer la hiérarchie du système de fichiers. Les hiérarchies sont des mécanismes d'organisation des informations à la fois simples et puissants. Elles sont connues de toute personne ayant utilisé un système de fichiers.
ZFS permet d'organiser en hiérarchies les systèmes de fichiers. Chaque système de cette hiérarchie ne compte qu'un seul parent. La racine de la hiérarchie correspond toujours au nom du pool. ZFS exploite cette hiérarchie en assurant la prise en charge de l'héritage de propriétés. Ainsi, vous pouvez définir les propriétés communes rapidement et facilement dans des arborescences représentant l'intégralité des systèmes de fichiers.
Choisissez la granularité du système de fichiers.
Les systèmes de fichiers ZFS sont le point central d'administration. Ils sont légers et se créent facilement. Pour ce faire, nous vous recommandons d'établir un système de fichiers par utilisateur ou par projet car cela permet de contrôler les propriétés, les instantanés et les sauvegardes par utilisateur ou par projet.
Deux systèmes de fichiers ZFS, bonwick et billm sont crées dans la section Création de systèmes de fichiers ZFS.
Pour plus d'informations sur la gestion des systèmes de fichiers, reportez-vous au Chapitre 6Gestion des systèmes de fichiers Oracle Solaris ZFS.
Regroupez les systèmes de fichiers similaires.
ZFS permet d'organiser les systèmes de fichiers en hiérarchie, pour regrouper les systèmes de fichiers similaires. Ce modèle fournit un point d'administration central pour le contrôle des propriétés et l'administration de systèmes de fichiers. Il est recommandé de créer les systèmes de fichiers similaires sous un nom commun.
Dans l'exemple de la section Création de systèmes de fichiers ZFS, les deux systèmes de fichiers sont placés sous un système de fichiers appelé home.
Choisissez les propriétés du système de fichiers.
La plupart des caractéristiques de systèmes de fichiers se contrôlent à l'aide de propriétés. Ces propriétés assurent le contrôle de divers comportements, y compris l'emplacement de montage des systèmes de fichiers, leur méthode de partage, l'utilisation de la compression et l'activation des quotas.
Dans l'exemple de la section Création de systèmes de fichiers ZFS, tous les répertoires de base sont montés dans /export/zfs/ user. Ils sont partagés à l'aide de NFS et la compression est activée. De plus, un quota de 10 Go est appliqué à l'utilisateur bonwick.
Pour de plus amples informations sur les propriétés, reportez-vous à la section Présentation des propriétés ZFS.
Connectez-vous en tant qu'utilisateur root ou endossez un rôle équivalent avec un profil de droits ZFS adéquat.
Pour de plus amples informations sur les droits de profils ZFS, reportez-vous à la section Profils de droits ZFS.
Créez la hiérarchie souhaitée.
Dans cet exemple, un système de fichiers agissant en tant que conteneur de systèmes de fichiers individuels est créé.
# zfs create tank/home |
Définissez les propriétés héritées.
Une fois la hiérarchie du système de fichiers établie, définissez toute propriété destinée à être partagée par l'ensemble des utilisateurs :
# zfs set mountpoint=/export/zfs tank/home # zfs set sharenfs=on tank/home # zfs set compression=on tank/home # zfs get compression tank/home NAME PROPERTY VALUE SOURCE tank/home compression on local |
Il est possible de définir les propriétés du système de fichiers lors de la création de ce dernier. Exemple :
# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home |
Pour plus d'informations sur les propriétés et l'héritage des propriétés, reportez-vous à la section Présentation des propriétés ZFS.
Ensuite, les systèmes de fichiers sont regroupés sous le système de fichiers home dans le pool tank.
Créez les systèmes de fichiers individuels.
Il est possible que les systèmes de fichiers aient été créés et que leurs propriétés aient ensuite été modifiées au niveau home. Vous pouvez modifier les propriétés de manière dynamique lorsque les systèmes de fichiers sont en cours d'utilisation.
# zfs create tank/home/bonwick # zfs create tank/home/billm |
Les valeurs de propriétés de ces systèmes de fichiers sont héritées de leur parent. Elles sont donc montées sur /export/zfs/ utilisateur et partagées via NFS. Il est inutile de modifier le fichier /etc/vfstab ou /etc/dfs/dfstab.
Pour de plus amples informations sur les systèmes de fichiers, reportez-vous à la section Création d'un système de fichiers ZFS.
Pour de plus amples informations sur le montage et le partage de systèmes de fichiers, reportez-vous à la section Montage et partage des systèmes de fichiers ZFS.
Définissez les propriétés spécifiques au système.
Dans cet exemple, un quota de 10 Go est attribué à l'utilisateur bonwick. Cette propriété place une limite sur la quantité d'espace qu'il peut utiliser, indépendamment de l'espace disponible dans le pool.
# zfs set quota=10G tank/home/bonwick |
Affichez les résultats.
La commande zfs list permet de visualiser les informations disponibles sur le système de fichiers :
# zfs list NAME USED AVAIL REFER MOUNTPOINT tank 92.0K 67.0G 9.5K /tank tank/home 24.0K 67.0G 8K /export/zfs tank/home/billm 8K 67.0G 8K /export/zfs/billm tank/home/bonwick 8K 10.0G 8K /export/zfs/bonwick |
Notez que l'utilisateur bonwick ne dispose que de 10 Go d'espace alors que l'utilisateur billm peut utiliser l'intégralité du pool (67 Go).
Pour de plus amples informations sur la visualisation de l'état du système de fichiers, reportez-vous à la section Envoi de requêtes sur les informations des systèmes de fichiers ZFS.
Pour de plus amples informations sur l'utilisation et le calcul de l'espace disque, reportez-vous à la section Comptabilisation de l'espace disque ZFS.