Results tagged “gvinum” from 清茶 Blog
吃不消/老是挂/老硬盘是不咋地,一点也不保险
本来做的 gvinum raid5 跑了一段时间,只要读写一大,那硬盘的动静就大的让人吃不消.......... 而后就自个重启了
本想在办公室里放一台,平时做做试验,上面想做个自己的数据库,藏点自己的小秘密..... 现在看来是没可能喽.. 还是太平点吧
一个老机器.../加内存(128MB * 2)/加硬盘(20GB * 4) 一个硬盘用来装系统/dev/ad0 其余三块做raid5 newfs -u /dev/ad1 / ad2 / ad3 t
ouch /etc/gvinum.conf
vi /etc/gvinum.conf
drive disk1 device /dev/ad1
drive disk2 device /dev/ad2
drive disk3 device /dev/ad3
volume share plex org raid5 491k
sd drive disk1 sd drive disk2 sd drive disk3
gvinum create /etc/gvinum.conf
newfs -U /dev/gvinum/share
gvinum start share
gvinum saveconfig
add /boot/loader.confg
geomvinumload="YES"
add /etc/rc.conf start_vinum="YES"
edit /etc/fstab
/dev/gvinum/share /share ufs rw 2 2
ok 大功告成
drive disk_ad2 device /dev/ad2s1
drive disk_ad3 device /dev/ad3s1
volume software plex org striped 512k
sd length 0 drive disk_ad2
sd length 0 drive disk_ad3
#gvinum create /etc/gvinum.conf
# gvinum list
2 drives:
D sata_ad6 State: up /dev/ad6s1 A: 0/305242 MB (0%)
D sata_ad4 State: up /dev/ad4s1 A: 0/305242 MB (0%)
1 volume:
V share State: up Plexes: 1 Size: 596 GB
1 plex:
P share.p0 S State: up Subdisks: 2 Size: 596 GB
2 subdisks:
S share.p0.s1 State: up D: sata_ad6 Size: 298 GB
S share.p0.s0 State: up D: sata_ad4 Size: 298 GB
#newfs -U /dev/gvinum/software
写入/etc/fstab
/dev/gvinum/software /mnt/nas ufs rw 2 2
Add /boot/loader.conf
geom_vinum_load="YES"
Add /etc/rc.conf
start_vinum="YES"
reboot
fdisk -I /dev/ad1 fdisk -I /dev/ad2 fdisk -I /dev/ad3Vorläufige Partitionen anlegen:
bsdlabel -w /dev/ad1s1 bsdlabel -w /dev/ad2s1 bsdlabel -w /dev/ad3s1Endgültige Partitionen einrichten:
bsdlabel -e /dev/ad1s1 bsdlabel -e /dev/ad2s1 bsdlabel -e /dev/ad3s1Im Editor die Partition a jeweils so bearbeiten, dass size gleich der (Größe der kleinsten Partition) - 1024 ist, offset sollte 512 sein und fstype vinum. Das ganze sieht dann etwa so aus:
bsdlabel /dev/ad1s1 # /dev/ad1s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 523073 512 vinum c: 524097 0 unused 0 0 # "raw" part, don't editErstellen von Datei raid5.conf mit folgendem Inhalt:
drive eins device /dev/ad1s1a drive zwei device /dev/ad2s1a drive drei device /dev/ad3s1a volume data plex org raid5 491k sd length 0 drive eins sd length 0 drive zwei sd length 0 drive dreiErstellen des RAIDs:
gvinum create raid5.confDas Kernelmodul geom_vinum soll beim booten geladen werden, also:
echo 'geom_vinum_load="YES"' >>/boot/loader.confUnd neustarten:
shutdown -r nowSchauen ob geom_vinum geladen wurde:
kldstatUnd das RAID initialisieren:
gvinum start dataDas kann sehr lange dauern, Statusinformationen gibt es mit
gvinum listNachdem die Initialisierung abgeschlossen ist kann man z.B. mit
newfs /dev/gvinum/dataein neues Dateisystem anlegen, welches man mit
mount /dev/gvinum/data /mntmounten kann. Fertig! Getestet mit:
- 6.0-RELEASE/i386
STRIPE RAID (RAID0)
创建一个stripe raid (RAID0) RAID0具有最高性能,也是最差安全性的使用gmirror连接两个磁盘,并且命名为data gstripe label -v -s 4096 data /dev/da1 /dev/da2 -s 4096: 是分开在每个磁盘的块大小为4k 增加开机自动装载geom_mirror.ko这个模块 vi /boot/loader.conf 内容 geom_stripe_load="YES" 其他的步骤和前面两个帖子的一样,不在重复说了在这里说说raid0的一些参数设置,sysctl 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 挂上新建的concat 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 da1RAID3
graid3 label -v -r data da0 da1 da2GEOM其他
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/da2CONCAT RAID (JBOD)
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"![]()
![]()
![]()
两块不知什么年代的maxtor硬盘,系统盘安装在10G的硬盘上
%uname -a
FreeBSD nas.qingcha.org 6.1-RELEASE-p7 FreeBSD 6.1-RELEASE-p7
/boot/loader.conf加入 geom_vinum_load="YES"
/etc/rc.conf加入 start_vinum="YES"
两个硬盘是系统装好后加入的,所以要先格式化才能用
newfs /dev/ad2
newfs /dev/ad3
#gvinum
gvinum->create
drive d2 device /dev/ad2
drive d3 device /dev/ad3
volume share< = vinum 名称
plex org striped 64k < = strip size
sd length 0 drive d2
sd length 0 drive d3
格式化新设备
newfs /dev/gvinum/share
创建挂载点
mkdir -p /Disks/share
挂载
mount /dev/gvinum/share /Disks/share
df -h 看一下,是不是已经正确的挂载上
写入/etc/fstab
/dev/gvinum/share /Disks/share rw,noatime 2 2
#reboot 看看有没有错误
接下来要做的工作有: CIFS/ftp/nfs
参考文档:
http://www.cdpa.cc/~tjs/gvinum.htm
http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/geom.html
http://www.freebsd.org/cgi/man.cgi?query=gvinum&apropos=0&sektion=0&manpath=FreeBSD+6.1-RELEASE&format=html
