科技时代新浪首页 > 科技时代 > 滚动新闻 > 正文

高手支招 FreeBSD下用geom创建raid


http://www.sina.com.cn 2006年08月07日 10:02 ChinaByte

  从FreeBSD5.3开始引进了对geom的支持

  FreeBSD 5.3下面用geom来创建raid是很方便的

  除开可以用geom这个程序来创建,还提供了个单独的程序,例如

  gconcat, gmirror, graid3, gstripe. 另外还有个尚未完成的gvinum(即将代替vinum)

  CONCAT版RAID

  concat其实并不算是raid,因为没有性能上的提升,也没有数据保护作用。只是简单的将各磁盘串起来利用磁盘空间。

  下面例子将对ipsd1,ipsd2这两个磁盘系统进行concat

  首先重置这两个磁盘

  bsdlabel -r -w ipsd1 auto

  bsdlabel -r -w ipsd2 auto

  使用gconcat连接两个磁盘,并且命名为data

  gconcat label -v data /dev/ipsd1 /dev/ipsd2

  使用gconcat以后,将会在/dev/concat下面多出一个设备名叫data,对应早先命令的data名字

  ls /dev/concat

  格式化,如果你需要关闭Soft-Update,只需要去掉-U

  newfs -U /dev/concat/data

  创建mount point

  mkdir /data

  挂上新建的concat

  mount /dev/concat/data /data

  修改fstab让系统重启后自动mount

  vi /etc/fstab

  内容

  /dev/concat/data /data ufs rw 2 2

  增加开机自动装载geom_concat.ko这个模块

  vi /boot/loader.conf

  内容

  geom_concat_load="YES"

  很简单的concat已经做好了

  stripe raid (RAID0)

  创建一个stripe raid (RAID0)

  RAID0具有最高性能,也是最差安全性的

  使用gmirror连接两个磁盘,并且命名为data

  gstripe label -v -s 4096 data /dev/da1 /dev/da2

  -s 4096: 是分开在每个磁盘的块大小为4k

  创建mount point

  mkdir /data

  挂上新建的Raid

  mount /dev/concat/data /data

  增加开机自动装载geom_mirror.ko这个模块

  vi /boot/loader.conf

  内容

  geom_stripe_load="YES"

  kern.geom.stripe.fast

  设置是否使用fast模式.gstripe有两个模式,一个是fast,一个是economic.

  fast模式消耗更多的内存,但是速度更快.当内存不足的时候会自动切换到economic模式.

  kern.geom.stripe.maxmem

  设置fast模式下面最大使用内存数,该选项是只读.只能在启动时候才能设置.因此如果需要更改该选项,需放在 /boot/loeader.conf

  kern.geom.stripe.fast_failed

  记录了fast模式失败次数,如果次数很大,你就要调大kern.geom.stripe.maxmem的数值

  MIRROR raid (raid1)

  创建一个mirror raid (也就是俗称的RAID1)

  RAID1具有最高的安全性,具有快速的读操作,不提高磁盘的写性能

  下面例子将对da0 da1这两个磁盘系统进行mirror

  首先重置这两个磁盘

  bsdlabel -r -w da0 auto

  bsdlabel -r -w da1 auto

  使用gmirror连接两个磁盘,并且命名为data

  gmirror label -v -b split -s 2048 data da0 da1

  稍微解释一下上面的命令,详细的查询man gmirror

  -b split: 告诉gmiiror创建的mirror,在读取的时候将读操作分开到各磁盘上面,这样能够提高读取性能

  -s 2048: 告诉mirror只分开读取大于2k 的文件

  除开spilit,还有其他平衡形式.split比较适合大众

  round-robin : 在各磁盘轮流读取数据

  prefer: 更高优先权的读取数据

  load: 更低负荷的读取数据

  使用gmirror以后,将会在/dev/concat下面多出一个设备名叫data,对应早先命令的data名字

  ls /dev/concat

  格式化,如果你需要关闭Soft-Update,只需要去掉-U

  newfs -U /dev/concat/data

  创建mount point

  mkdir /data

  挂上新建的Raid

  mount /dev/concat/data /data

  修改fstab让系统重启后自动mount

  vi /etc/fstab

  内容

  /dev/concat/data /data ufs rw 2 2

  增加开机自动装载geom_mirror.ko这个模块

  vi /boot/loader.conf

  内容

  geom_mirror_load="YES"

  mirror raid已经做好了

  创建一个当前磁盘的mirror:

  gmirror label -v -b round-robin data da0

  gmirror insert data da1

  除开上面,geom还提供了raid3的制作

  graid3 label -v -r data da0 da1 da2

  上面贴子说的gconcat,gmirror,gstripe都可以用geom一个来搞定

  例如

  geom stripe label -v -s 4096 data /dev/da0 /dev/da1 /dev/da2

  等于

  gstripe label -v -s 4096 data /dev/da0 /dev/da1 /dev/da2

爱问(iAsk.com)



论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Inc. All Rights Reserved

新浪公司 版权所有