Oracle® Solaris Cluster 参考手册

退出打印视图

更新时间: 2014 年 7 月,E51743-01
 
 

clnasdevice(1CL)

名称

clnasdevice, clnas - 为 Oracle Solaris Cluster 管理对 NAS 设备的访问权限

用法概要

/usr/cluster/bin/clnasdevice -V
/usr/cluster/bin/clnasdevice [subcommand] -?
/usr/cluster/bin/clnasdevice subcommand [options] -v [nasdevice[…]]
/usr/cluster/bin/clnasdevice add -t type {-p name=value
     [,…] | -u userid} [-f passwdfile] [-Z {zoneclustername | global}] 
     nasdevice 
/usr/cluster/bin/clnasdevice add -i {- | clconfigfile}[-t type] 
     [-p name=value | -u userid] {-f passwdfile} [-Z {zoneclustername | global}] 
     {nasdevice
/usr/cluster/bin/clnasdevice add-dir -d directory[,…] [-Z 
     {zoneclustername | global}] nasdevice
/usr/cluster/bin/clnasdevice add-dir -i {- | clconfigfile} [-d all | 
     directory [,…]] [-f passwordfile] [-Z {zoneclustername | global}] 
     {nasdevice
/usr/cluster/bin/clnasdevice export [-o {- | clconfigfile}] [-t 
     type[,…]] [-d all | directory[,…]] [+ | nasdevice[…]]
/usr/cluster/bin/clnasdevice find-dir [-d {all |directory[,...] 
     [-t type[,…]] [-Z {zoneclustername[,…] | global | all}] 
     [+ | nasdevice[…]]
/usr/cluster/bin/clnasdevice list [-t type[,…]] [-Z 
     {zoneclustername[,...] | global | all}] [+ | nasdevice[…]]
/usr/cluster/bin/clnasdevice remove [-t type[,…]] [-Z 
     {zoneclustername | global}] [-F ] {+ | nasdevice[…]}
/usr/cluster/bin/clnasdevice remove-dir -d all | directory[,…] 
     [-Z {zoneclustername | global}] nasdevice
/usr/cluster/bin/clnasdevice set {-p name=value[,…] | -u 
     userid} [-f passwdfile] [-Z {zoneclustername | global}] 
     nasdevice
/usr/cluster/bin/clnasdevice show [-d {all | directory[,...] [-t 
     type[,…]] [-Z {zoneclustername[,…] | global | all}] 
     [+ | nasdevice[…]]

描述

clnasdevice 命令用于管理 NAS 设备及其目录或项目的 Oracle Solaris Cluster 配置信息。

clnas 命令是 clnasdevice 命令的简短格式。clnasclnasdevice 命令是相同的。您可以使用此命令的任一种格式。

此命令的一般格式如下所示:

clnasdevice [subcommand] [options] [operands]

仅当 options 指定 –? 选项或 –V 选项时,才可以省略 subcommand

此命令的每个选项都有长格式和简短格式两种格式。在本手册页“选项”部分给出了两种格式的选项,以及对该选项的描述。

在群集中使用 clnasdevice 命令配置 NAS 设备之前,您的 NAS 设备必须符合以下条件:

  • NAS 设备必须已设置且正常工作。

  • NAS 设备必须已引导且正在运行。

  • NAS 设备的目录必须已创建且可用于群集节点。

  • 如果 NAS 设备将用作法定设备,则必须创建该法定设备的 LUN。有关配置 NAS 法定设备的信息,请参见 clquorum 手册页。

在将设备配置到群集之前,您可能还需要执行其他任务,具体取决于 NAS 设备供应商。有关这些任务的详细信息,请参见“选项”部分的 –t 选项。有关设置 NAS 设备和导出目录的过程,请参阅特定 NAS 设备的文档。

在 NAS 设备完全可操作且准备好为群集提供存储之后,请使用 clnasdevice 命令管理群集中的 NAS 设备配置信息。否则,群集将无法检测到 NAS 设备及其导出目录。因此,群集将无法保护这些目录中信息的完整性。

使用 clnasdevice 命令执行以下管理任务:

  • 创建 NAS 设备配置

  • 更新特定于 NAS 类型的属性

  • 从群集配置中删除 NAS 设备的目录

  • 从群集配置中删除 NAS 设备

只能在活动群集节点上运行 clnasdevice 命令。无论您在哪个节点上运行该命令,运行结果始终相同。

在区域群集中,可以将 clnasdevice 命令与所有子命令(export 除外)一起使用。也可以将 –Z 选项与所有子命令(export 除外)一起使用来指定要将操作限制到的特定区域群集的名称。

您可以从全局群集节点访问所有区域群集信息,但无法从特定区域群集访问其他区域群集信息。如果不将操作限制到特定区域群集,则所用的子命令仅会在当前群集中运行。

子命令

支持以下子命令:

add

将 NAS 设备添加到 Oracle Solaris Cluster 配置中。

使用 –t 选项可指定 NAS 设备的供应商。有关详细信息,请参见“选项”部分的 –t 选项描述。

可能还需要设置其他属性,具体取决于您的 NAS 设备类型。“选项”部分的 –t 选项描述中也介绍了这些必需属性。

超级用户以外的用户需要具有 solaris.cluster.modify 基于角色的访问控制 (role-based access control, RBAC) 授权才能使用该命令。请参见 rbac(5)

另请参见 remove 子命令的描述。

add-dir

将已配置的 NAS 设备的指定目录或项目添加到群集配置中。在使用该子命令之前,必须已在设备上创建这些目录或项目并使其可用于群集。有关创建目录或项目的信息,请参见您的 NAS 设备的文档。

可以使用下列其中一种方法添加 NAS 设备目录或项目:

  • 使用 clnasdevice add 命令在群集中配置 NAS 设备。然后使用 clnasdevice add-dir 命令在群集中配置该设备的目录或项目。

  • 使用 clnasdevice add-dir –i configurationfile 格式的命令可在单个步骤中同时添加设备并配置设备目录或项目。要使用此方法添加目录或项目,请使用 –f 选项提供密码文件。有关该选项的详细信息,请参见“选项”部分。有关更多信息,请参见 clconfiguration(5CL) 手册页。

只要在 NAS 设备上创建新目录或项目并使其可用于群集节点,就需要使用此 add-dir 子命令将目录或项目添加到群集配置。可以使用 find-dir 子命令列出可使用 add-dir 子命令添加到群集的可用目录或项目。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权才能使用该命令。请参见 rbac(5)

另请参见 remove-dir 子命令的描述。

export

导出群集 NAS 设备的配置信息。如果使用 –o 选项指定一个文件,则会将配置信息写入该文件。如果不使用 –o 选项,则会将输出写入标准输出 (stdout)。

export 子命令不会修改群集配置信息。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该命令。请参见 rbac(5)

find-dir

显示群集可能会使用的 NAS 设备上设置的 sun_uss 项目。尚未使用 add-dir 子命令将这些项目添加到群集配置中。输出中列出的这些项目可以在您使用 add-dir 子命令时充当 –d 选项的候选项。

要显示特定类型的 NAS 设备,请指定 -t 选项。

要显示 sun_uss 项目和这些项目内的文件系统,请指定 -v 选项。

要显示特定的 sun_uss NAS 设备项目,请指定 -d 选项。

要显示特定 sun_uss NAS 设备项目和这些项目内的文件系统,请指定 -v-d 选项。

find-dir 子命令不会修改群集配置信息。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该命令。请参见 rbac(5)

list

显示群集中配置的 NAS 设备。

要显示群集中配置的设备的目录及设备类型,请使用详细选项 –v

要显示特定类型的 NAS 设备,请使用 –t 选项。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该命令。请参见 rbac(5)

remove

从 Oracle Solaris Cluster 配置中删除指定的一个或多个 NAS 设备。

如果不指定强制选项 –F,则必须已通过使用 remove-dir 子命令从配置中删除 NAS 设备目录。

如果指定强制选项 –F,该命令将从群集配置中删除 NAS 设备及其目录。请参见 –OPTIONS 中的 F

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权才能使用该命令。请参见 rbac(5)

另请参见 add 子命令的描述。

remove-dir

从 Oracle Solaris Cluster 配置中删除指定的 NAS 目录或项目。

remove-dir 子命令用于删除 –d 选项指定的导出目录或项目。在使用 –d all 时,该子命令可删除指定 NAS 设备的所有目录或项目。

只要从 NAS 设备中删除目录或项目,都需要使用此 remove-dir 子命令从群集配置中删除目录或项目。群集配置中的 NAS 目录或项目必须与从 NAS 设备导出的现有目录或项目相匹配。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权才能使用该命令。请参见 rbac(5)

另请参见 add-dir 子命令的描述。

set

设置特定 NAS 设备的指定属性。

超级用户以外的用户需要具有 solaris.cluster.modify RBAC 授权才能使用该命令。请参见 rbac(5)

show

在未提供任何选项时,显示以下信息:

  • Oracle Solaris Cluster 中配置的所有当前 NAS 设备的列表

  • 每个 NAS 设备的可用目录

  • 与每个 NAS 设备关联的所有属性

要显示特定类型的 NAS 设备,请指定 –t 选项。要显示有关特定设备的信息,请传送 NAS 设备的主机名用作该命令的操作对象。

要显示指定项目中包含的文件系统,请将 –d–v 选项与 show 子命令一起使用。可以使用 all 关键字显示 NAS 设备的所有项目,或者仅显示单个项目。

超级用户以外的用户需要具有 solaris.cluster.read RBAC 授权才能使用该命令。请参见 rbac(5)

选项

支持以下选项:

–?
-–help

显示帮助信息。使用此选项时,不会对任何其他选项执行任何其他处理。

指定此选项时,子命令可有可无。

如果仅指定此选项而不使用子命令,将会显示此命令的子命令列表。

如果使用子命令且指定此选项,将会显示该子命令的用法选项。

–d directory[,…]
-–directory=directory–[,…]
-–directory directory–[,…]
–d project[,…]
-–directory=project–[,…]
-–directory project–[,…]

指定 sun_uss NAS 设备的项目。对于 sun_uss NAS 设备,必须在创建文件系统之前在 NAS 设备上创建项目。项目名称不得以 / 开头。文件系统必须在项目内部创建。project 是一个 sun_uss NAS 设备术语,您可以在一个项目内创建所需数量的文件系统。仅可将此选项与 add-dirremove-direxportshow 子命令一起使用。

此选项接受特殊关键字 all。如果使用 –d all 选项,则会指定位于指定 NAS 设备上的所有目录。

  • 使用 remove-dir 子命令,可删除指定设备上的所有目录。

  • 使用 export 子命令,可将指定设备上的所有目录的配置信息显示到指定输出。

  • 使用 add-dir 子命令和 –i configfile 选项,可添加配置文件中列出的指定 NAS 设备上的所有目录。

  • 如果针对 sun_uss NAS 设备将 showfind-dir 子命令与 –v 选项一起使用,将显示 –d 选项中的指定项目内包含的文件系统。可以使用 all 关键字显示 NAS 设备的所有项目,或者仅显示单个项目。

–F
-–force

强制删除指定的 NAS 设备。

该强制选项仅可与 remove 子命令一起使用。将此强制选项与 remove 子命令一起使用时,可从 Oracle Solaris Cluster 配置中删除 NAS 设备及其已配置目录。

–f passwd-file
-–passwdfile=passwd-file
-–passwdfile passwd-file

指定包含登录到 NAS 设备时要使用的密码的密码文件。

为安全起见,无法在命令行选项中指定密码。为了确保密码安全,请将其置于文本文件中并通过使用 –f 选项指定该文件。如果未指定密码的输入文件,此命令会提示您提供密码。

将输入文件的权限设置为可由 root 用户读取并禁止组访问或全局访问。

clnasdevice add–i 选项一起使用时,如果您的 clconfigfile 不包含密码,则必须使用 –f passwdfile 选项。

在输入文件中,请遵守以下限制:

  • 在单独一行中指定密码。不要跨多行键入密码。

  • 忽略前导空格和制表符。

  • 注释以未加引号的 # 符号开头。可在下一新行中继续输入注释。

    解析器会忽略所有注释。

  • 如果使用输入文件提供设备用户密码,则密码中不能包含 # 符号。

–i clconfigfile
-–input={- | clconfigfile}
-–input {- | clconfigfile}

指定用于创建或修改 NAS 设备的配置信息。此信息必须符合 clconfiguration(5CL) 手册页中定义的格式。此信息可包含在文件中或者通过标准输入 (stdin) 提供。要指定标准输入,请指定 - 而不是文件名。

如果在命令行和 clconfigfile 文件中指定了相同的属性,则优先使用在命令行上设置的属性。

clnasdevice add–i 选项一起使用时,必须使用 –f passwdfile 选项。

–o {- | clconfigfile}
–-output={- | clconfigfile}
–-output {- | clconfigfile}

使用 clconfiguration(5CL) 手册页中定义的格式写入 NAS 设备配置信息。可以将此信息写入到文件或标准输出 (stdout)。要指定标准输出,请指定 - 而不是文件名。

–p name=value[,…]
–-property=name=value[,…]
–-property name value[,…]

指定特定于 NAS 设备类型的属性。

在使用 add 子命令将新的 NAS 设备添加到群集配置中时,必须指定此选项。在使用 set 子命令修改 NAS 设备的属性时,也必须指定此选项。有关更多信息,请参见 –t 选项的描述。

–t nas-device-type
–-type=nas-device-type
–-type nas-device-type

指定 NAS 设备类型。将 NAS 设备添加到 Oracle Solaris Cluster 配置中时,必须指定此选项。NAS 设备类型通过供应商名称进行标识。例如,OracleZFS Storage Appliance NAS 设备类型为 sun_uss

不同类型的 NAS 设备具有不同的属性,有时不具有任何属性。

sun_uss

指定 OracleZFS Storage Appliance NAS 设备。

-p userid=osc_agent [-f passwd-file]-u userid [-f passwdfile]

userid 必须为 osc_agent。在使用 sun_uss 之前,必须下载客户机代码并在所有群集节点上加以安装。此 osc_agent userid 是通过在设备上运行某个工作流创建的。在使用以 userid 作为输入的 clnasdevice 子命令之前,必须已在设备上创建该 userid

userid 和 password 属性为必需属性。

-p "nodeIPs{node}"=[ IP]

此属性可为每个节点指定一个 IP。如果要使用群集节点名称 IP 以外的 IP 来访问 NAS 设备,可以使用 nodeIPsnode 属性指定该 IP。此属性是可选的。如果不指定 IP,系统会使用群集节点名称的 IP。这些 IP 必须与 NAS 设备上项目的 NFS Access Mode 中指定的 IP 相匹配。

如果不指定属性值(例如,-p "nodeIPs{node}"=),则会从群集配置中删除指定节点的 IP,并且系统会使用群集节点名称的 IP。

在添加 sun_uss NAS 设备及其项目之前,必须执行必要的设置。设置任务包括下载客户机代码并在群集节点上加以安装。运行 Configure for Oracle Solaris Cluster NFS 工作流以在设备上创建 userid osc_agent 及其密码。创建其 Share Mode 为无或只读(支持读写模式,但不建议使用)的项目。NFS Access Mode 必须使用“网络”概念并授予对群集节点 IP 的读写访问权。

必须先执行以下任务,然后再将 NAS 设备及其导出目录添加到群集配置:

  • 设置 NAS 设备。

  • 设置目录并使其可用于群集节点。

  • 确定在设备上执行管理任务要使用的用户 ID 及密码。

NAS 设备还必须已启动且正在运行。有关更多信息,请参见Oracle Solaris Cluster With Network-Attached Storage Device Manual

–u userid
-–userid=userid
-–userid userid

指定用于登录到 NAS 设备的用户 ID。

群集需要知道用户 ID 以登录到设备并执行管理职责。

或者,可以使用 –p 选项指定用户 ID。有关详细信息,请参见 –p

此选项只能与 addset 子命令一起使用。

–V
-–version

显示该命令的版本。

指定此选项时,不要将其与子命令、操作数或其他选项结合使用。子命令、操作数或其他选项将被忽略。将显示该命令的版本。不会执行任何其他处理。

–v
-–verbose

将详细信息显示到标准输出 (stdout)。

–Z {zoneclustername | global | all}
–-zoneclustername={zoneclustername | global | all}

指定已注册 nas-device-type 且要对其执行操作的群集。

export 命令以外的所有子命令均支持此选项。

如果指定此选项,还必须指定以下参数之一:

zoneclustername

指定使用此选项的命令仅在名为 zoneclustername 的区域群集中的所有指定 nas-device-type 上进行操作。

global

指定使用此选项的命令仅在全局群集中的所有指定 nas-device-type 上进行操作。

all

如果在全局群集中使用此参数,则会指定使用此参数的命令在所有群集(包括全局群集和所有区域群集)中的所有指定 nas-device-type 上进行操作。

如果在某区域群集中使用此参数,则会指定使用此参数的命令仅在该区域群集中的所有指定 nas-device-type 上进行操作。

操作数

支持以下操作数:

nasdevice

NAS 设备的名称。NAS 设备名称是 NAS 设备通过网络进行通信所使用的主机名。群集需要 NAS 设备的 NAS 主机名来与 NAS 设备通信。如果子命令接受多个 NAS 设备,则可以使用加号 (+) 指定所有 NAS 设备。对于 addadd-dir 子命令,加号操作对象指示指定配置文件中的所有 NAS 设备。

退出状态

如果命令对于所有指定的操作数均成功执行,则返回零 (CL_NOERR)。如果某个操作数出错,命令会继续处理操作数列表中的下一个操作数。返回的退出代码始终反映最先发生的错误。

可能会返回以下退出值:

0 CL_NOERR

没有错误

您发出的命令已成功完成。

1 CL_ENOMEM

交换空间不足

某个群集节点耗尽了交换内存或其他操作系统资源。

3 CL_EINVAL

参数无效

您键入的命令不正确,或者使用 –i 选项提供的群集配置信息语法不正确。

6 CL_EACCESS

权限被拒绝

指定的对象不可访问。要发出命令,可能需要拥有超级用户或 RBAC 访问权限。有关更多信息,请参见 su(1M)rbac(5) 手册页。

15 CL_EPROP

属性无效

您使用 –p–y–x 选项指定的属性或值不存在或不被允许。

18 CL_EINTERNAL

遇到内部错误

内部错误表示软件缺陷或其他缺陷。

36 CL_ENOENT

没有这样的对象

由于以下某个原因,找不到您所指定的对象:

  • 该对象不存在。

  • 您尝试使用 –o 选项创建的配置文件路径中的某个目录不存在。

  • 您尝试使用 –i 选项访问的配置文件包含错误。

39 CL_EEXIST

对象已存在

您所指定的设备、设备组、群集互连组件、节点、群集、资源、资源类型、资源组或专用字符串已存在。

41 CL_ETYPE

类型无效

您使用 –t–p 选项指定的类型不存在。

示例

示例 1 将 NAS 设备从 OracleZFS Storage Appliance 添加到群集或区域群集

以下 clnasdevice 命令可将 sun_uss 类型的 OracleZFS Storage Appliance uss7110-01 添加到配置中。

# clnasdevice add -t sun_uss -p userid=osc_agent -f passwd-file uss7110-01
示例 2 向群集添加 NAS 项目

以下 clnasdevice 命令可将两个项目添加到已配置的 NAS 设备 uss7110-01 中。

# clnasdevice add-dir -d pool-0/local/nassa-pl,pool-0/local/nassa-p2 uss7110-01
示例 3 从群集或区域群集中删除 NAS 设备

以下 clnasdevice 命令可从群集 sun 配置中删除 NAS 设备 uss7110-01 及其所有剩余项目(如果有)。

# clnasdevice remove -F uss7110-01

以下 clnasdevice 命令可从区域群集 ZC 配置中删除 NAS 设备 uss7110-01 及其所有剩余项目(如果有)。

# clnasdevice remove -Z ZC -F uss7110-01

以下示例显示了如何更新 nodeIPs 属性。

# clnasdevice set -p "nodeIPs{cluster-1}"=10.155.55.145 \
-p "nodeIPs{cluster-2}"=10.155.55.146 uss7110-01

以下示例从群集配置中删除当前 IP 设置,以便系统使用群集节点名称的 IP。

# clnasdevice set -p "nodeIPs{cluster-1}"= -p "nodeIPs{cluster-2}"= uss7110-01
示例 4 显示尚未添加到群集的 NAS 设备项目

以下 clnasdevice 命令可显示尚未添加到群集的 NAS 设备项目名称。

# clnasdevice find-dir uss7110-01
Nas Device:           uss7110-01
Type:                 sun_uss
Unconfigured Project: pool-0/local/nassa-p2
Unconfigured Project: pool-0/local/nassa-p1
示例 5 显示群集或区域群集中配置的 NAS 设备

以下 clnasdevice 命令可显示群集中配置的所有 NAS 设备的名称。要查看设备及其目录的列表,请使用详细选项或 show 子命令。

# clnasdevice list
uss7110-01

以下 clnasdevice 命令可显示区域群集 ZC 中配置的所有 NAS 设备的名称。要查看设备及其目录的列表,请使用详细选项或 show 子命令。

# clnasdevice list -Z ZC
ZC:uss7110-01

以下 clnasdevice 命令可显示区域群集 ZC 中配置的所有 NAS 设备的名称。要查看设备及其目录的列表,请使用详细选项或 show 子命令。

# clnasdevice list -Z all
global:uss7110-01
ZC:uss7110-01
示例 6 显示 NAS 设备及其项目

以下 clnasdevice 命令可显示群集中配置的所有 NAS 设备的名称以及项目文件系统。

# clnasdevice show -v -d all uss7110-01
Nas Device:      uss7110-01
Type:            sun_uss
Project:         pool-0/local/nassa-p1
  File System:   /export/nassa-p1/nassa-p1-fs1
  File System:   /export/nassa-p1/nassa-p1-fs2
  File System:   /export/nassa-p1/nassa-p1-fs3
Project:         pool-0/local/nassa-p2
  File System:   /export/nassa-p2/nassa-p2-fs1
  File System:   /export/nassa-p2/nassa-p2-fs2

属性

有关以下属性的描述,请参见 attributes(5)

属性类型
属性值
可用性
ha-cluster/system/core
接口稳定性
Evolving(发展中)

另请参见

Intro(1CL)cluster(1CL)

Oracle Solaris Cluster With Network-Attached Storage Device Manual

附注

超级用户可以运行此命令的所有格式。

任何用户都可以运行带有以下子命令和选项的此命令:

  • –? 选项

  • –V 选项

要运行带有其他子命令的此命令,超级用户以外的用户需要具有 RBAC 授权。请参见下表。

子命令
RBAC 授权
add
solaris.cluster.modify
add-dir
solaris.cluster.modify
export
solaris.cluster.read
find-dir
solaris.cluster.read
list
solaris.cluster.read
set
solaris.cluster.modify
remove
solaris.cluster.modify
remove-dir
solaris.cluster.modify
show
solaris.cluster.read