创建 RAID-5 卷
VxVM 对专用磁盘组支持此功能,但不对集群环境中的可共享磁盘组支持此功能。可以使用vxassist命令(推荐)或vxmake命令创建 RAID-5 卷。下面介绍这两种方法。
RAID-5 卷要求磁盘组中具有可用空间的磁盘的数目至少应与该卷中的列数一样多。
RAID-5 卷包含 RAID-5 数据 plex,该 plex 由位于三个或更多物理磁盘上的三个或更多的子磁盘组成。每个卷上只能存在一个 RAID-5 数据 plex。一个 RAID-5 卷也可以包含一个或多个 RAID-5 日志 plex,它们用于记录写入卷中的数据和奇偶校验的信息。
不要创建列数大于 8 的 RAID-5 卷,因为一旦一个以上的磁盘发生故障,此卷将无法恢复。
若要创建 RAID-5 卷,请使用如下命令
# vxassist [-g diskgroup] make volume length layout=raid5 [ncol=number_columns] [stripewidth=size] [nlog=number] [loglen=log_length]
例如,若要同时创建 RAID-5 卷volraid和两个 RAID-5 日志,请使用如下命令
# vxassist make volraid 10g layout=raid5 nlog=2
此命令在默认数量的磁盘上创建具有默认条带单元大小的 RAID-5 卷。同时还创建两个RAID-5 日志而不是默认下的一个日志。
使用 vxmake 创建卷
如果要求创建 RAID-5 日志,则必须使用logdisk属性指定要用于日志 plex 的磁盘。RAID-5 日志可以是连续 plex 或条带 plex,并且每个与 RAID-5 卷关联的 RAID-5 日志都具有该卷日志信息的完整副本。为支持对 RAID-5 阵列的并行存取,日志应该是 RAID-5 plex 条带大小的若干倍。
建议至少为每个 RAID-5 卷配置两个 RAID-5 日志 plex。这些日志 plex 应位于不同的磁盘上。每个 RAID-5 卷配备两个 RAID-5 日志 plex 可以避免因单个磁盘故障而丢失日志信息。
如果在指定存储上创建 RAID-5 卷时使用定序分配,则必须使用logdisk属性指定应在其上创建 RAID-5 日志 plex 的磁盘。使用下列形式的vxassist命令指定为日志分配空间的磁盘:
# vxassist [-g diskgroup] -o ordered make volume length layout=raid5 [ncol=number_columns] [nlog=number] [loglen=log_length] logdisk=disk[,disk,...] storage_attributes
例如,如下命令在磁盘disk04、disk05和disk06上创建一个具有默认条带单元大小的、具有 3 列的 RAID-5 卷。它还在磁盘disk07和disk08上创建两个 RAID-5 日志。
# vxassist make volraid 10g layout=raid5 ncol=3 nlog=2 logdisk=disk07,disk08 disk04 disk05 disk06
日志数必须等于指定给logdisk的磁盘数。
有关定序分配的更多信息,请参考vxassist(1M) 帮助手册。
还有一种方法可以替代vxassist的使用那就是使用vxmake命令创建一个卷以将现有子磁盘排列为 plex,然后将这些 plex 组成卷。
除了要将layout属性设置为raid5之外,创建 RAID-5 卷的 RAID-5 plex 与创建条带plex 的方法相似。子磁盘可以按照关联条带 plex 的相同方式进行隐式关联。例如,若要创建一个条带单元大小为 32 个扇区、具有 4 列的 RAID-5 plex,请使用如下命令
# vxmake plex raidplex layout=raid5 stwidth=32 sd=disk00-01,disk01-00,disk02-00,disk03-00
使用 vxmake 创建卷
注意,因为指定了四个子磁盘而没有指定列数,所以vxmake命令假定 RAID-5 plex 为四列并在每列中放置一个子磁盘。可以使用同样的方法创建条带 plex,只不过将布局指定为stripe。如果要在以后创建并添加子磁盘请使用如下命令创建 plex:
# vxmake plex raidplex layout=raid5 ncolumn=4 stwidth=32
如果没有指定子磁盘则必须指定ncolumn属性。随后可以使用vxsdassoc命令将子磁盘添加到 plex。
如果 RAID-5 plex 中的每个列都将从可能跨越若干物理磁盘的多个子磁盘创建,则可以指定应将各子磁盘添加到的列。例如,若要使用六个子磁盘创建一个三列的 RAID-5 plex,请使用下列形式的vxmake命令
# vxmake plex raidplex layout=raid5 stwidth=32
sd=disk00-00:0,disk01-00:1,disk02-00:2,disk03-00:0,disk04-00:1,disk05-00:2
此命令在第 0 列中连续地堆积子磁盘disk00-00和disk03-00,在第 1 列中连续地堆积子磁盘disk01-00和disk04-00,在第 2 列中连续地堆积子磁盘disk02-00和disk05-00。还可以指定偏移以创建稀疏 RAID-5 plex,如同创建条带 plex 一样。
可以通过不指定布局的方式来将日志 plex 创建为默认的连续 plex,例如:
# vxmake plex raidlog1 disk06-00
# vxmake plex raidlog2 disk07-00
若要创建 RAID-5 卷,请使用如下命令将使用类型指定为RAID-5:
# vxmake -Uraid5 vol raidvol
使用如下命令将 RAID-5 plex 和 RAID-5 日志 plex 与raidvol卷相关联:
# vxmake -Uraid5 vol raidvol plex=raidplex,raidlog1,raidlog2
每个 RAID-5 卷都有一个存储数据和奇偶校验的 RAID-5 plex。任何与该卷关联的其它 plex 都用作 RAID-5 日志 plex 以记录有关写入卷中的数据和奇偶校验的信息。
使用vxmake创建卷之后,必须在使用该卷之前将其初始化。
用户可以使用vxmake命令将新卷、plex 或子磁盘添加到由 VxVM 管理的对象集中。vxmake会把每个新对象的记录添加到 VxVM 配置数据库中。可以这样创建记录:通过在命令行上将参数指定到vxmake,或通过使用包含对象的纯文本描述的文件。此文件还可以包含执行任务列表的命令。使用如下的命令形式使vxmake从标准输入读取该文件
# vxmake < description_file
或者,可以使用-d选项将此文件指定到vxmake:
# vxmake -d description_file
下面的示例描述文件定义一个带有两个 plex 的db卷:
#rectyp #name #options
sd disk3-01 disk=disk3 offset=0 len=10000
sd disk3-02 disk=disk3 offset=25000 len=10480
以下内容省略
有关如何使用vxmake的详细信息请参考vxmake(1M) 帮助手册。使用vxmake创建卷之后,必须在使用该卷之前将其初始化。此过程在下节“初始化卷中进行介绍。
初始化卷
如果卷是用vxmake命令创建的并且尚未初始化,或者卷已被设置为未初始化状态,则必
须将其初始化。
如果使用vxassist命令创建卷,则vxassist将自动初始化此卷,除非您指定init=none属性。
若要初始化卷请使用如下命令
# vxvol start volume
如果还希望清空整个卷的内容,请使用如下命令
# vxvol init zero volume
此命令将任何日志 plex 和卷的整个长度写为零。然后,它使该卷保留 ACTIVE 状态。也可以通过将属性init=zero指定到vxassist来清空卷。例如,如下命令可创建一个RAID-5 卷并将其清空
# vxassist make volume length layout=raid5 init=zero
不象更慢的vxvolinitzero操作,vxvolstart命令能够使卷可立即投入使用。
存取卷
一旦创建并初始化了一个卷,它就可以作为虚拟磁盘分区来由操作系统用于创建文件系统,或由应用程序(如关系数据库和其它数据管理软件)来使用。
在磁盘组rootdg内创建卷,将建立可用于存取卷的块设备文件和字符(原始)设备文件/dev/vx/dsk/volume — volume 的块设备文件
/dev/vx/rdsk/volume — volume 的字符设备文件
对于除rootdg之外的磁盘组中的卷,路径名包括为磁盘组命名的目录:
/dev/vx/dsk/diskgroup/volume — volume 的块设备文件
/dev/vx/rdsk/diskgroup/volume — volume 的字符设备文件
请使用适当的设备节点创建、装入和修复文件系统,并布置要求原始分区的数据库。
阅读(3133) | 评论(1) | 转发(1) |