createvsd 命令

用途

createvsd -创建一组虚拟共享磁盘及其关联的逻辑卷。

语法

createvsd
-n {node_list | } ALL} -s size_in_MB -g vg_name
 
[{-c vsds_per_node |'-L}][-A]]
 
[{-m 镜像数量 -p lvm_strip_size_in_K} ][-v vsd_name_prefix]
 
[-l lv_name_prefix ] [-T lp_size_in_MB ] [ -k vsd_type ] [-x ]
 

描述

使用此命令来创建具有指定名称(如果还没有名称)的卷组,并在该卷组内创建一个逻辑卷。 使用 -s 标志可指定逻辑卷的大小。

可以使用系统管理界面工具 (SMIT) 来运行此命令。 要使用 SMIT,请输入:

smit vsd_data

并选择创建虚拟共享磁盘选项。

标志

注: 此列表中显示的一些示例未包含足够的可执行标志。 它们以不完整的形式显示,以举例说明特定的标志。
--n 节点列表
指定对等域中的节点数,您将在该域上创建虚拟共享磁盘。 备份节点不能和主节点相同。 对于非并行的虚拟共享磁盘,节点列表的格式为:
[P/S] : disk_list1+disk_list2/
对于并行的虚拟共享磁盘,节点列表的格式为:
[S1/S2/...Sn] : disk_list1+disk_list2/
“P”为串行访问的共享磁盘指定主服务器节点,“S”为串行访问的共享磁盘指定备份(辅助)服务器节点,而 S1 和 S2 为并行访问的共享磁盘指定服务器节点。 disk_list1 是本地物理磁盘的列表,或者是主服务器上逻辑卷的 vpath。 换句话说,该列表可由 hdiskx, hdisky,…vpathx, vpathy,… 组成。
注意:
  1. vpath 仅在安装了“子系统设备驱动程序”时才可用。 vpath 向同一个物理卷提供“虚拟路径”。
  2. 不能在同一个列表中指定 hdisk 和 vpath 两者。
disk_list1+disk_list2 是本地物理磁盘或主服务器上卷组中的 vpath 的列表,如果您希望卷组中的磁盘多于逻辑卷所需要的磁盘时可以使用它。 列出节点的顺序确定提供给虚拟共享磁盘的名称。 例如:
createvsd -n 1,6,4 -v PRE
(带有 vsd_prefix PRE)在节点 1 上创建虚拟共享磁盘 PRE1n1,在节点 6 上创建 PRE2n6,以及在节点 4 上创建 PRE3n4。

要在节点 1 上创建一个跨越 hdisk2、hdisk3 和 hdisk4 的卷组,并在节点 3 上有备份,请输入:

createvsd -n 1/3:hdisk2,hdisk3,hdisk4/ -v DATA
该命令创建:
  • 在节点 1 上具有全局卷组名 DATA1n1b3 的卷组上,逻辑卷为 lvDATA1n1 的虚拟共享磁盘 DATA1n1 已导出到节点 3。 逻辑卷管理器 (LVM) 卷组名称为 DATA。 逻辑卷跨越 hdisk2、hdisk3 和 hdisk4。

要创建几乎与系统的节点 1、2 和 3 上的卷组(其备份在相同系统的节点 4、5 和 6 上)相同的卷组,请输入:

createvsd -n 1/4:hdisk1,hdisk2,hdisk3/,2/5:hdisk5,hdisk6, \
          hdisk7/,3/6:hdisk2,hdisk4,hdisk6/ -v DATA

虽然此命令在此处分成两行进行显示,但在输入时 node_list 中的各项之间不得有空格。

此命令创建:
  • 位于节点 1 上且导出至节点 4 的具有逻辑卷 lvDATA1n1(在本地卷组名为 DATA 的卷组上)的虚拟共享磁盘 DATA1n1。 全局卷组名为 DATAn1b4。
  • 位于节点 2 上且导出至节点 5 的具有逻辑卷 lvDATA2n2(在本地卷组名为 DATA 的卷组上)的虚拟共享磁盘 DATA2n2。 全局卷组名为 DATAn2b5。
  • 位于节点 3 上且导出至节点 6 的具有逻辑卷 lvDATA3n3(在本地卷组名为 DATA 的卷组上)的虚拟共享磁盘 DATA3n3。 全局卷组名为 DATAn3b6。

要创建其中的逻辑卷只跨越了卷组中两个物理磁盘的虚拟共享磁盘,请输入:

createvsd -n 1/3:hdisk1,hdisk2+hdisk3/ -v DATA

该命令创建虚拟共享磁盘 DATA1n1,它具有跨越了卷组 DATA(包含 hdisk1、hdisk2 和 hdisk3)中 hdisk1 和 hdisk2 的逻辑卷 lvDATA1n1。 它将卷组 DATA 导出至节点 3 中。

如果已创建卷组,且组合物理硬盘列表包含逻辑卷不需要的磁盘,那么那些硬盘会添加到此卷组中。 如果尚未创建卷组,那么 createvsd 将创建一个跨 hdisk_list1+hdisk_list2的卷组。

当主节点在为虚拟共享磁盘提供服务时,备份节点不能使用相同的物理磁盘。

ALL 指定要在 RSCT 对等域中的所有节点上创建虚拟共享磁盘。 如果使用此操作数,那么不指定任何备份节点。 虚拟共享磁盘将在与 node_list 中的节点连接的所有物理磁盘上创建(您无法指定要使用哪些物理磁盘。)

-s
指定每个虚拟共享磁盘的大小(以兆字节计)。
-g
指定逻辑卷管理器(LVM)的卷组名。 该名称与节点号并置,以生成全局卷组名。 例如:
createvsd -n 6 -g VSDVG
在节点 6 上创建具有本地卷组名 VSDVG 和全局卷组名 VSDVG1n6 的卷组。 将节点号添加到前缀以避免备份节点接管卷组时发生名称冲突。 如果有备份节点,那么全局卷组名将与备份节点号以及主节点号并置。 例如:
createvsd -n 6/3/ -g VSDVG
创建一个卷组,其本地卷组名为 VSDVG,全局卷组名为 VSDVGn6b3。 主节点是节点 6,该卷组的备份节点是节点 3。
-c
指定要在每个节点上创建的虚拟共享磁盘数。 如果未指定 number_of_vsds_per_node ,那么将为 createvsd上指定的每个节点创建一个虚拟共享磁盘。 如果要为每个节点创建多个虚拟共享磁盘,那么将交替分配名称。 例如:
createvsd -n 1,6 -c 2 -v DATA
在节点 1 上创建虚拟共享磁盘 DATA1n1,在节点 6 上创建 DATA2n6,在节点 1 上创建 DATA3n1,以及在节点 6 上创建 DATA4n6。
-L
对于本地访问的虚拟共享磁盘,允许您不使用序列号而在每个节点上创建一个虚拟共享磁盘。
-A
指定虚拟共享磁盘的名称将依次分配给每个节点,例如:
createvsd -n 1,6 -c 2 -A DATA
在节点 1 上创建 DATA1n1 和 DATA2n1,在节点 6 上创建 DATA3n6 和 DATA4n6。
-m
指定 LVM 镜像计数。 镜像计数设置分配给每个逻辑分区的物理分区数。 范围从 1 到 3,缺省值为 1。
-p
指定 LVM 条带大小(等于一个条带的大小乘以阵列中磁盘的数量)。 如果未指定此标志,那么不对逻辑卷进行条带分割。 要使用条带分割,在其上定义虚拟共享磁盘的节点必须具有多个物理磁盘。
-v
指定要提供给所创建的虚拟共享磁盘的名称的前缀。 该前缀将与虚拟共享磁盘号、节点号以及备份节点号(如果指定的备份磁盘)并置。 例如,如果把前缀 PRE 提供给在节点 1 上创建的虚拟共享磁盘,并且分区中已经有两个具有此前缀的虚拟共享磁盘,那么新的虚拟共享磁盘名将是 PRE3n1。 除非使用 -l 标志,否则提供给底层逻辑卷的名称将为 lvPRE3n1。 createvsd 命令继续从最后一个以 PRE 为前缀的虚拟共享磁盘对虚拟共享磁盘名称进行排序。
如果未指定 -v ,那么将使用前缀 vsd
注: vsd_name_prefix 的最后一个字符不能是数字。 否则,前缀为 PRE 的第 11 个虚拟共享磁盘将与前缀为 PRE1 的第 1 个虚拟共享磁盘的名称相同。 vsd_name_prefix 也不能包含字符 '.' ,因为 '.' 可以是正则表达式中的任何字符。
-l
覆盖缺省情况下由 createvsd 命令提供给逻辑卷的前缀 lvx ,其中 x 是由 vsd_name_prefix 或缺省值 (vsd) 指定的虚拟共享磁盘名称前缀。 例如:
createvsd -n 1 -v DATA
在节点 1 上创建一个名为 DATA1n1 的虚拟共享磁盘,其下的逻辑卷为 lvDATA1n1。 如果使用
createvsd -n 1 -v DATA -l new
命令,节点 1 上的虚拟共享磁盘仍旧名为 DATA1n1,但其下的逻辑卷名为 lvnew1n1。

not 通常更有助于指定 -l,以便虚拟共享磁盘名称和逻辑卷名称的列表容易相互关联,并且避免命名冲突。

-T
以兆字节为单位指定逻辑卷管理器(LVM)逻辑卷组中物理分区的大小以及逻辑分区的大小(它们大小相同)。 您必须选择范围是 2 - 256 中的 2 的乘方。 缺省值是 4MB。

逻辑卷管理器将物理分区数限定为每个磁盘 1016 个。 如果磁盘大小大于 4 千兆字节,那么物理分区大小必须大于 4 MB,以保持分区数低于限定值。

--k vsd_type
指定虚拟共享磁盘的类型。 选项为:
  • VSD: 指定串行访问, 或非并发访问, 共享磁盘或
  • CVSD: 指定并发访问共享磁盘。
缺省值为 VSD
-x
指定应该执行使主节点和辅助节点上的虚拟共享磁盘同步所需的步骤;即,顺序为:
  • 主节点上的 varyoffvg
  • 辅助节点上的 exportvg
  • 辅助节点上的 importvg
  • 辅助节点上的 chvg
  • 辅助节点上的 varyoffvg
  • 主节点上的 varyonvg

未作为 createvsd 处理的一部分完成。 这将加速命令的操作并避免在多个虚拟共享磁盘在同样的主/辅助节点上创建时产生不必要的处理。 不过,在这种情况下,您应该在序列中的最后一个 "createvsd上指定 "not或 " -x,或者明确发出上述卷组命令。

参数

无。

安全性

必须具有 root 用户权限才能运行此命令。

退出状态

0
表示命令成功完成。
-1
表示发生错误。

限制

  1. 备份节点不能和主节点相同。
  2. vsd_name_prefix 的最后一个字符不能为数字。
  3. vsd_name_prefix 不能包含字符 "."。

必须从对等域中的联机节点上发出此命令。 要使对等域联机,请使用 startrpdomain 命令。 要使特定节点在现有对等域中联机,请使用 startrpnode 命令。 有关创建和管理 RSCT 对等域的更多信息,请参考 RSCT: Administration Guide

标准输出

对于以下命令:

createvsd -n 1/2:hdisk13/ -s 1024 -g testvg -v testvsd -T 16

标准输出消息将类似于:

createvsd: calls Getopts.
createvsd: parsing node_list.
createvsd: creates task tables.
createvsd: calls checkclvm.perl on the nodes c164n11.ppd.pok.ibm.com
createvsd: calls domkvglv.perl.
OK:1:mkvg -f -y testvg -s 16 hdisk13
OK:1:mklv -a c -y lvtestvsd1n1 -e x testvg 64 hdisk13
It took about 8 seconds in mkvglv.
createvsd: calls dovaryoffvg.perl testvg on the primary node c164n11.ppd.pok.ibm.com
OK:1:chvg -a n testvg
OK:1:varyoffvg testvg
createvsd: calls doimportvg.perl testvg on the nodes c164n12.ppd.pok.ibm.com with 000048186b991a6f
importvg : testvg
importvg : OK:2:importvg -y testvg hdisk5
importvg : OK:2:chvg -a n testvg
importvg : timestamp 2 testvg 3e036cb33403c8c8
importvg : OK:2:varyoffvg testvg
importvg : It took about 10 seconds.
It took about 12 seconds in importvg.
createvsd: calls vsdvg.
OK:1:vsdvg -g testvgn1b2 testvg 1 2
It took about 12 seconds in vsdvg.
createvsd: calls dovaryonvg.perl testvg on pri nodes c164n11.ppd.pok.ibm.com
OK:1:varyonvg  testvg
createvsd: calls defvsd.
OK:1:defvsd lvtestvsd1n1 testvgn1b2 testvsd1n1
It took about 5 seconds in defvsd.   

示例

要在三个主节点的每一个上创建两个 4 MB 的虚拟共享磁盘,并且其中一个具有备份,请输入:

createvsd -n 3,4,7/8/ -c 2 -s 4 -g vsdvg -v TEMP

该命令创建以下虚拟共享磁盘:

  • TEMP1n3,位于节点 3 上,其逻辑卷 lvTEMP1n3 在全局卷组名为 vsdvgn3 的卷组上
  • TEMP2n4,位于节点 4 上,其逻辑卷 lvTEMP2n4 在全局卷组名为 vsdvgn4 的卷组上
  • TEMP3n7,位于节点 7 上且导入节点 8 中,其逻辑卷 lvTEMP3n7 在全局卷组名为 vsdvgn7b8 的卷组上
  • TEMP4n3,位于节点 3 上,其逻辑卷 lvTEMP4n3 在全局卷组名为 vsdvgn3 的卷组上
  • TEMP5n4,位于节点 4 上,其逻辑卷 lvTEMP5n4 在全局卷组名为 vsdvgn4 的卷组上
  • TEMP6n7,位于节点 7 上且导入节点 8 中,其逻辑卷 lvTEMP6n7 在全局卷组名为 vsdvgn7b8 的卷组上

要创建三个虚拟共享磁盘,其中在节点 3 上创建的逻辑卷比卷组跨越的磁盘数少,请输入:

createvsd -n 3,4/:hdisk1,hdisk2+hdisk3/,7/8/ -s 4 -g datavg -v USER
该命令创建:
  • USER1n3,位于节点 3 上,其逻辑卷 lvUSER1n3 定义在全局卷组名为 datavgn3 的卷组上。
  • USER2n4,位于节点 4 上,其逻辑卷 lvUSER2n4 定义在全局卷组名为 datavgn4 的卷组上。datavgn4 跨越 hdisk1、hdisk2 和 hdisk3。lvUSER2n4 跨越 hdisk1 和 hdisk2。
  • USER3n7,位于节点 7 上且导入节点 8 中,其逻辑卷 lvUSER3n7 定义在全局卷组名为 datavgn7b8 的卷组上。
  • 如果在发出此 createvsd 命令之前未在节点 3 和 7 上定义卷组,那么将使用单个物理磁盘中的一个 4MB 分区创建卷组 datavgn3 和 datavgn7b8 。

位置

/opt/rsct/vsd/bin/createvsd