zhangzhicheng 2007-11-01
由于我们前期都是推荐客户使用80G的硬盘来做文件服务器,随着游戏数量的增加,目前80G的硬盘已经无法满足实际需要。有很多客户有着数量很多的80G的硬盘,为了保护用户已有的投资,我们必须让客户能用80G的硬盘来做文件服务器,而不需要重新购买大容量硬盘。
解决这一问题有两种方法,大家可以根据实际情况来选择使用。一种方法是使用软件RAID技术,使用多块硬盘做RAID0,这种方法相对而言比较简单,但是必须使用相同容量的硬盘,有一定的局限性;另外一种方式是使用逻辑卷(Logical Volume )技术,这种技术可以支持任何大小的硬盘,但是做起来比较麻烦。我们先来讲使用软件RAID的方法。 我们拿一个实际的例子来说明这种方法,譬如客户拿两个80G的硬盘来做在线游戏盘,分别接在第二个IDE口的主和从接口上,那么我们首先删除两个80G硬盘上的所有分区,然后再使用fdisk 给硬盘创建两个主分区,分别为 /dev/hdc1 和 /dev/hdd1。
然后我们使用vi 编辑器,在/etc 目录下创建一个名为 raidtab的配置文件。文件内容如:
raiddev /dev/md0 raid-level 0 nr-raid-disks 2 persistent-superblock 0 chunk-size 512 device /dev/hdc1 raid-disk 0 device /dev/hdd1 raid-disk 1
中间空格部分不用对齐,可以用tab隔开,也可以用空格隔开。行与行之间一定要用回车换行。 编辑好raidtab文件后,只需要运行mkraid 命令,就可以创建阵列了。此时,只需要像格式化普通硬盘分区一样格式化/dev/md0就可以了。
mkfs.ext3 /dev/md0
然后,在fstab里配置好自动挂载点,将/dev/md0 挂载到 /game 挂载点就可以了。 逻辑卷的方法 逻辑卷的方法比较复杂,需要进行如下几个步骤创建物理卷——把多个物理卷捆绑成一个卷组——在卷组上创建逻辑卷有几个概念要理解:物理卷:物理卷其实就是磁盘分区,也可以是一整个物理磁盘。物理卷组:多个物理卷组成物理卷组,可以理解为一个逻辑的磁盘。逻辑卷:在物理卷组上建立的逻辑文件卷,可以理解为分区。
那么我们还是以刚才的实际例子来讲解:
第一步:创建物理卷pvcreate /dev/hdcpvcreate /dev/hdd这里是把整个物理硬盘创建一个物理卷,如果是要把硬盘上的分区创建物理卷,那么就要使用fdisk工具中的 t 选项把分区类型标识为8e 类型,也就是linux LVM类型。然后在用pvcreate命令来创建物理卷。要注意的是,如果以前系统没有使用过LVM的话,系统会提示没有lvmtab.conf文件。那么请先运行vgscan命令,来创建这个文件。
第二步:创建物理卷组
vgcreate vm0 /dev/hdc /dev/hdd
这样就创建了一个名字叫vm0的逻辑卷组,相当于创建了一个新的逻辑硬盘。一般而言,卷组创建后就会被自动激活,你也可以使用下面的命令来激活刚才的卷组
vgchange –a y /dev/vm0
如你以后想要删除卷组,那么你要先关闭vm0的活动状态,使用
vgchange –a n /dev/vm0
如果要删除刚才的卷组,可以使用如下命令:
vgremove /dev/vm0
要想查看物理卷组的信息,可以使用
vgdisplay
该命令可以显示目前系统上所有的物理卷组信息。其中一个很重要的信息就是卷组的大小信息,这个信息将为后一步创建逻辑卷的时候,逻辑卷的大小提供参考。
第三步:在物理卷组上创建逻辑卷
lvcreate –i 2 –I 512 –L 148G –n game /dev/vm0
这样就在物理卷组vm0上创建了一个148G的逻辑卷,名字叫game。你可以理解为在虚拟的硬盘vm0上创建了一个分区叫 game 。其中-i 参数用来指定有多少个物理卷参与条带运算,-I 参数则指定每个条带的大小。其中-L参数用来指定逻辑卷的大小,大小数字要参考前面vgdisplay命令中显示的物理卷组的大小。
这样逻辑卷就创建完毕了,接下来我们就可以当一个普通磁盘一样来使用/dev/vm0/game这个逻辑卷了。
mkfs.ext3 /dev/vm0/game
然后编辑fstab文件就可以了。 以上两种方法最后都要将游戏数据复制到阵列,或者逻辑卷上去,这个时候,就不能用ghost刻盘了,只能把原始游戏盘挂到系统的另外挂载点,然后拷贝。