on it road.com
解决方案
尽管这是 solaris 10 非全局Zone中的限制,但我们可以使用 3 种替代方法来克服此限制。
备选方案 1:通过 LOFS 从全局Zone共享资源:
在全局Zone上:
是超级用户,或者拥有所需的权限配置文件。
使用 zonecfg 命令编辑非全局Zone配置
global# zonecfg -z my-zone
- 将文件系统添加到配置中。
zonecfg:my-zone> add fs
- 设置文件系统的挂载点,my-zone 中的/datafiles。
zonecfg:my-zone:fs> set dir=/datafiles
- 指定全局Zone中的/export/datafiles 要挂载为my-zone 中的/datafiles。
zonecfg:my-zone:fs> set special=/export/datafiles
- 设置文件系统类型。
zonecfg:my-zone:fs> set type=lofs
- 结束规范。
zonecfg:my-zone:fs> end
- 验证并提交配置。
zonecfg:my-zone> verify zonecfg:my-zone> commit
在客户端:
# mount -F lofs (global_zone_mount_point) (local_zone_mount_point) where (global_zone_mount_point) ----> /datafiles and (local_zone_mount_point) ----> /export/datafiles/
备选方案 2
使用第三方软件,但不会有来自 Oracle 的技术支持。
备选方案 3
使用 Solaris 11 Native Zones,它可以是 NFS 服务器。
sysadmin 创建了一个非全局Zone并希望从非全局Zone共享一个 zfs 挂载点。
在设置 ZFS 参数“sharenfs”时,他遇到错误:
cannot set property for 'findisk/faktudt_users': 'sharenfs' cannot be set on dataset in a non-global zone
另一种情况是使用 /etc/dfs/dfstab 文件或者在命令行上从非全局Zone共享 ufs 文件系统。
shareall 命令失败:
/usr/sbin/shareall share_nfs: /var/opt/sun: Operation not supported share_nfs: /var/js: Operation not supported share_nfs: /opt/SUNWjet: Operation not supported
系统管理员将无法启动 nfs 服务器服务。
虽然非全局Zone中的 /var/svc/log/network-nfs-server 日志显示错误:
[Jan 2 16:12:41 Executing start method ("/lib/svc/method/nfs-server start") ] The NFS server is not supported in a local zone [ Jan 2 16:12:43 Method "start" exited with status 0 ] [ Jan 2 16:12:43 Stopping because all processes in service exited. ] [ Jan 2 16:12:43 Executing stop method ("/lib/svc/method/nfs-server stop 2274998") ] [ Jan 2 16:12:43 Method "stop" exited with status 0 ]
这是预期的行为。
Solaris 10 非全局Zone不能是 NFS 服务器,即使托管在 Solaris 11 系统上。
日期:2020-09-17 00:15:28 来源:oir作者:oir