JavaScript is required to for searching.
跳过导航链接
退出打印视图
手册页第 1M 部分:系统管理命令     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

简介

系统管理命令-第 1 单元

系统管理命令-第 2 单元

系统管理命令-第 3 单元

update_drv(1M)

useradd(1M)

userdel(1M)

usermod(1M)

utmp2wtmp(1M)

utmpd(1M)

uucheck(1M)

uucico(1M)

uucleanup(1M)

uucpd(1M)

uusched(1M)

Uutry(1M)

uutry(1M)

uuxqt(1M)

vbiosd(1M)

vdiskadm(1M)

virt-convert(1M)

virtinfo(1M)

vmstat(1M)

vntsd(1M)

volcopy(1M)

volcopy_ufs(1M)

vrrpadm(1M)

vrrpd(1M)

vscanadm(1M)

vscand(1M)

vtdaemon(1M)

wall(1M)

wanboot_keygen(1M)

wanboot_keymgmt(1M)

wanboot_p12split(1M)

wanbootutil(1M)

wbemadmin(1M)

wbemconfig(1M)

wbemlogviewer(1M)

wcadmin(1M)

whodo(1M)

wpad(1M)

wracct(1M)

wtmpfix(1M)

wusbadm(1M)

ypbind(1M)

ypinit(1M)

ypmake(1M)

ypmap2src(1M)

yppasswdd(1M)

yppoll(1M)

yppush(1M)

ypserv(1M)

ypserv_resolv(1M)

ypset(1M)

ypstart(1M)

ypstop(1M)

ypupdated(1M)

ypxfr(1M)

ypxfr_1perday(1M)

ypxfr_1perhour(1M)

ypxfr_2perday(1M)

ypxfrd(1M)

zdb(1M)

zdump(1M)

zfs(1M)

zfs_allow(1M)

zfs_encrypt(1M)

zfs_share(1M)

zic(1M)

zoneadm(1M)

zoneadmd(1M)

zonecfg(1M)

zonep2vchk(1M)

zonestatd(1M)

zpool(1M)

zstreamdump(1M)

zfs_share

- 共享和取消共享 ZFS 文件系统

用法概要

