In Solaris Zones, only a global zone allows for GFS installation, command execution, and creation and management of GFS Shared File System. However, by sharing the GFS Shared File System in a non-global zone as a loopback virtual file system, you can use the GFS Shared File System also in a non-global zone.
The following is an example to share the GFS Shared File System, which is mounted on /gfs01 in the global zone, on /gfs in the non-global zone whose name is zone01 as lofs.
# zonecfg -z zone01 zonecfg:zone01> add fs zonecfg:zone01:fs> set dir=/gfs <- mount point in the non-global zone zonecfg:zone01:fs> set special=/gfs01 <- mount point of the GFS Shared File System, which is shared as lofs in the global zone zonecfg:zone01:fs> set type=lofs zonecfg:zone01:fs> end zonecfg:zone01> verify zonecfg:zone01> commit zonecfg:zone01> exit |
You can check the setup information by the following command:
# zonecfg -z zone01 info zonename: zone01 (omitted) fs: dir: /gfs special: /gfs01 raw not specified type: lofs options: [] (omitted) # |
Point
To start a non-global zone that shares the GFS Shared File System automatically at system startup, perform the following setting:
Enable the service of GFS: svc:/milestone/fjsvgfs-zones.
Enable the service svc:/milestone/fjsvgfs-zones by executing svcadm(1M).
# svcadm enable svc:/milestone/fjsvgfs-zones |
Check the service is enabled by executing svcs(1). Check that STATE is online.
# svcs svc:/milestone/fjsvgfs-zones STATE STIME FMRI online 10:11:22 svc:/milestone/fjsvgfs-zones:default |
Set the GFS Shared File System to be automatically mounted at node startup.
For the setting, see "11.2.4 Setting vfstab".
Select wait (default) as a start mode of the sfcfrmd daemon.
For the setting, see "9.5 Changing the sfcfrmd daemon's startup mode registered in the management partition".
Without this setting, mounting of the GFS Shared File System may fail at system startup. The following message is output in /var/adm/messages.
ERROR: sfcfs_mount:0010: special is already mounted, mount_point is busy |
For how to recover the failure, see "Response" for the above message in "A.2.6 Error messages (sfcfs_mount command)."
Note
To start a non-global zone that shares the GFS Shared File System on a global zone, mount the GFS Shared File System on the global zone beforehand.
To unmount the GFS Shared File System on a global zone, stop a non-global zone that shares the GFS Shared File System beforehand.
To monitor applications running on a non-global zone by PRIMECLUSTER, use the Warm-standby operation. If not, set the Cmdline resource, which controls the non-global zone, to be started only on a single global zone (only a single SysNode is set).
The number of files that can be concurrently opened on a single node is 5000 per GFS Shared File System. To access the same GFS Shared File System from multiple non-global zones on a single global zone, the number of files that can be concurrently opened is 5000 with a total of the global zone and all non-global zones.
The GFS command cannot be executed on a non-global zone. If the GFS command installed in the /usr/sbin directory of the global zone is executed on a non-global zone, the following error will be detected.
ld.so.1: command: fatal: libsfcfs.so: open failed: No such file or directory |
or
cannot be executed in non-global zone |