免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 7240 | 回复: 25
打印 上一主题 下一主题

[备份软件] Cuddletech系列VERITAS教程之二(下) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-07 12:08 |只看该作者 |倒序浏览
******************add by kaiyi 11.30.2006**************************
由于我最近不太上CU,如果需要PDF文档,请大家直接发邮件给我, lovekaiyi@yahoo.com.cn
**********************end**************************************

PS:由于字数限制,将文章分成两篇发表,多谢!!!!


Cuddletech系列VERITAS教程之二




我们已经有volume啦。下一步,就要启用(start)volume,在volume上创建文件系统并且把它mount起来。采用命令vxvol启用volume(vxvol用于vx volume管理,有很多种用法)。语法如下:

vxvol start <volname>

这条命令我不想在解释什么了,它本身的含义已经十分清楚了。所以,我们开始操作吧!我们启用volume,并再次查看vxprint的输出吧。

# vxvol start datavol
# vxprint -hrt
Disk group: rootdg

DG NAME NCONFIG NLOG MINORS GROUP-ID
DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE
V NAME USETYPE KSTATE STATE LENGTH READPOL PREFPLEX
PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE
SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE
SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE

dg rootdg default default 0 952738334.1025.nexus6

dm disk01 c2t0d0s2 sliced 3590 17678493 -
dm disk02 c2t1d0s2 sliced 3590 17678493 -
dm disk03 c2t2d0s2 sliced 3590 17678493 -
dm disk04 c2t6d0s2 sliced 3590 17678493 -

v datavol fsgen ENABLED ACTIVE 70713972 ROUND -
pl dataplex1 datavol ENABLED ACTIVE 70713972 CONCAT - RW
sd disk01-01 dataplex1 disk01 0 17678493 0 c2t0d0 ENA
sd disk02-01 dataplex1 disk02 0 17678493 17678493 c2t1d0 ENA
sd disk03-01 dataplex1 disk03 0 17678493 35356986 c2t2d0 ENA
sd disk04-01 dataplex1 disk04 0 17678493 53035479 c2t6d0 ENA
#

这儿有一个非常关键的地方要注意。”KSTATE”(kernel State)和”STATE”从”DISABLED”和”EMPTY”变成了”ENABLED”和”ACTIVE”。启用(starting)volume以后,volume开始具备生命啦。


好的,是表演的时候了。我们已经有可用的volume。接下来需要为其创建文件系统并mount起来。和其它的volume managers 软件相同,在目录/dev下可以访问到volume设备。由Veritas创建的volumes在目录/dev/vx/dsk下。如下:

# ls -al /dev/vx/dsk
total 6
drwxr-xr-x 3 root root 512 Mar 29 23:37 .
drwxr-xr-x 6 root other 512 Mar 10 17:32 ..
brw------- 1 root root 67, 5 Mar 29 23:37 datavol
drwxr-xr-x 2 root root 512 Mar 29 23:37 rootdg
#

想知道为什么rootdg会出现在这里吗?因为,我们的volume是基于“默认”DG的,也就是rootdg。我们在目录/dev/vx/dsk下可以看到它。如果我们创建一个新的DG,并在新DG上建立新的volume。新建volume将出现在/dev/vx/dsk/dgname/volname目录下。够简单了。

和任何其它Volume Managers一样,我们可以象访问磁盘一样访问volume。正如我们看到的,/dev/vx/dsk/datavol是一个块设备,因此我们可以在它上面创建文件系统。我选择newfs命令去创建文件系统:

