我们在了解卷之前,先来了解一下一个比较重要的概念子磁盘,子磁盘是veritas volume manager(VXVM)配置中的低级生成块,需要用它创建plex和卷。
如果,使用vxassist命令或者VMSA创建卷,则会自动创建子磁盘。
用vxmake命令创建VXVM对象,如子磁盘:
vxmake [-g diskgroup] sd subdisk diskname,offset,length
此处:subdisk是子磁盘名,diskname是磁盘名称,offset是磁盘内子磁盘的起始点(偏移)而length是子磁盘的长度。
例如,若要创建一个名为disk02-01,起始于磁盘disk02的开头,长度为8000个扇区的子磁盘,使用命令:
vxmake sd disk02-01 disk02,0,8000
对于所有VXVM命令,默认大小单位是S,它代表一个扇区。添加一个后缀(如k代表千字节,m代表兆字节,g代表千兆字节)已改变大小单位。例如:500m代表500兆字节)
如果想使用新的子磁盘生成卷,则必须将子磁盘与plex关联。所有plex布局(连续、条带、RAID5)的子磁盘的创建方法与此相同。
显示子磁盘的信息
vxprint命令显示关于VXVM对象的信息。若要显示所有字磁盘的一般信息,使用命令:
vxprint –st
-s是指定关于子磁盘的信息。-t打印单行输出记录,该记录取决于列出对象的类型。
显示特定子磁盘的完整信息:
vxprint –l subdisk
移动子磁盘
通过移动子磁盘,可以将一个子磁盘的磁盘空间内容复制到另一个或多个其他字磁盘上。如果要移动的子磁盘与某个plex关联,那么原始子磁盘上存储的数据将被复制到新的子磁盘上。旧子磁盘与该plex分离,而新子磁盘与该plex关联。该关联位于plex内与源子磁盘相同的偏移。若要移动子磁盘使用命令:
vxsd mu old_subdisk new_subdisk [new_subdisk…]
例如:如果disk03将要被迁移并且disk22的两个子磁盘上有足够的空间,使用命令:
vxsd mv disk03-01 disk22-01 disk22-02
移动子磁盘操作,必须满足下面的要求:
所涉及的子磁盘必须大小相同。
移动的子磁盘必须是活动(已激活)卷上的活动plex的一部分。
新的子磁盘不能与任何其他plex关联。
分割子磁盘
通过分割子磁盘,可以将现有的子磁盘分成两个单独的子磁盘。若要分割磁盘,使用命令:
vxsd –s size split subdisk newsd1 newsd2
subdisk是原始子磁盘的名称,newsd1是要创建的两个子磁盘中的第一个子磁盘的名称,而newsd2是要创建的第2个子磁盘的名称。
需要用-s指定要创建的两个子磁盘中第一个子磁盘的大小,第2个子磁盘占用由原始子磁盘使用剩余空间。
如果,执行任务前,原始子磁盘与某个plex关联,则在分割完成时生成的两个子磁盘都与同一个plex关联。
若要将原始子磁盘分割2个以上的子磁盘,请对所得到子磁盘按所需要次数重复前面的命令。
结合子磁盘
通过结合子磁盘,可以将两个或更多现有的子磁盘合并成一个子磁盘。若要结合子磁盘,要结合的子磁盘必须在同一磁盘上相邻。
如果,选定的子磁盘是关联的。它们必须是和同一plex关联且在那个plex中相邻。若要结合子磁盘。使用命令:
vxsd join subdisk1 subdisk2 …new_subdisk
比如:若要结合子磁盘disk03-02,disk03-03,disk03-04,disk03-05结合和子磁盘disk03-02:
vxsd join disk03-02 disk03-03 disk03-04 disk03-05 disk03-02
将子磁盘与plex关联
通过将子磁盘与plex关联,可以将由子磁盘定义的磁盘空间量放置在plex内的特定偏移位置。该子磁盘填充的整个空间都不能被其它子磁盘的任何部分所占用。根据配置的总体状态,有多种关联子磁盘和plex的方法。
在已经创建了一个特定的plex所需要的所有子磁盘后,若要在创建plex时关联子磁盘,使用命令:
vxmake plex plexname sd= subdisk,…..
比如:若要创建plex home-1并使子磁盘disk02-01,disk02-00,disk02-02与plex home-1关联:
vxmake plex home-1 sd=disk02-01,disk02-00,disk02-02
子磁盘从0偏移开始按顺序关联。如果使用此类型的命令,则不必指定创建plex并将每个子磁盘与该plex关联所需要的多个命令。在此例子中,子磁盘按照它们列出的顺序(在sd=之后)与plex关联。定义为disk02-01的磁盘空间是第一个,disk02-00是第2个,而disk02=02是第3个。这种关联子磁盘的方法在初始配置过程中很方便。
也可以将子磁盘与已经存在的plex关联。若要将一个或多个子磁盘与现有的plex关联,使用命令。
Vxsd assoc plexname subdisk1[subdisk2…..]
例如,若要将名为disk02-01,disk02-00,disk02-02的子磁盘与名为home-1的plex关联,使用命令:
vxsd assoc home-1 disk02-01 disk02-00 disk02-02
如果plex不为空,则新的子磁盘被添加到任何已经与plex关联的子磁盘之后,除非和命令一起指定-l 选项。-l选项在plex内的特定偏移位置关联子磁盘。
当以前为某个特定的卷创建了稀疏plex(即子磁盘之间有缝隙的plex),而随后想使该plex完整时,需要使用-l选项。若要使plex完整,创建一个子磁盘,使它的大小恰好适合稀疏plex中的间隙。然后,通过将plex内间隙的开始位置指定为偏移,将该子磁盘与plex关联。使用命令:
vxsd –l offset assoc sparse_plex exact_size_subdisk
子磁盘的大小必须刚好合适,因为VXVM不允许为两个子磁盘定义的空间在plex内重叠。
对于条带或RAID5plex,使用命令指定要添加的子磁盘的列号和列偏移量:
vxsd –l column_#/offset assoc plex subdisk….
如果只用-l选项为条带plex指定了一个数字,则将该数字当作列号并在该列号的末尾关联子磁盘。
或者,若要在条带或RAID5卷中N列的每个列末尾添加M个子磁盘,可以使用下列形式的vxsd命令:
vxsd assoc plexname subdisk1:0….subdiskM:N-1
比如:
vxsd assoc vol01-01 disk10-01:0 disk11-01:1 disk12-01:2
如果子磁盘将填充plex中的“洞”(即,卷逻辑地址空间的某些部分被此子磁盘影射),则认为该子磁盘失效。如果卷被启用,则关联操作重新生成属于子磁盘的数据。否则,它被标记为失效并且在卷启动时恢复。
关联日志子磁盘
日志子磁盘被定义并添加到将成为某个卷的一部分的plex上,在此卷上已起用脏区日志(DRL)。当卷被景象并且至少有一个日志子磁盘时,对卷启用DRL。
一个plex只能有一个关联的日志子磁盘。由于要频繁的写入该日志子磁盘,应注意将其放在使用不太多的磁盘上。将日志子磁盘放在使用频繁的磁盘上会降低系统性能。
向现有的plex添加日志子磁盘,使用命令:
vxsd aslog plex subdisk
此处,subdisk是用作日志子磁盘的名称。必须将plex与景象卷关联才能使脏区日志生效。
比如:
vxsd aslog vol01-02 disk02-01
也可以用命令将一个日志子磁盘添加到现有的卷中:
vxassist addlog volume disk
此命令会在所指定磁盘上的日志plex内为指定的卷自动创建日志子磁盘。
从plex中分离子磁盘
若要断开子磁盘与其所属的plex之间已经建立的关系,需要将子磁盘与plex分离。当删除子磁盘或者在另一个plex中使用子磁盘时,子磁盘便被分离。若要分离子磁盘,使用命令:
vxsd dis subdisk
比如:
vxsd dis disk02-01
还可以用下面的命令从VXVM控制中删除分离的子磁盘:
vxsd –o rm dis subdisk
如果子磁盘映射卷的地址空间的一部分,则分离她会将卷置于为“退化”模式下。在这种情况下,dis操作输出警告并且必须强制其使用-o force选项才能成功。并且,如果删除子磁盘使卷不可用,则因为同一个条带上的另一个子磁盘不可用或丢失且卷不为DISABLE和空状态。所以不允许执行该操作。
删除子磁盘
若要删除子磁盘,使用命令:
vxedit rm subdisk
比如:
vxedit rm disk02-01
更改子磁盘属性
vxedit命令更改子磁盘和其他VXVM对象的属性。若要更改子磁盘属性,使用命令:
vxedit set attribute=value….subdisk….
可以使用vxedit更改的子磁盘字段包括:
name
putiln在启动时维护
tutiln是临时的且不在重新启动时保留
len
comment
这个部分内容是相对比较少的,只是提到以下关于子磁盘的相关的一些概念的信息,希望可以做到一些抛砖引玉的作用,在vxedit修改子磁盘的一些属性的方面我的了解也不是很全面,只是把自己了解的一些写出来。不足的地方欢迎高手帮助解决,在这里表示感谢。
阅读(3270) | 评论(1) | 转发(1) |