zfs [-?]
zfs help subcommand | help | property property-name | permission
zfs create [-p] [-o sharenfs=on | sharesmb=on] [-o property ... filesystem
zfs set share=name=sharename,path=pathname,[desc=description],
prot=smb | nfs[,property=value[,...]] filesystem
zfs  set [-r] sharenfs=on | off filesystem
zfs  set [-r] sharesmb=on | off filesystem
zfs set -c share=name=sharename filesystem
zfs get [-r] sharenfs filesystem ...
zfs  get [-r] sharesmb filesystem ...
zfs  get  [-r] share filesystem ...
zfs share -a | filesystem
zfs unshare -a filesystem|mountpoint

描述

zfs set share 命令用于在 ZFS 存储池中创建 NFS 或 SMB 共享,如 zpool(1M) 中所述。将 sharenfssharesmb 属性设置为 on 可发布共享。您也可以通过使用 zfs share 命令发布 ZFS 数据集的 NFS 共享,通过使用 zfs unshare 命令撤销发布 ZFS 数据集的 NFS 共享。

本机共享文件系统属性

文件系统属性分为两种类型:本机属性和用户定义的(或“用户”)属性。本机属性用于显示信息或控制 ZFS 行为。此外,本机属性分为可编辑属性和只读属性。

属性继承自父项,但子项所覆盖的除外。有些属性仅适用于某些类型的数据集(文件系统、卷或快照)。

以下本机属性可用于更改 ZFS 文件系统的行为,共享某个文件系统时通常会使用这些本机属性。

使用以下本机 NFS 和 SMB 属性可以更改 ZFS 共享的行为。

nbmand=on | off

控制是否应该用 nbmand(非分块强制性锁定)挂载文件系统。此选项用于 SMB 客户机。对此属性所做的更改只有在卸载文件系统并重新挂载后才有效。有关 nbmand 挂载的更多信息,请参见 mount(1M)

readonly=on | off

控制是否可以修改此数据集。缺省值为 off(关闭)。

该属性也可通过其简短列名 rdonly 来引用。

sharenfs=on | off

控制是否作为 NFS 共享发布 ZFS 数据集。您也可以通过使用 zfs share 命令发布 ZFS 数据集的 NFS 共享,通过使用 zfs unshare 命令撤销发布 ZFS 数据集的 NFS 共享。两种发布 NFS 共享的方法均需要事先设置 NFS 共享属性。有关设置 NFS 共享属性的方法,请参见 zfs set share 命令。

在更改 sharenfs 属性时,只有在此属性以前设置为 off 或在更改此属性前已发布共享的情况下,才会使用已通过 zfs set share 命令设置的任何新选项重新发布文件系统共享及继承此属性的任何子项。如果新属性值是 off,则撤销发布文件系统共享。

sharesmb=on | off

控制是否作为 SMB 共享发布 ZFS 数据集。您也可以通过使用 zfs share 命令发布 ZFS 数据集的 SMB 共享,通过使用 zfs unshare 命令撤销发布 ZFS 数据集的 SMB 共享。两种发布 SMB 共享的方法均需要事先设置 SMB 共享属性。有关设置 SMB 共享属性的信息,请参见 zfs set share 命令。

由于 SMB 共享需要资源名称,因此根据数据集名称构建唯一的资源名称。构建的名称是数据集名称的一个副本,区别在于资源名称中不合法的数据集名称字符被替换为下划线字符 (_)。此外,还支持伪属性 "name",以便您用指定的名称替换数据集名称。然后使用指定的名称替换继承情况下的数据集前缀。例如,如果将数据集 data/home/john 设置为 name=john,则 data/home/john 的资源名称是 john。如果 john 具有一个子数据集 data/home/john/backups,则其资源名称是 john_backups

在创建 SMB 共享时,以 .zfs/shares 目录中的条目显示 SMB 共享名称。您可以使用 lschmod 命令在此目录的条目上显示共享级别的 ACL。

在更改 sharesmb 属性时,如果此属性以前设置为 off 或在更改此属性前已发布共享,则会使用已通过 zfs set share 命令设置的任何新选项重新发布数据集共享及继承此属性的任何子项。如果新属性值是 off,则撤销发布数据集共享。

vscan=on | off

控制打开和关闭常规文件时是否应为其扫描病毒。除了启用此属性以外,为了进行病毒扫描也必须启用病毒扫描服务。缺省值为 off(关闭)。

在创建文件系统后无法更改以下属性,因此在创建文件系统时应设置这些属性。如果未使用 zfs createzpool create 命令设置属性,则从父数据集继承这些属性。如果在这些功能获得支持以前已创建的父数据集缺少这些属性,则新文件系统将为这些属性采用缺省值。

casesensitivity=sensitive | insensitive | mixed

指示文件系统使用的文件名匹配算法是否应区分大小写、不区分大小写或允许混用大小写的组合匹配方式。casesensitivity 属性的缺省值为 mixed。传统上,UNIX 和 POSIX 文件系统的文件名区分大小写。

casesensitivity 属性的值 mixed 指示文件系统对区分大小写和不区分大小写的匹配行为要求均可支持。当前,在支持混合行为的文件系统上,不区分大小写的匹配行为仅限于 Solaris SMB 服务器产品。有关 mixed 值的行为的更多信息,请参见《Oracle Solaris 管理:ZFS 文件系统》

normalization = none | formC | formD | formKC | formKD

指示每当比较两个文件名时,文件系统是否应为文件名执行 unicode 标准化,以及应使用哪种标准化算法。文件名在存储时始终保持未修改状态,并将其标准化作为任何比较进程的一部分。如果将此属性设置为 none 以外的合法值,并且不指定 utf8only 属性,则 utf8only 属性自动设置为 onnormalization 属性的缺省值为 none。在创建文件系统后无法更改此属性。

utf8only=on | off

指示在文件名含有 UTF-8 字符代码集中不存在的字符情况下,文件系统是否应拒绝此类文件名。如果已将此属性显式设置为 off,则不允许将规范化属性显式设置或常规设置为 noneutf8only 属性的缺省值为 off。在创建文件系统后无法更改此属性。

子命令

修改状态的所有子命令将以原始形式永久记录到池中。

zfs ?

显示帮助消息。

zfs help command | help | property property-name | permission

显示 zfs 命令的用法信息。可以显示特定命令、属性或委托权限的帮助。如果显示特定命令或属性的帮助,将显示命令语法或属性值。在不带任何参数的情况下使用 zfs help 将显示完整的 zfs 命令列表。

zfs create [-p] [-o sharenfs=on | sharesmb=on -oproperty=value] ... filesystem

创建新的 ZFS 文件系统。该文件系统会根据从父项继承的 mountpoint 属性自动挂载。

-o property=value

与在创建数据集时调用命令 zfs set property=value 一样设置指定的属性。在创建时也可设置任何可编辑的 ZFS 属性。可以指定多个 -o 选项。如果在多个 -o 选项中指定了相同的属性,则会导致错误。

zfs get [-r] share [filesystem]

显示所有定义的共享,或显示指定文件系统或后代文件系统的定义共享。

zfs set share=name=sharename,path=pathname,[desc=description],prot=smb | nfs[,property=value[,...]] filesystem

定义 ZFS 数据集的 NFS 或 SMB 文件共享属性。建立 NFS 或 SMB 文件共享属性后,可以通过将 sharenfssharesmb 属性设置为 on 来发布 ZFS 文件系统的 NFS 或 SMB 共享。

需要以下共享属性:

share=name=sharename

标识 NFS 或 SMB 共享名称。共享名称的最大长度为 80 个字符。

path=pathname

标识要共享的数据集的物理路径或要共享的数据集中的子目录。

prot=smb | nfs

标识 NFS 或 SMB 文件共享协议。

以下共享属性是可选的:

desc=description

标识用于描述共享资源的文本字符串。描述中的空格或逗号必须括在引号中 (" ")。

ro= | rw=

标识共享将以读/写还是只读形式提供给所有客户机。您也可以指定包含主机名、IP 地址或网络组的逗号分隔列表。

root=

标识指定主机的超级用户或拥有根访问权限的主机列表。缺省情况下,没有主机拥有根访问权限。

sec=

标识 NFS 服务器安全模式,例如 sysdhkrb5 等。有关支持的安全模式信息,请参见 nfssec(5)

必须在 prot=nfs 之后但在任何 sec 属性之前指定以下可选的 NFS 属性。

anon=TYPE_USER
nosub=[true|false]
nosuid=[true|false]
aclok=[true|false]
public=[true|false]
index=filename
log=TYPE_LOGTAG
cksum=TYPE_STRINGSET

必须在 prot=smb 之后指定以下可选的 SMB 属性:

ad-container=string
abe=[true|false]
csc=[disabled|manual|auto|vdo]
catia=[true|false]
guestok=[true|false]
ro=access-list
rw=access-list
none=access-list

有关 NFS 和 SMB 共享属性的详细说明,请参见 share_nfs(1M)share_smb(1M)

zfs set [-r] property=value filesystem|volume|snapshot ...

对每个数据集将该属性设置为给定值。只能编辑某些属性。有关可设置哪些属性和可接受的值的更多信息,请参见“属性”一节。

-r

在子数据集的整个子树中递归应用设置的有效值。根据属性,可以设置或继承有效值。

zfs set -c share=name=sharename filesystem

删除文件系统共享。-c 选项将此子命令与上面介绍的 zfs set share 命令区别开来。

zfs share -a | dataset

根据共享属性值并且如果已设置 sharenfssharesmb 属性,发布 ZFS 数据集的 NFS 或 SMB 共享。

通过 NFS 或 SMB 协议共享数据集意味着,数据集数据将在网络上可用。设置了 sharenfssharesmb 属性的 ZFS 数据集将在引导系统时自动共享。

-a

根据共享属性值以及 sharenfssharesmb 属性的设置,共享所有 ZFS 数据集。

dataset

根据共享属性值以及 sharenfssharesmb 属性的设置,共享指定的数据集。

zfs unshare -a | dataset|mountpoint

取消共享设置了 sharenfssharesmb 属性的所有 ZFS 数据集。

-a

取消共享所有共享的 ZFS 数据集。自动在引导过程中调用。

dataset|mountpoint

取消共享指定的数据集。也可以为该命令指定系统上共享的 ZFS 数据集的路径。

示例

示例 1 创建 ZFS 文件系统的 NFS 或 SMB 共享

创建 ZFS 文件系统的 NFS 或 SMB 共享的过程包含以下两个步骤:

  1. 使用 zfs set share 命令创建共享以识别 NFS 或 SMB 共享属性。

    要创建 NFS 共享,请执行以下命令:

    # zfs create -o mountpoint=/data tank/data
    # zfs set share=name=data,path=/data,prot=nfs tank/data

    要创建 SMB 共享,请执行以下命令:

    # zfs set share=name=fs,path=/fs,prot=smb,ro=@10-132-60-234 \
    tank/fs
  2. 通过设置 sharenfssharesmb 属性发布共享。使用诸如以下的命令:

    # zfs set sharenfs=on tank/data
    # zfs set sharesmb=on tank/fs

示例 2 显示 NFS 或 SMB 共享信息

显示 NFS 或 SMB 共享信息:

# zfs get share
NAME                      PROPERTY  VALUE  SOURCE
tank/data                 share     name=data,path=/data,prot=nfs  local
tank/fs                   share     name=fs,path=/fs,prot=smb,ro... local

示例 3 添加或更改 ZFS 文件系统上的共享属性

如下所示,通过添加新选项(如 hostA 的只读)更改共享:

# zfs set share=name=data,prot=nfs,ro=hostA tank/data

示例 4 删除 ZFS 文件系统的 NFS 或 SMB 共享

使用 zfs set -c 命令删除共享:

# zfs set -c share=name=fs tank/fs
share 'fs' was removed.

退出状态

将返回以下退出值:

0

成功完成。

1

出现错误。

2

指定的命令行选项无效。

属性

有关以下属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/file-system/zfs
接口稳定性
Committed(已确定)

另请参见

chmod(1)chown(1)pktool(1)ssh(1)mount(1M)shadowd(1M)share(1M)share_nfs(1M)share_smb(1M)unshare(1M)zfs(1M)zfs_allow(1M)zfs_encrypt(1M)zonecfg(1M)zpool(1M)chmod(2)chown(2)stat(2)write(2)fsync(3C)dfstab(4)vfstab(4)attributes(5)

请参见 gzip(1) 手册页,该页不属于 SunOS 手册页集合。

有关使用其他 ZFS 功能的信息,请参见《Oracle Solaris 管理:ZFS 文件系统》