介绍如何在 VERITAS Volume Manager (VxVM) 中创建卷。卷是对数据管理系统显示为物理磁盘分区设备的逻辑设备。卷增强了从硬件故障恢复的能力、数据可用性、性能和存储配置。创建卷是为了利用 VxVM 虚拟磁盘概念。文件系统可以放在卷上以组织包含文件和目录的
磁盘空间。此外,可以配置数据库等应用程序以组织卷上的数据。
VxVM 允许创建具有下列布局类型的卷:
连续卷
它的子磁盘在 plex 内有序地连续排列。如果一个磁盘的单个区域没有足够空间容纳整个卷,连续布局允许从一个或更多磁盘的多个区域创建卷。
条带卷
它的数据均匀地分布在多个磁盘上。条带是大小相等的段,它们被交替且均匀地分配到单个 plex 的子磁盘。条带 plex 中至少必须有两个子磁盘,每个子磁盘必须在不同的磁盘上。吞吐量随 plex 条带化时跨过的磁盘数增长。条带化帮助平衡 I/O 负载,以防某些子磁盘上存在高通信量的区域。
镜像卷—由多个数据 plex 组成的卷,这些 plex 重复卷中包含的信息。尽管一个卷可以只有单个数据 plex,但是真正的镜像至少需要两个 plex 来提供数据冗余。为使冗余有用,每一个数据 plex 都应包含来自不同磁盘的磁盘空间。
RAID-5 卷
它使用条带化将数据和奇偶校验均匀地分布在一个阵列的多个磁盘上。每个条带都包含一个奇偶校验条带单元和多个数据条带单元。如果其中一个磁盘发生故障,奇偶校验可用于重建数据。与条带卷的性能相比较RAID-5 卷的写吞吐量降低
创建卷
了,因为每次访问数据时都必须更新奇偶校验信息。但是,与镜像相比较,使用奇偶校验减少了所需的空间量。镜像条带卷它被配置为一个条带 plex 和镜像该条带 plex 的另一个 plex。这需要至少两个磁盘用于条带化,并需要一个或多个其它磁盘用于镜像(所需磁盘数取决plex 是简单 plex 还是条带 plex)。这种布局的优点在于通过将数据分布到多个磁盘上,不但增强了性能而且还提供了数据冗余。
分层卷—一种从其它卷构造的卷。非分层卷是通过将它们的子磁盘映射到 VM 磁盘构造的。分层卷是通过将它们的子磁盘映射到基础卷(称为存储卷)构造的,并且允许创建形式更复杂的逻辑布局。VERITAS Volume Manager Storage Administrator (VMSA) 将条带镜像卷称为条带增强将连续镜像卷称为连续增强。
条带镜像卷是通过将若干镜像卷配置为条带卷的列而创建的。这种布局与非分层镜像条带卷提供相同的好处。此外,它还提供更快的恢复速度,因为单个磁盘发生故障时并不会强制整个条带 plex 脱机。
连续镜像卷是通过连接若干镜像卷创建的。这提供了更快的恢复速度,因为单个磁盘发生故障时并不会强制整个镜像脱机。可以使用高级方法或辅助方法创建卷。每种方法使用不同的工具,但您可以从一组工具随意切换到另一组工具。
高级方法由若干命令组成,它们通常需要您指定详细的输入。这些命令使用“积木式”方法,它要求您非常了解基础结构和组件,以便手动执行必要的命令来完成特定的任务。通过使用若干不同的 VxVM 命令执行高级操作。
使用此方法创建卷的步骤为
使用 vxassist
1. 使用vxmakesd创建子磁盘.
2. 使用vxmakeplex创建 plex,并将子磁盘与它们关联.
3. 使用vxmakevol将 plex 与卷关联.
4. 使用vxvolstart或vxvolinitzero初始化卷.
辅助方法先获取有关您想完成的任务的信息,然后执行必要的基础任务。该方法只需要您输入最少的内容,但同时也允许较详细的指定。
辅助操作主要通过vxassist命令或 VMSA 执行。vxassist和 VMSA 只使用所需卷的基本属性作为输入创建所需的 plex 和子磁盘。此外,它们可以在自动修改任何基础对象或关联对象的同时修改现有卷。
对于许多卷属性,vxassist和 VMSA 都使用默认值,除非您提供了特定的值。它们并不需要您完全了解低层的 VxVM 概念vxassist和 VMSA 与其它 VxVM 命令并不冲突也不阻碍这些命令的使用。vxassist和 VMSA 创建的对象与其它 VxVM 命令和接口创建的对象兼容并具有互操作性。
可以使用vxassist命令创建和修改卷。指定创建卷或修改卷的基本要求,然后vxassist就会执行必要的任务。
使用vxassist而不是高级方法的优点包括:
大多数操作只要求输入一个而不是几个命令。仅需要您向vxassist指定最低限度的信息。如有必要,可以指定附加的参数以修改或控制其操作。
操作会导致一组配置更改,而这些配置更改要么整体成功要么整体失败,而不会单个地成功或失败。系统崩溃或其它中断不会留下您不得不清除的中间状态。如果vxassist发现错误或异常状况,它在将系统置于尝试操作前的状态后才退出。
vxassist帮助您执行下列任务
创建卷
为现有卷创建镜像
放大或缩小现有卷
联机备份卷
联机重新配置卷的布局
vxassist从源而不是从您的输入获得它所需的大部分信息。vxassist从对象本身获得有关现有对象及其布局的信息。
对于需要新磁盘空间的任务vxassist查找可用的磁盘空间并将在配置中进行分配,进行的配置将符合布局规范且提供空闲空间的最佳利用。
vxassist命令采取下列形式:
# vxassist [options] keyword volume [attributes...]
此处,keyword 选择要执行的任务。vxassist关键字之后的第一个参数volume 是卷名,其后是一组所需的卷属性。例如,关键字make允许创建新卷:
# vxassist [options] make volume length [attributes]
卷的length 可以使用后缀字符s、k、m或g指定其单位为扇区、千字节、兆字节或千兆字节。如果未指定后缀,则该大小假定为以扇区为单位。有关指定单位的更多信息请参见vxintro(1M) 帮助手册。
取决于希望卷所拥有的特性,可以根据需要指定附加的属性。例如条带单元宽度、RAID-5 或条带卷的列数、镜像数、日志数和日志类型。
默认情况下,vxassist在rootdg磁盘组内创建卷。若要使用不同的磁盘组,请为vxassist指定-gdiskgroup 选项。
有关可用的vxassist关键字和属性的详细信息请参见vxassist(1M) 帮助手册。
vxassist命令使用的默认值可以在文件/etc/default/vxassist中指定。如果不在命令行中或在使用-d选项指定的替换默认值文件中覆盖此文件中列出的默认值,这些默认值将生效。在命令行上指定的默认值总是处于优先地位。vxassist还有一组内置的默认值,如果它在其它地方找不到已定义的值则会采用这些内置的默认值。
默认值文件中项的格式是用换行符分隔的属性-值对列表。这些属性-值对与vxassist 命令行上作为选项指定的那些属性-值对相同。有关详细信息请参考vxassist(1M) 帮助手册。
若要显示文件/etc/default/vxassist中保存的默认属性请使用下列形式的vxassist命令
# vxassist help showattrs
下面是一个vxassist默认值文件示例:(摘要)
# by default:
# create unmirrored, unstriped volumes
# allow allocations to span drives
# with RAID-5 create a log, with mirroring don't create a log
# align allocations on cylinder boundaries
layout=nomirror,nostripe,span,nocontig,raid5log,noregionlog,diskalign
查出卷的最大大小
若要查出可以在磁盘组内创建多大的卷请使用下列形式的vxassist 命令
# vxassist [-g diskgroup] maxsize layout=layout [attributes]
例如,若要查出可在磁盘组dgrp内创建的、具有五个列和两个日志的最大的 RAID-5 卷,请输入如下命令
# vxassist -g dgrp maxsize layout=raid5 nlog=2
默认情况下,vxassistmake命令创建使用磁盘空间的一个或多个部分的连续卷。在一个分段磁盘上,这允许您组合一个比可用空闲磁盘空间的任何单个部分都要大的卷。若要更改默认布局,请编辑/etc/default/vxassist文件中定义的layout属性的定义。
如果单个磁盘上没有足够的空间,vxassist将创建一个跨接卷。跨接卷是拥有分布在多个磁盘上的磁盘空间部分的连续卷。由于跨接卷占用不止一个磁盘的空间,因此它可能比系统上的任何磁盘都要大。
若要创建一个连续的默认卷,请使用下列形式的vxassist命令
# vxassist [-g diskgroup] make volume length
例如,若要在rootdg磁盘组中创建长度为 10 千兆的连续卷voldefault:
# vxassist make voldefault 10g
在特定的磁盘上创建卷
除非另行指定否则 VxVM 将自动选择每个卷驻留的磁盘。如果希望在特定的磁盘上创建某个卷,则必须将这些磁盘指定到 VxVM。可以指定一个以上的磁盘。
若要在一个或多个特定的磁盘上创建卷,请使用如下命令
# vxassist [-g diskgroup] make volume length [layout=layout] diskname ...
例如,若要在disk03和disk04上创建长度为 5 千兆字节的卷volspec,请使用如下命
令
# vxassist make volspec 5g disk03 disk04
vxassist命令允许指定存储属性。这些属性使您能很好地控制设备(包括磁盘、控制器和目标)vxassist使用这些设备配置卷。
例如,可以特别地排除 disk05:
# vxassist make volspec 5g !disk05
或者,排除控制器 c2 上的所有磁盘:
# vxassist make volspec 5g !ctlr:c2
或者只包括除目标t5 以外的控制器c1 上的所有磁盘:
# vxassist make volspec 5g ctlr:c1 !target:c1t5
如果希望只使用特定磁盘组中的磁盘创建卷,请对vxassist使用-g选项,例如:
# vxassist -g bigone make volmega 20g disk10 disk11
或者使用另外一种方法即使用diskgroup属性:
# vxassist make volmega 20g diskgroup=bigone disk10 disk11
指定的要使用的任何存储属性都必须属于该磁盘组。否则vxassist不会使用它们创建卷。
也可以使用存储属性控制vxassist使用可用存储的方式,例如当在计算卷的最大大小、
增大卷或者从卷删除镜像或日志时。以下示例在计算vxassist使用磁盘组dg中的磁盘
可以创建的 RAID-5 卷的最大大小时,排除磁盘disk07和disk08:
# vxassist -g dgrp maxsize layout=raid5 nlog=2 !disk07 !disk08
有关使用存储属性的更多信息请参见vxassist(1M) 帮助手册。还可以控制卷在指定存储上的布局方式,如下一节对卷指定存储定序分配”所述。
如果在创建卷时将-oordered选项指定到vxassist,则按下列次序分配同时指定的任何存储:
1. 连接磁盘。
2. 形成列。
3. 形成镜像
例如,如下命令创建一个在 6 个磁盘上具有 3 个列和 2 个镜像的镜像条带卷
# vxassist -o ordered make mirstrvol 10g layout=mirror-stripe ncol=3 disk01 disk02 disk03 disk04 disk05 disk06
此命令将第一个镜像的第 1、2 和 3 列分别放置到disk01、disk02和disk03上,将第二个镜像的第 1、2 和 3 列分别放置到disk04、disk05和disk06上。
对于分层卷,vxassist应用与非分层卷相同的规则分配存储。例如,如下命令创建一个
具有 2 个列的条带镜像卷:
# vxassist -o ordered make strmirvol 10g layout=stripe-mirror ncol=2 disk01 disk02 disk03 disk04
此外,可以使用col_switch属性指定如何连接磁盘上的空间形成列。例如,如下命令创建一个具有 2 个列的镜像条带卷:
# vxassist -o ordered make strmir2vol 10g layout=mirror-stripe ncol=2 col_switch=3g,2g disk01 disk02 disk03 disk04 disk05 disk06 disk07 disk08
可以和定序分配一起使用控制器、磁盘阵列、目标和托盒的其它存储规范类。例如,如下
命令在指定的控制器之间创建具有 3 个列的镜像条带卷:
# vxassist -o ordered make mirstr2vol 80g layout=mirror-stripe ncol=3 ctlr:c1 ctlr:c2 ctlr:c3 ctlr:c4 ctlr:c5 ctlr:c6
镜像卷通过包含数据的多个副本提供数据冗余。每个副本(或镜像)都存储在与此卷的原
始副本和其它镜像不同的磁盘上。镜像一个卷确保了在它的一个组件镜像内的磁盘发生故
障时其数据不会丢失。
镜像卷要求磁盘组中具有可用空间的磁盘的数目至少应与该卷中的镜像数目一样多。若要创建新的镜像卷请使用如下命令
# vxassist [-g diskgroup] make volume length layout=mirror [nmirror=number]
例如,若要创建镜像卷volmir,请使用如下命令
# vxassist make volmir 5g layout=mirror
若要创建具有 3 个镜像而非默认的 2 个镜像的卷请将命令修改为下列形式:
# vxassist make volmir 5g layout=mirror nmirror=3
镜像连续卷镜像若干个连续 plex。若要创建镜像连续卷,请使用如下命令
# vxassist [-g diskgroup] make volume length layout=mirror-concat [nmirror=number]
连续镜像卷是连接若干基础镜像卷的分层卷实例。若要创建连续镜像卷,请使用如下命令
# vxassist [-g diskgroup] make volume length layout=concat-mirror [nmirror=number]
DCO
如果将数据更改对象 (DCO) 和 DCO 卷挂接到某个卷,则可将保留式快速再同步用于该
卷。(有关在将快照镜像返回到其原始卷时,保留式快速再同步如何执行快照镜像的快速
再同步的详细信息,
若要在系统崩溃或重新启动后执行快速再同步还必须在镜像卷上启用脏区日志 (DRL)。若要将 DCO 对象和 DCO 日志卷添加到启用了 DRL 记录的卷,可能需要附加许可证才能使用保留式快速再同步功能。即使没有许可证,也可以配置 DCO 对象和 DCO 日志卷,以使快照对象与原始卷和快照卷相关联。
如果您指定了log属性以在镜像卷上启用日志记录,但没有使用logtype属性将记录类型指定到vxassist,则脏区日志 (DRL) 为默认的日志类型。
使用vxassist创建卷时,最初可能仅指定一种类型的记录。若要创建挂接 DCO 对象和 DCO 日志卷的卷请使用下列过程:
1. 确保磁盘组至少已升级到 90 版本。请使用如下命令检查磁盘组的版本:
# vxdg list diskgroup
若要将磁盘组升级为最新版本,请使用如下命令
# vxdg upgrade diskgroup
2. 使用如下命令创建卷(可能需要指定其它属性以创建具有所需特性的卷):
# vxassist [-g diskgroup] make volume length layout=layout logtype=dco [ndcolog=number] [dcologlen=size] [fastresync=on]
除非使用ndcolog属性指定不同的number,否则镜像 DCO 日志卷中的默认 plex 数为 2。建议配置与此卷中存在的数据 plex 数目相同的 DCO plex。例如创建 3 路镜像卷时,指定ndcolog=3。
除非使用dcologlen属性指定一个不同的size,否则每个 plex 的默认大小为 132 块。如果指定大小,则 plex 的大小必须为 33 块的倍数(从 33 块到 2112 块)。
默认情况下,在新创建的卷上不启用快速再同步。如果希望在该卷上也启用快速再同步,请指定fastresync=on属性。如果 DCO 对象和 DCO 日志卷与该卷相关联,则启用保留式快速再同步;否则启用非保留式快速再同步。
有关配置 DCO 的更多信息,请参见vxassist(1M) 帮助手册。
DRL
若要创建启用了脏区日志 (DRL) 的镜像卷,请使用如下命令
# vxassist [-g diskgroup] make volume length layout=mirror logtype=drl
默认情况下,vxassist命令为镜像卷创建一个日志 plex。
对于顺序写入的卷(如数据库日志卷),请使用如下命令指定要使用的顺序 DRL:
# vxassist [-g diskgroup] make volume length layout=mirror logtype=drlseq
如果在指定的存储上创建镜像卷时使用了定序分配,则可以使用可选的logdisk属性指定应在其上创建日志 plex 的磁盘。使用下列形式的vxassist命令指定为日志分配空间的磁盘:
# vxassist [-g diskgroup] -o ordered make volume length layout=mirror logtype=log_type logdisk=disk[,disk,...]
# vxassist [-g diskgroup] make volume length layout=stripe
例如,若要创建 10 千兆的条带卷volzebra,请使用如下命令
# vxassist make volzebra 10g layout=stripe
此命令创建一个具有默认条带单元大小(64 千字节)和默认的条带数 (2) 的条带卷。通过将磁盘名包括在命令行中可以指定要在其上创建卷的磁盘。例如,若要在三个特定的磁盘(disk03、disk04和disk05)上创建一个 30 千兆字节的条带卷,请使用如下命令
# vxassist make stripevol 30g layout=stripe disk03 disk04 disk05
若要更改默认的列数(2 列)或默认的条带宽度(64 千字节),请对vxassist使用ncolumn和stripeunit修饰符。例如,如下命令创建一个具有 5 个列和 32 千字节的条带大小的条带卷:
# vxassist make stripevol 30g layout=stripe stripeunit=32k ncol=5
镜像条带卷镜像若干条带数据 plex。
镜像条带卷要求磁盘组中具有可用空间的磁盘的数目至少应等于该卷中的镜像数与
列数的乘积。
若要创建条带镜像卷请使用如下命令
# vxassist [-g diskgroup] make volume length layout=mirror-stripe [nmirror=number_mirrors] [ncol=number_columns] [stripewidth=size]
跨目标、控制器或磁盘阵列进行镜像
条带镜像卷是条带化若干基础镜像卷的分层卷的一个实例。条带镜像卷要求磁盘组中具有可用空间的磁盘的数目至少应等于该卷中的列数与条带数的乘积。
若要创建条带镜像卷请使用如下命令
# vxassist [-g diskgroup] make volume length layout=stripe-mirror [nmirror=number_mirrors] [ncol=number_columns] [stripewidth=size]
默认情况下,如果每个列的大小大于在vxassist默认值文件中定义的stripe-mirror-col-split-trigger-pt属性的值,则 VxVM 试图通过镜像子磁盘而不是列来创建基础卷。
如果每列中存在多个子磁盘,可以选择单独镜像每个子磁盘而不是镜像每个列。若要在子磁盘级别上镜像,请将布局指定为stripe-mirror-sd,而不是stripe-mirror。若要在列级别进行镜像,请将布局指定为stripe-mirror-col,而不是stripe-mirror。
若要创建一个其镜像的数据 plex 位于不同控制器上的卷,
# vxassist [-g diskgroup] make volume length layout=layout mirror=target [attributes]
mirror=target属性指定卷应在不同控制器上的相同目标 ID 之间进行镜像。
# vxassist [-g diskgroup] make volume length layout=layout mirror=ctlr [attributes]
mirror=ctlr属性指定一个镜像中的磁盘不应与同一个卷内的其它镜像中的磁盘位于同一控制器上。
当跨控制器镜像时,主动/ 被动磁盘阵列的两种路径均不被视为在不同的控制器上。如下命令创建一个具有两个数据 plex 的镜像卷:
# vxassist make volspec 10g layout=mirror nmirror=2 mirror=ctlr ctlr:c2 ctlr:c3
阅读(3166) | 评论(1) | 转发(1) |