# newfs /dev/vx/dsk/datavol
newfs: construct a new file system /dev/vx/rdsk/datavol: (y/n)? y
/dev/vx/rdsk/datavol: 70713972 sectors in 34529 cylinders of 32 tracks, 64 sectors
34528.3MB in 705 cyl groups (49 c/g, 49.00MB/g, 6144 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 100448, 200864, 301280, 401696, 502112, 602528, 702944, 803360, 903776,
1004192, 1104608, 1205024, 1305440, 1405856, 1506272, 1606688, 1707104,
1807520, 1907936, 2008352, 2108768, 2209184, 2309600, 2410016, 2510432,
snipped out
#

Newfs创建了文件系统,和在普通磁盘分区上操作没什么区别。我们需要注意到,这个文件系统的大小为34.5G,我们使用的是4块9G的磁盘,所以,这是正确的。现在,我们要mount起新建文件系统,还是和平时操作相同。如果我们想mount新建volume到目录”/vxrocks”,用一下命令:

# mount /dev/vx/dsk/datavol /vxrocks
#

就是这样啦!所有工作都完成啦。再一次强调,这是一种“艰苦的”方式。即使你很可能通常不用这个方法创建volume (我是使用这个方法的)但至少你需要理解对象(disk group, subdisk, plex, volume)是如何组合在一起的?以及它们之间是如何工作的?

第二课:Striped Volumes

请浏览下面的日志,看看你是否知道这是做什么的。我又从清除vmdisks开始,然后再来讨论它。开始吧:

# vxprint
Disk group: rootdg

TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg rootdg rootdg - - - - - -

dm disk01 c2t0d0s2 - 17678493 - - - -
dm disk02 c2t1d0s2 - 17678493 - - - -
dm disk03 c2t2d0s2 - 17678493 - - - -
dm disk04 c2t6d0s2 - 17678493 - - - -
# vxmake sd disk01-01 disk01,0,17678493
# vxmake sd disk02-01 disk02,0,17678493
# vxmake sd disk03-01 disk03,0,17678493
# vxmake sd disk04-01 disk04,0,17678493
# vxmake plex vol01-01 layout=stripe ncolumn=4 stwidth=32k sd=disk01-01,disk02-
01,disk03-01,disk04-01
# vxprint -hrt
Disk group: rootdg

DG NAME NCONFIG NLOG MINORS GROUP-ID
DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE
V NAME USETYPE KSTATE STATE LENGTH READPOL PREFPLEX
PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE
SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE
SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE

dg rootdg default default 0 952738334.1025.nexus6

dm disk01 c2t0d0s2 sliced 3590 17678493 -
dm disk02 c2t1d0s2 sliced 3590 17678493 -
dm disk03 c2t2d0s2 sliced 3590 17678493 -
dm disk04 c2t6d0s2 sliced 3590 17678493 -

pl vol01-01 - DISABLED - 70714077 STRIPE 4/64 RW
sd disk01-01 vol01-01 disk01 0 17678493 0/0 c2t0d0 ENA
sd disk02-01 vol01-01 disk02 0 17678493 1/0 c2t1d0 ENA
sd disk03-01 vol01-01 disk03 0 17678493 2/0 c2t2d0 ENA
sd disk04-01 vol01-01 disk04 0 17678493 3/0 c2t6d0 ENA
#
# vxmake -U fsgen vol vol01 plex=vol01-01
# vxprint -hrt
Disk group: rootdg

DG NAME NCONFIG NLOG MINORS GROUP-ID
DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE
V NAME USETYPE KSTATE STATE LENGTH READPOL PREFPLEX
PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE
SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE
SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE

dg rootdg default default 0 952738334.1025.nexus6

dm disk01 c2t0d0s2 sliced 3590 17678493 -
dm disk02 c2t1d0s2 sliced 3590 17678493 -
dm disk03 c2t2d0s2 sliced 3590 17678493 -
dm disk04 c2t6d0s2 sliced 3590 17678493 -

v vol01 fsgen DISABLED EMPTY 70713885 ROUND -
pl vol01-01 vol01 DISABLED EMPTY 70714077 STRIPE 4/64 RW
sd disk01-01 vol01-01 disk01 0 17678493 0/0 c2t0d0 ENA
sd disk02-01 vol01-01 disk02 0 17678493 1/0 c2t1d0 ENA
sd disk03-01 vol01-01 disk03 0 17678493 2/0 c2t2d0 ENA
sd disk04-01 vol01-01 disk04 0 17678493 3/0 c2t6d0 ENA
#
# vxvol start vol01
# vxprint -hrt
Disk group: rootdg

DG NAME NCONFIG NLOG MINORS GROUP-ID
DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE
V NAME USETYPE KSTATE STATE LENGTH READPOL PREFPLEX
PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE
SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE
SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE

dg rootdg default default 0 952738334.1025.nexus6

dm disk01 c2t0d0s2 sliced 3590 17678493 -
dm disk02 c2t1d0s2 sliced 3590 17678493 -
dm disk03 c2t2d0s2 sliced 3590 17678493 -
dm disk04 c2t6d0s2 sliced 3590 17678493 -

v vol01 fsgen ENABLED ACTIVE 70713885 ROUND -
pl vol01-01 vol01 ENABLED ACTIVE 70714077 STRIPE 4/64 RW
sd disk01-01 vol01-01 disk01 0 17678493 0/0 c2t0d0 ENA
sd disk02-01 vol01-01 disk02 0 17678493 1/0 c2t1d0 ENA
sd disk03-01 vol01-01 disk03 0 17678493 2/0 c2t2d0 ENA
sd disk04-01 vol01-01 disk04 0 17678493 3/0 c2t6d0 ENA
#


OK!看起来怎么样?一切都和第一课里我们创建简单RAID的时候很像。只有一个也是唯一不同的地方……就是用VxMake命令创建plex。让我们解析这一行。我用的是下面这一行:

# vxmake plex vol01-01 layout=stripe ncolumn=4 stwidth=32k \
sd=disk01-01,disk02-01,disk03-01,disk04-01

这行命令看起来很恐怖吧,但很容易搞懂的。如果你读过我的第一篇教程(RAID理论),应该已经看出点什么来了。我们来分析一下吧……语法如下:

vxmake plex <plexname> layout=<layout> ncolumn=<#> stwidth=<width>
sd=<subdisk>,<subdisk>,....

是的,vxmake就是我们所用的命令。我们希望用这个命令来创建“plex”。“plexname”是新建plex的名字,可以任意命名。“layout”指定plex的layout类型,也就是通常你所认为的“RAID”类型。Veritas支持多种layout类型,其中最常用的三种是concat,stripe和raid5。concat就是指简单(Simple)RAID。stripe是指RAID 0。raid5也就是RAID 5啦。我们正用stripe来构建一个RAID 0的volume。“ncolumn”指该volume中的column数量。同时,需要指出的是,在我们这个例子中每个subdisk就是一个column(实际上,一个column可以包含多个subdisks-参照下面的边注)。我们的例子中,我们要使用4个subdisks,因此ncolumn指定为4。下一个,“stwidth”指stripe的宽度。我们将使用32k的宽度。最后,“sd=”后面跟着一个被选择组成plex的subdisk的清单。使用选项“sd=”, vxmake就可以把subdisks联合(associate)起来,而不需要我们用“vxsd”命令手工联合。

现在,让我们来讨论一下两个概念:“ncolumn”和“stwidth”。记得我们为什么要stripe数据吗?我们希望数据被分布到4块磁盘中去,因此,4块磁盘同时分享数据负载。为了达到这个目标,我们必须指定veritas如何分割数据。把数据分成多个小块,小块的大小由“stwidth”指定。然后按照顺序把数据一块一块的写到不同的磁盘中去(也就是column上),这些磁盘的数量就由“ncolumn”指定。因此,在我们的新plex中,当我们往volume中写数据时,第一个32k数据将被写入到disk01-01。第二个32k数据将被写道disk02-01。第三块数据会写入disk03-01。第四块数据会写入disk04-01。第五个32k数据又写入disk01-01中,依此类推。我们就是这样不停地将数据缠绕在各个column(subdisk)上,均匀地分割数据负载。据此,一个128k的文件将分开保存在四个磁盘中。再一次说明,stwidth是指一次性写入一个column的数据块大小,之后,开始往下一个column写数据。Column是指plex中column的数量。

边注:
基于安全的原因,我们强调一下,实际上每个column可以被由多块磁盘组成。这可以由指定偏移量(offset)实现。vxassist正是这样做的。一旦你掌握了stripe和offset,这并不难理解,但这种方式并不常见。对这种方式,唯一的规则就是,每个column必须由相同数量的subdisk组成。这意味着,如果column1中有2个subdisks,而plex中存在4个columns。对这4个columns,每个column都必须由2个subdissk组成。所有的column都必须相同。

此外,回去看一下我们例子中的最后一次vxprint输出,第七列是组成plex的subdisk的编号,如“1/0”。这时“column/offset”对。如果号码是“1/0”,这说明这个subdisk是第二个column(总是从0开始),其偏移量为0。如果号码是“5/23128”,说明这个subdisk是第6个column,其偏移量为第23128个扇区。这是非常重要的信息,你只有在vxprint中加了选项“-hrt”才能得到。

现在,希望你满怀信心的创建volume和其它的veritas对象。希望你知道它们是如何组合在一起的。在“高级veritas理论”一文中,我们将讲到更酷的东西,以及如何用它来解决平时的问题。这篇文章中没有提到RAID 5,关于它的内容,你可以参考下一篇《Volume Creation: The VxAssist Way》。vxassist是一个更好的用来创建RAID 5的工具。如果现在你还没有阅读过veritas手册,那是时候浏览一下了。手册是非常优秀的教材(我打印并装订了所有的手册)。

这不是很简单吗?在结束的时候,我想指出Veritas一点也不难。只是有点不一样,有一点新鲜而已,实际上一点都不难。永远不要让veritas吓住了你……它是可爱的,善良的。对它好一点,绅士一点,它也将如此对你。如果你碰到了问题,请承认,你当时并不知道你在做什么,并且学习man页面和指导中的资料。据我使用Veritas的经验,99.9995%的问题都是我个人引起的,而不是veritas的错。我对此感到十分欣慰,理解了,veritas只是想帮助我们,我只需要听从它透露的信息,从而找到解决问题正确的最好的解决方法……它只是希望我停下来想想,而不要走开。自信点,好好享受Veritas吧。

[ 本帖最后由 kaiyi 于 2007-8-14 10:57 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-09-07 21:54 |只看该作者
谢谢,顶一下

论坛徽章:
0
3 [报告]
发表于 2006-09-08 11:43 |只看该作者
能发一份文档给我吗 谢谢
litianbs@yahoo.com.cn

论坛徽章:
0
4 [报告]
发表于 2006-09-09 13:56 |只看该作者
有谁可以提供一个上载文档的地方吗?
这样需要word或者是pdf版本的人就可以自己去下载了。。。。

如谁有的话请联系我,多谢!!!

论坛徽章:
0
5 [报告]
发表于 2006-09-09 17:51 |只看该作者
呵呵,Veritas是一个绅士。
这句话蛮有意思的哦!

论坛徽章:
0
6 [报告]
发表于 2006-09-11 20:14 |只看该作者
非常不错

论坛徽章:
0
7 [报告]
发表于 2006-09-18 00:03 |只看该作者
又是一篇好东东,顶!!

论坛徽章:
0
8 [报告]
发表于 2006-09-20 15:32 |只看该作者
收藏,鼎起来

论坛徽章:
0
9 [报告]
发表于 2006-10-11 01:00 |只看该作者
一直看到现在眼睛都酸了,非常有收获啊!!楼主我发了站内短信给你了^^

论坛徽章:
0
10 [报告]
发表于 2006-11-28 21:28 |只看该作者
第三篇已经发表,VxAssist工具,分上下两篇。请大家查看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP