Nexenta : solution de stockage basée sur ZFS et Ubuntu - 4 1

Nexenta : solution de stockage basée sur ZFS et Ubuntu – 4

Création de dataset au sein d’un pool

Jusqu’à présent, vous avez fusionné tous les disques dans un disque virtuel de très grande capacité. Il vous reste à organiser cet espace. On ne peut pas réellement parler de partitions où cela s’entend avec d’autres systèmes de fichiers sous Linux ou Windows. Il s’agit d’espaces dynamiques, ajustables à volonté et potentiellement limités uniquement par la taille du pool ; lequel est également extensible. Ces espaces sont appelés des datasets.

Vous allez maintenant créer un premier dataset nommé nfs-share dans le pool nommé data

sudo zfs create data/nfs-share


La commande zfs list affiche l’intégralité des partitions du disque virtuel.

sudo zfs list

NAMEUSEDAVAILREFERMOUNTPOINT
data/nfs-share5.44T3.21M/data/nfs-share

Vous noterez que le contenu du dataset est directement accessible depuis le point de montage /data/nfs-share.

La capacité maximale du contenu de ce dataset est celle du pool data soit 5To.

Gestion de la taille des partitions

Les partitions ZFS ne sont pas limitées en taille individuellement. Ceci signifie que toutes les partitions partagent la totalité du disque. L’espace est alloué en fonction des besoins. Toutefois, il peut être nécessaire de limiter la taille d’une partition.

Pour cela, vous pouvez utiliser la commande zfs set quota. Dans l’exemple ci-dessous, le data data/nfs-share sera limité à une taille de 10Go.

zfs set quota=10G data/nfs-share


La commande zfs get quota permet d’afficher les quotas attribués à une partition.

zfs get quota data/nfs-share


Inversement, il peut être utile de réserver un minimum d’espace pour une partition et ainsi s’assurer que l’espace ne viendra pas à manquer le jour où il sera utilisé. Cette opération peut être réalisée avec la commande zfs set reservation. Dans l’exemple ci-dessous, la partition data/nfs-share se voit réserver 1Go sur le disque.

zfs set reservation=1G data/nfs-share


Tapez la commande zfs get all data/nfs-share pour s’assurer que les modifications ont bien été appliquées (Listing 1).

Listing 1.

[shell] NAME PROPERTY VALUE SOURCE
data/nfs-share type filesystem –
data/nfs-share creation ven mai 15 12:44 2009 –
data/nfs-share used 24,0K –
data/nfs-share available 10,0G –
data/nfs-share referenced 24,0K –
data/nfs-share compressratio 1.00x –
data/nfs-share mounted no –
data/nfs-share quota 10G local
data/nfs-share reservation 1G local
data/nfs-share recordsize 128K default
data/nfs-share mountpoint /data/nfs-share local
data/nfs-share sharenfs off default
data/nfs-share checksum on default
data/nfs-share compression off default
data/nfs-share atime on default
data/nfs-share devices on default
data/nfs-share exec on default
data/nfs-share setuid on default
data/nfs-share readonly off default
data/nfs-share zoned off default
data/nfs-share snapdir hidden default
data/nfs-share aclmode groupmask default
data/nfs-share aclinherit restricted default
data/nfs-share canmount on default
data/nfs-share shareiscsi off default
data/nfs-share xattr on default
data/nfs-share copies 1 default
data/nfs-share version 3 –
data/nfs-share utf8only off –
data/nfs-share normalization none –
data/nfs-share casesensitivity sensitive –
data/nfs-share vscan off default
data/nfs-share nbmand off default
data/nfs-share sharesmb off default
data/nfs-share refquota none default
data/nfs-share refreservation none default
data/nfs-share primarycache all default
data/nfs-share secondarycache all default
data/nfs-share usedbysnapshots 0 –
data/nfs-share usedbydataset 24,0K –
data/nfs-share usedbychildren 0 –
data/nfs-share usedbyrefreservation 0[/shell]

Au passage, vous noterez que la liste des options est assez longue. On y trouve notamment l’option de compression des données en temps réel.

ZFS supporte la compression native des datasets. Vous pouvez commander la compression du dataset nfs-share avec la commande :

