Pour créer un pool de stockage, exécutez la commande zpool create. Cette commande prend un nom de pool et un nombre illimité de périphériques virtuels en tant qu'arguments. Le nom de pool doit se conformer aux conventions d'attribution de noms décrites à la section Exigences d'attribution de noms de composants ZFS.
La commande suivante crée un pool appelé tank et composé des disques c1t0d0 et c1t1d0:
# zpool create tank c1t0d0 c1t1d0 |
Ces noms de périphériques représentant les disques entiers se trouvent dans le répertoire /dev/dsk et ont été étiquetés de façon adéquate par ZFS afin de contenir une tranche unique de grande taille. Les données sont entrelacées de façon dynamique sur les deux disques.
Pour créer un pool mis en miroir, utilisez le mot-clé mirror suivi du nombre de périphériques de stockage que doit contenir le miroir. Pour spécifier plusieurs miroirs, répétez le mot-clé mirror dans la ligne de commande. La commande suivante crée un pool avec deux miroirs bidirectionnels :
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0 |
Le second mot-clé mirror indique qu'un nouveau périphérique virtuel de niveau supérieur est spécifié. Les données sont dynamiquement entrelacées sur les deux miroirs, ce qui les rend redondantes sur chaque disque.
Pour plus d'informations sur les configurations mises en miroir recommandées, consultez le site suivant :
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
Actuellement, les opérations suivantes sont prises en charge dans une configuration ZFS en miroir :
Ajout d'un autre jeu de disques comme périphérique virtuel (vdev) supplémentaire de niveau supérieur à une configuration en miroir existante. Pour plus d'informations, reportez-vous à la rubrique Ajout de périphériques à un pool de stockage.
Connexion de disques supplémentaires à une configuration en miroir existante ou connexion de disques supplémentaires à une configuration non répliquée pour créer une configuration en miroir. Pour plus d'informations, reportez-vous à la section Connexion et séparation de périphériques dans un pool de stockage .
Remplacement d'un ou de plusieurs disques dans une configuration en miroir existante, à condition que les disques de remplacement soient d'une taille supérieure ou égale à celle du périphérique remplacé. Pour plus d'informations, reportez-vous à la section Remplacement de périphériques dans un pool de stockage.
Retrait d'un ou de plusieurs disques dans une configuration en miroir, à condition que les périphériques restants procurent la redondance qui convient à la configuration. Pour plus d'informations, reportez-vous à la section Connexion et séparation de périphériques dans un pool de stockage .
Scission d'une configuration mise en miroir en déconnectant l'un des disques en vue de créer un nouveau pool identique. Pour plus d'informations, reportez-vous à la section Création d'un pool par scission d'un pool de stockage ZFS mis en miroir.
Vous ne pouvez pas forcer la suppression d'un périphérique qui n'est pas un périphérique de journal ni de cache d'un pool de stockage mis en miroir. Cette fonction fait l'objet d'une demande d'amélioration.
Vous pouvez installer et initialiser un système de fichiers racine ZFS. Vérifiez les informations de configuration du pool racine :
Les disques utilisés pour le pool racine doivent avoir une étiquette VTOC (SMI) et le pool doit être créé avec des tranches de disque.
Le pool racine doit être créé sous la forme d'une configuration en miroir ou d'une configuration à disque unique. Vous ne pouvez pas ajouter d'autres disques mis en miroir pour créer plusieurs périphériques virtuels de niveau supérieur à l'aide de la commande zpool add. Toutefois, vous pouvez étendre un périphérique virtuel mis en miroir à l'aide de la commande zpool attach.
Les configurations RAID-Z ou entrelacées ne sont pas prises en charge.
Un pool racine ne peut pas avoir de périphérique de journal distinct.
Si vous tentez d'utiliser une configuration non prise en charge pour un pool racine, un message tel que le suivant s'affiche :
ERROR: ZFS pool <pool-name> does not support boot environments |
# zpool add -f rpool log c0t6d0s0 cannot add to 'rpool': root pool can not have multiple vdevs or separate logs |
Pour plus d'informations sur l'installation et l'initialisation d'un système de fichiers racine ZFS, reportez-vous Chapitre 5Installation et initialisation d'un système de fichiers racine Oracle Solaris ZFS.
La création d'un pool RAID-Z à parité simple est identique à celle d'un pool mis en miroir, à la seule différence que le mot-clé raidz ou raidz1 est utilisé à la place du mot-clé mirror. Les exemples suivants illustrent la création d'un pool avec un périphérique RAID-Z unique composé de cinq disques :
# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0 |
Cet exemple montre que les disques peuvent être spécifiés à l'aide de leurs noms de périphérique abrégés ou complets. Les deux éléments /dev/dsk/c5t0d0 et c5t0d0 font référence au même disque.
Vous pouvez créer une configuration RAID-Z à double ou à triple parité à l'aide du mot-clé raidz2 ou raidz3 lors de la création du pool. Par exemple :
# zpool create tank raidz2 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 # zpool status -v tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c3t0d0 ONLINE 0 0 0 c4t0d0 ONLINE 0 0 0 c5t0d0 ONLINE 0 0 0 errors: No known data errors |
# zpool create tank raidz3 c0t0d0 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0 # zpool status -v tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz3-0 ONLINE 0 0 0 c0t0d0 ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c3t0d0 ONLINE 0 0 0 c4t0d0 ONLINE 0 0 0 c5t0d0 ONLINE 0 0 0 c6t0d0 ONLINE 0 0 0 c7t0d0 ONLINE 0 0 0 errors: No known data errors |
Actuellement, les opérations suivantes sont prises en charge dans une configuration RAID-Z ZFS :
Ajout d'un autre jeu de disques comme périphérique virtuel (vdev) supplémentaire de niveau supérieur à une configuration RAID-Z existante. Pour plus d'informations, reportez-vous à la rubrique Ajout de périphériques à un pool de stockage.
Remplacement d'un ou de plusieurs disques dans une configuration RAID-Z existante, à condition que les disques de remplacement soient d'une taille supérieure ou égale au celle du périphérique remplacé. Pour plus d'informations, reportez-vous à la section Remplacement de périphériques dans un pool de stockage.
Actuellement, les opérations suivantes ne sont pas prises en charge dans une configuration RAID-Z :
Connexion d'un disque supplémentaire à une configuration RAID-Z existante.
Déconnexion d'un disque d'une configuration RAID-Z, sauf si vous déconnectez un disque remplacé par un disque de rechange ;
Vous ne pouvez pas forcer la suppression d'un périphérique qui n'est pas un périphérique de journal ni de cache à partir d'une configuration RAID-Z. Cette fonction fait l'objet d'une demande d'amélioration.
Pour obtenir des informations supplémentaire, reportez-vous à la section Configuration de pool de stockage RAID-Z.
Par défaut, le ZIL est attribué à partir de blocs dans le pool principal. Il est cependant possible d'obtenir de meilleures performances en utilisant des périphériques de journalisation d'intention distincts, notamment une NVRAM ou un disque dédié. Pour plus d'informations sur les périphériques de journal ZFS, reportez-vous à la section Configuration de périphériques de journal ZFS distincts.
Vous pouvez installer un périphérique de journalisation ZFS au moment de la création du pool de stockage ou après sa création.
L'exemple suivant explique comment créer un pool de stockage mis en miroir contenant des périphériques de journal mis en miroir :
# zpool create datap mirror c1t1d0 c1t2d0 mirror c1t3d0 c1t4d0 log mirror c1t5d0 c1t8d0 # zpool status datap pool: datap state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM datap ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 c1t2d0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c1t3d0 ONLINE 0 0 0 c1t4d0 ONLINE 0 0 0 logs mirror-2 ONLINE 0 0 0 c1t5d0 ONLINE 0 0 0 c1t8d0 ONLINE 0 0 0 errors: No known data errors |
Pour plus d'informations sur la récupération suite à une défaillance de périphérique de journal, reportez-vous à l'Exemple 11–2.
Vous pouvez créer un pool de stockage avec des périphériques de cache afin de mettre en cache des données de pool de stockage. Par exemple :
# zpool create tank mirror c2t0d0 c2t1d0 c2t3d0 cache c2t5d0 c2t8d0 # zpool status tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c2t1d0 ONLINE 0 0 0 c2t3d0 ONLINE 0 0 0 cache c2t5d0 ONLINE 0 0 0 c2t8d0 ONLINE 0 0 0 errors: No known data errors |
Prenez en compte les points suivants lorsque vous envisagez de créer un pool de stockage ZFS avec des périphériques de cache :
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.
La capacité et les lectures sont contrôlables à l'aide de la commande zpool iostat.
Lors de la création du pool, vous pouvez ajouter un ou plusieurs caches. Ils peuvent également être ajoutés ou supprimés après la création du pool. Pour plus d'informations, reportez-vous à l'Exemple 4–4.
Les périphériques de cache ne peuvent pas être mis en miroir ou faire partie d'une configuration RAID-Z.
Si une erreur de lecture est détectée sur un périphérique de cache, cette E/S de lecture est à nouveau exécutée sur le périphérique de pool de stockage d'origine, qui peut faire partie d'une configuration RAID-Z ou en miroir. Le contenu des périphériques de cache est considéré comme volatile, comme les autres caches système.