分类: 服务器与存储
2012-07-12 09:48:06
你必须知道的概念
磁盘组 disk group(DG)
就是许多磁盘的集合。一个磁盘组可以包含至少一个磁盘,当你把许多磁盘归于一个磁盘组的时候,就可以把他们当作一个大磁盘来使用。这样做的好处,第一是节省磁盘空间,有些原有的小硬盘或者大硬盘剩余的小空间,都能被其他应用利用起来,不会像鸡肋一样,留之无肉,弃之有味;
第二可以方便用户的管理,不用操心是否给应用软件分配了足够的存储空间,把所有应用放在一个磁盘组里面,Storage Foundation自动会为用户选择合适的空间来保存。如果以后所有的空间都被用完以后,也不用转移数据,只需要把新的磁盘加入到这个磁盘组就可以了。这样,用户就只需要把注意力放在具体的应用上面,不用再为数据的存放操心了。
卷 volume
卷是一个逻辑概念,它是建立在磁盘组之上的逻辑单元。通过配置卷,可以将多个磁盘组合起来,以条带、镜像或者Raid5等格式保存数据,如果对卷管理熟悉的话,用户甚至可以设计自己特有的格式保存数据,那真的是一件很酷的事情(在Storage Foundation高阶中会讲到)。
VxFS
Storage Foundation的文件系统。文件系统是在卷的基础上创建的,一个文件系统只能属于一个卷,而一个卷可以包含多个操作系统。如果将卷做成镜像卷,那么该卷上建立的文件系统也就是镜像的。VxFS文件系统的大小可以根据卷的剩余空间大小动态调整。
好了,介绍完上述的三个简单的概念,我们就可以开始学习使用Storage Foundation了,在本文的讲解中,我们将假设用户有三块可以被格式化的物理硬盘,分别叫disk1、disk2和disk3,通过本文的介绍,用户可以在三个硬盘上面建立文件系统来存放应用:
基本管理功能
一、创建磁盘组:
1. 初始化硬盘:
vxdisksetup –i disk1
vxdisksetup –i disk2
vxdisksetup –i disk3
2. 创建一个名为TestDG的磁盘组,该磁盘组包含了上述三个磁盘:
vxdg init TestDG disk1 disk2 disk3 (三个磁盘之间是空格分开)
除了这种方法,用户还可以用另一种常用的方法来创建磁盘组:
1. vxdg init TestDG TestDG01=disk1; (创建一个只包含disk1的磁盘组);
2. vxdg –g TestDG adddisk TestDG02=disk2 (将disk2加入到该磁盘组);
3. vxdg –g TestDG adddisk TestDG03=disk3;
用后一种方法的优点在于可以动态的添加磁盘,如果用户在所需磁盘空间不足,需要扩容的时候,利用添加disk到磁盘组的方法,可以在不破坏现有环境下扩大系统的容量。
3. 确定磁盘已经被初始化:
vxdisk list (应该看到三个磁盘都已被分配到TestDG磁盘组下,而且状态是ONLINE)。如果想要查看更加详细的磁盘信息,命令是:vxdisk –s list .
二、创建卷
1. 创建卷必须指明在哪个磁盘组下面创建,最常用的方法是:
vxassist –g TestDG make TestVol 1g
该命令将在TestDG上创建名为TestVol的卷,卷的大小是1个GB。
2. 如果用户希望该卷只创建在disk1和disk2上面,不占用disk3的空间,那么需要下列命令:
vxassist –g TestDG make TestVol 1g disk1 disk2
3. 创建一个条带卷(RAID0)
vxassist –g TestDG make TestVol 1g layout=stripe
这样就在TestDG磁盘组上面建立了条带卷
4. 现在RAID5作为一种性价比较高的存储方案,在各个行业都有广泛的应用。Storage Foundation可以让你容易的创建RAID5格式的卷:
vxassist –g TestDG make TestVol 1g layout=raid5
注意的是,raid5至少需要三块盘,否则不能成功;此外,做了raid5的卷的大学,至多就是三块盘总量的三分之二。
5. 创建镜像卷:
vxassist –g TestDG make TestVol 1g layout=mirror
镜像卷的大小只有所占磁盘总大小的一半,因为另外一半保存了数据的副本。
6. 创建卷成功后,查看卷的信息
vxprint g TestDG TestVol
三、创建文件系统并使用
Storage Foundation可以支持用户使用两种文件系统格式,VxFS和UFS,VxFS是Symantec公司文件系统,而UFS是solaris中广泛使用的文件系统。
1. 创建VxFS文件系统:
mkfs –F vxfs /dev/vx/rdsk/TestDG/TestVol;
mount –F vxfs /dev/vx/dsk/TestDG/TestVol /mnt 就可以使用了,文件格式是VxFS。
2. 创建UFS文件系统:
mkfs /dev/vx/rdsk/TestDG/TestVol;
mount /dev/vx/dsk/TestDG/TestVol /mnt 就可以使用了,文件格式为UFS。
这里需要提醒的是,创建文件系统时使用的是rdsk下面的裸设备文件,而mount挂载时候使用的是dsk下面的块设备文件。块设备文件相当于逻辑单位,是可以读写的,而裸设备文件属于字符设备,可以把它比作硬件,不能够在操作系统控制下直接读写。所有裸设备只能通过mkfs命令在操作系统下面做个映射,通过该映射来读出和写入数据。所以mkfs需要指明裸设备文件,而挂载读写的时候呢,就需要使用块设备。
Storage Foundation管理实例
通过上文的介绍,我们已经知道如何利用Storage Foundation管理数据了,现在通过一个具体的应用,来让大家体会一下Storage Foundation的易操作性:
之前看论坛上有人讨论说:如果有四块硬盘,那么是先两两做条带,然后再作镜像的读写速度快呢?还是先两个硬盘做镜像,然后两组镜像盘做条带的读写速度快?其实这个问题大家都想做个测试,但是大部分人都不知道如何做这个测试环境。配置如图所示:
表1,先镜像后条带
表2,先条带后镜像
假设四个磁盘分别为disk1、disk2、disk3和disk4,如果用Storage Foundation对它们进行划分,那么方法分别是:
1. 先镜像后条带
a) 创建磁盘组:
vxdg init mirror_stripe_dg disk1 disk2 disk3 disk4
b) 创建镜像条带卷
vxassist –g mirror_stripe_dg mirror_stripe_vol 5g layout=mirror-stripe
2. 先条带后镜像
a) 创建磁盘组:
vxdg init stripe_ mirror _dg disk1 disk2 disk3 disk4
b) 创建镜像条带卷
vxassist –g stripe_ mirror _dg stripe_ mirror _vol 5g layout= stripe_-mirror
这样,两种不同的卷形式就创建成功了。是不是有点太简单了呢?呵呵,Storage Foundation的最大优点就是智能和简单,使得用户避免在数据存储上花费太多的精力。慢慢学习它吧,有很多好玩的东西在等着你呢。