sudo zfs set compression=on data/nfs-share


Vous pourrez facilement atteindre un taux de compression de 1.4 sans dégradation notable des performances.

Depuis fin décembre 2009, un dataset dispose également d’une option de déduplication de données en ligne. Contrairement à la compression, la déduplication factorise la réduction de volume en ne stockant qu’une fois un bloc de donnée déjà présent dans un dataset.

Suppression d’une partition

La suppression du dataset nfs-share du pool nommé data est aussi simple que :

sudo zpool destroy data/nfs-share


Partage d’un dataset en NFS

Si vous souhaitez partager tout le contenu du dataset nfs-share au travers du protocole NFS, il vous suffira de tapez la commande :

sudo zfs set sharenfs=anon=0 data/nfs-share


La séquence sharenfs=anon=0 nous affranchi de tout problème de lecture/écriture sur le partage lié à des droits d’utilisation du “dataset”. Si vous aviez saisi sharenfs=on, une authentification avec un compte utilisateur NexentaCore valide serait requis pour écrire dans le dataset. Si votre baie dispose de plusieurs cartes réseau, le partage est disponible depuis chacune des adresses IP. Vous pouvez équilibrer la charge entre les deux cartes réseaux configurant vos serveurs pour qu’ils s’adressent à la baie au travers des multiples cartes.

Partage d’un dataset en iSCSI

Si vous souhaitez partager un dataset au travers du protocole ISCSI, sa taille doit impérativement être figée. Il faut s’imaginer que le dataset est en réalité un fichier stocké dans le pool et que c’est le contenu de ce fichier qui est présenté au réseau au travers de ISCSI.

La création d’un dataset de 1To s’effectue avec la commande suivante :

sudo zfs create -V 1T data/iscsi-share


On partage ensuite ce dataset avec la commande :

sudo zfs set shareiscsi=on data/iscsi-share


Il faut bien avoir en tête que si ZFS ne connaît pas de limitations pratiques pour la taille des pool et des datasets, ce n’est pas le cas des autres systèmes d’exploitation. Aussi, dans la pratique, il est inutile d’exporter un dataset de plus de 2To car il ne pourra pas être exploité par d’autres systèmes que Solaris.

Pour valider que le partage est bien actif et connaître son identifiant de partage, tapez la commande :

sudo itadm list-target

Figure 32: création d’un partage ISCSI Nexenta : solution de stockage basée sur ZFS et Ubuntu - 4 2

Si votre baie dispose de plusieurs cartes réseau, le partage est disponible depuis chacune des adresses IP. Vous pouvez équilibrer la charge entre les deux cartes réseaux configurant vos serveurs pour qu’ils s’adressent à la baie au travers des multiples cartes.

Rendez-vous demain pour la dernière partie consacrée à la solution de stockage Nexenta – Configurer Vmware ESXi pour utiliser NexentaCore.

A propos Olivier Olejniczak

Cofondateur de SynerGeek.fr. Passionné d'informatique, je m'intéresse plus particulièrement aux technologies de virtualisation et de stockage. J'apprécie la liberté et la quasi-absence de frontières à mon imagination qu'offre l'OpenSource et Linux. Professionnellement, je travaille exclusivement avec les outils Microsoft. Les pieds bien sur terre et ancrés dans le quotidien de l'entreprise, j'aime faire partager mes découvertes et contribuer à un meilleur usage des technologies. Vous aussi, rejoignez-nous sur Synergeek et partagez votre expérience!

Je vous propose également...

Signature HTML dans Mail Mac OS X Mavericks 3

Signature HTML dans Mail Mac OS X Mavericks

Les méthodes changent entre les différentes version d’OS Apple pour intégrer une signature html dans …

Comment accélérer démarrage de Windows 7 ou 8 4

Comment accélérer démarrage de Windows 7 ou 8

Voici un tutoriel en vidéo pour apprendre comment accélérer le boot de Windows 7. La même démarche peut-être utilisée pour Vista ou Windows 8. Ce tuto est réservé à des utilisateurs avertis. Il est toujours bon de se faire une petite image disque avant ces manip'.