Dans le cadre de cette procédure, vous montez un ensemble de données ZFS avec autorisations en lecture/écriture dans une zone étiquetée. Toutes les commandes étant exécutées dans la zone globale, l'administrateur de la zone globale contrôle l'ajout d'ensembles de données ZFS à des zones étiquetées.
L'état de la zone étiquetée doit être au minimum prêt pour qu'elle puisse partager un ensemble de données. L'état de la zone peut être en cours d'exécution.
Avant de commencer
Pour configurer la zone avec l'ensemble de données, vous devez d'abord arrêter la zone. Vous devez être dans le rôle root dans la zone globale.
# zfs create datasetdir/subdir
Le nom de l'ensemble de données peut inclure un répertoire, par exemple zone/data.
# zoneadm -z labeled-zone-name halt
# zfs set mountpoint=legacy datasetdir/subdir
Le paramétrage de la propriété mountpoint ZFS définit l'étiquette du point de montage lorsque celui-ci correspond à une zone étiquetée.
# zfs set sharenfs=on datasetdir/subdir
# zonecfg -z labeled-zone-name # zonecfg:labeled-zone-name> add fs # zonecfg:labeled-zone-name:dataset> set dir=/subdir # zonecfg:labeled-zone-name:dataset> set special=datasetdir/subdir # zonecfg:labeled-zone-name:dataset> set type=zfs # zonecfg:labeled-zone-name:dataset> end # zonecfg:labeled-zone-name> exit
Lorsque vous ajoutez l'ensemble de données en tant que système de fichiers, l'ensemble de données est monté au niveau du fichier /data dans la zone. Cette étape permet de s'assurer que l'ensemble de données n'est pas monté avant que la zone ne soit initialisée.
# zoneadm -z labeled-zone-name boot
Lorsque la zone est initialisée, l'ensemble de données est automatiquement monté en tant que point de montage en lecture/écriture dans la zone labeled-zone-name avec l'étiquette de la zone labeled-zone-name.
Dans cet exemple, l'administrateur ajoute un ensemble de données ZFS à la zone needtoknow et partage l'ensemble de données. L'ensemble de données, zone/data est actuellement assigné au point de montage /mnt. Les utilisateurs de la zone restricted peuvent consulter l'ensemble de données.
Tout d'abord, l'administrateur arrête la zone.
# zoneadm -z needtoknow halt
Etant donné que l'ensemble de données est actuellement assigné à un autre point de montage, l'administrateur supprime l'assignation précédente, puis définit le nouveau point de montage.
# zfs set zoned=off zone/data # zfs set mountpoint=legacy zone/data
Ensuite, l'administrateur partage l'ensemble de données.
# zfs set sharenfs=on zone/data
Puis, dans les interfaces interactives zonecfg, l'administrateur ajoute explicitement l'ensemble de données à la zone needtoknow.
# zonecfg -z needtoknow # zonecfg:needtoknow> add fs # zonecfg:needtoknow:dataset> set dir=/data # zonecfg:needtoknow:dataset> set special=zone/data # zonecfg:needtoknow:dataset> set type=zfs # zonecfg:needtoknow:dataset> end # zonecfg:needtoknow> exit
Ensuite, l'administrateur initialise la zone needtoknow.
# zoneadm -z needtoknow boot
L'ensemble de données est désormais accessible.
Les utilisateurs de la zone restricted, qui domine la zone needtoknow, peuvent afficher le jeu de données monté en basculant dans le répertoire /data. Du point de vue de la zone globale, ils utilisent le chemin complet de l'ensemble de données monté. Dans cet exemple, machine1 est le nom d'hôte du système qui inclut la zone étiquetée. L'administrateur a assigné ce nom d'hôte à une adresse IP non partagée.
# cd /net/machine1/zone/needtoknow/root/data
Dépannage
Si la tentative d'accès à l'ensemble de données depuis l'étiquette de niveau supérieur renvoie l'erreur not found (introuvable) ou No such file or directory (Fichier ou répertoire introuvable), l'administrateur doit redémarrer le service de montage automatique à l'aide de la commande svcadm restart autofs.