FreeBSD 6.0总算Release了!

盼望了好久,终于在今天下午更新到了FreeBSD6.0的RELEASE版本,总算有了6.x的release了,这是不是意味着5.x行将就木了呢?

发稿时系统正在编译新的内核,估计会在17:00左右系统会重启n次。

FreeBSD 5.3 下Raid的制作(GEOM)

从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