Posts Tagged FreeBSD

FreeBSD使用大全

牛人们把FreeBSD使用大全全部汉化好了,我第一时间下载到。

内容包括:

  • 使用手册
  • 系统结构
  • 开发手册
  • ports手册
  • 相关文章等
  • FAQ

本地下载

,

No Comments

点评FreeBSD 6.0:速度快、稳定和使用方便

出处:http://www.serverwatch.com

FreeBSD是一种完美的企业级操作系统。现在,大多数人已经尝试使用Linux,但是,令人感到意外的是还有很多人还没有使用FreeBSD。由于 FreeBSD 6.0提供了其赖以闻名的同样的坚如磐石的稳定性并且还提供了一些出色的新功能,现在是使用这个软件的最理想的时候。

  为什么使用FreeBSD?

  首先介绍一下背景。FreeBSD起源于加州大学伯克利分校的BSD Unix。这个BSD Unix最早来自于AT&T Unix。FreeBSD已经积极地和充满热情地开发多年了,是一种可以用于多种用途的非常稳定的操作系统。新硬件的支持正在积极地开发,任何能够运行 Linux的硬件都可以安装这个操作系统。

  Linux和FreeBSD的主要区别是FreeBSD是一个完整的操作系统。Linux有许多种发布版,所有的发布版都使用Linux内核,每一个 内核都有需要人们学习的自己的特殊工具和配置工具。FreeBSD有一个内核并且拥有运行一台生产服务器所需要的全部的基本用户程序。在每一次发布时,所 有的FreeBSD程序都与内核一起更新。拥有这些实用的程序,包括频繁和无缝更新的SSH和DNS服务器,FreeBSD很难遗漏可能存在漏洞的程序。 每一次操作系统更新的时候,这些程序都跟着升级。

  FreeBSD Ports(端口)系统实际上允许安装任何第三方的软件。由于拥有1.3万可以使用的开源软件包,没有任何软件能够与FreeBSD Ports系统相媲美。你要安装Apache吗?简单地运行“pkg_add apache”命令,一个二进制版本的最新的稳定的apache Web服务器就安装完毕了。更经常使用的方法是简单地修改/usr/ports/"package_name" 目录,并且运行“make install”(安装)命令来自动地编译所需要的软件和有的附件。

  有什么新功能?

  FreeBSD最引人注目的新功能也许就是其执行对称多线程处理(SMP)的功能。这个软件计划在这里选择了一天艰难的道路,几乎从头开始执行每一样 东西。为了实现真正的对称多线程处理,每一个功能必须能够多次运行,即使在另一个线程处在同样的执行点的时候也是如此。当正确设置的时候,调度器 (scheduler)能够全面利用多个CPU的优势。FreeBSD 5.3推出了多处理器安全网络栈,FreeBSD 6.0推出了真正的SMP文件系统。现在,多内核和多处理器服务器使用FreeBSD操作系统能够全面实现其功能。

  安装启用调度器也许是一个操作系统最重要的一个方面。从FreeBSD 5开始,调度器领域的一个最新的进展是推出了ULE调度器。这是一种常数运行方式,也就是说,即使只有100个任务需要管理,服务器也会像管理2000个 排队的任务的那样快速运行。有趣的是,Linux执行的常数调度器大约与FreeBSD的次数相同。早期发布的ULE调度器不太稳定,不建议使用。这个功 能在6.0软件中不是默认的功能。但是,这个功能的不稳定的问题已经基本解决了,在生产环境中是非常有用的。

  虽然无线的支持问题不是服务器最担心的问题,但是,无线支持也是当前操作系统的一个重要的方面。FreeBSD 6.0推出了一些额外的无线驱动程序。由于这个操作系统是一个完整的操作系统,不会出现驱动程序不适用于附加的设备的情况。如果插入一个得到支持的卡,这 个卡每一次都会马上开始运行。如果支持的大多数无限芯片还不够用,FreeBSD在内核中还安装了Windows NDIS(网络驱动程序接口标准)接口,让用户为FreeBSD不支持的无线卡安装windows驱动程序。FreeBSD 6.0的另一个新功能是支持WPA无线安全协议。这对于那些需要真正的五线设置的机构来说是特别关键的。

  FreeBSD 6.0的安装

  FreeBSD的安装程序没有图形界面,但是,仍是很容易使用的。要在一个专用的硬盘中安装FreeBSD,你在整个安装过程中都可以选择全部的默认 选项,就像在所有的图形界面的操作系统安装程序一样。如果你要个性化安装这个软件,你必须要首先阅读这个手册。FreeBSD手册是目前所有的操作系统中 最全面的文件指南之一。这个手册中的每一部分都有常见任务的例子,如个性化分区和设置防火墙等。安装过程可以通过一对儿软盘、一个光盘或者通过PXE启动 芯片来完成。当初次安装这个操作系统的时候,这个安装程序表面看起来不是很美,但是,这个安装程序提供了这个操作系所有新功能的预览,设计精巧、充分而且 非常直观。

  如果你在运行老版本的FreeBSD,升级到最新发布版的基本系统和内核仅需要执行五个命令。当源目录通过执行“cvsup”命令用最新的源文件更新 之后,管理员在/usr/src目录下运行“make buildworld”命令就可以了。这将建立一个基本系统所需要的一切东西,包括openssh、gcc以及FreeBSD服务器运行所需要的一切东 西。这个过程需要很长时间,一台速度较慢的计算机需要半天以上的时间。完成之后,“make buildkernel”和“make installkernel”这两个命令将建立和安装新的内核。在FreeBSD中安装内核不需要进一步的手工操作。快速重新启动进入单个用户模式,你的 安装工作几乎就完成了。运行“make installworld”按装最近建立的基本系统。最后一步是运行“mergemaster”安装新的配置文件。

  这个升级过程对于一些人来说是很可怕的。但是,如果你按照手册的指示去做,这个过程是非常简单的。替代这种长时间编译过程的一个方法是下载最新发布的IOS或者使用CD盘进行二进制的“升级安装”。

  FreeBSD以重点突出性能和安全而闻名。FreeBSD的这两项功能都非常好。行业领先的企业多年以来一直使用FreeBSD服务器。 FreeBSD还使用X.org公司的X服务器和Gnome、KDE以及其它Windows管理器提供了反应快和令人满意的桌面环境。此外, FreeBSD还是一款免费和自由的软件。你可以获得FreeBSD源代码,并且根据的你的需要对源代码进行任何操作,包括在保守源代码秘密的前提下出售 这个代码。但是,不要忘记最重要的部分,这个软件的速度非常快、稳定和容易使用。

  优点:速度快、稳定、使用方便(按照极好的说明文件操作);具有同所有其它开源软件操作系统竞争的高级性能;严格的管理以提供最佳的兼容性;免费。

  缺点:令新用户感到畏惧;安装过程非常长,并且如果在开始的时候有很多第三方软件包,很容易造成混淆。

,

1 Comment

FreeBSD配置ADSL拨号

1.关于Modem
确定你的ADSL Modem己经接入Internet

2.配置内核
你不再需要为 PPPoE 配置你的内核。 如果netgraph支持的话,就无需进入内核built,ppp将会动态装载

3.设置ppp.conf
下面以ppp.conf为例:

default:
  set log Phase tun command # you can add more detailed logging if you wish
  set ifaddr 10.0.0.1/0 10.0.0.2/0

name_of_service_provider:
  set device PPPoE:xl1 # replace xl1 with your Ethernet device
  set authname 你的帐户
  set authkey 你的密码
  set dial
  set login
  add default HISADDR

4.运行ppp
必须是root,才能运行:

# ppp -ddial name_of_service_provider

5.引导ppp
把下列各项加放到 /etc/rc.conf文件中:

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"   # if you want to enable nat for your local network, otherwise NO
ppp_profile="name_of_service_provider"

,

No Comments

从硬盘安装FreeBSD5.4

需要的辅助软件:
  1)isoemu(引导ISO镜像用)

  2)虚拟光驱

具体步骤:

1: 前提:你的系统已经安装里windows的操作系统以及可以上网

2: 下载辅助软件ISOEMU,以及freebsd5.4的5.4-RELEASE-i386-bootonly 只包含启动文件 5.4-RELEASE-i386-disc1 安装盘1 5.4-RELEASE-i386-disc2 安装盘2,这三个安装文件这里可以下载ftp: //ftp.freebsdchina.org/pub/FreeBSD/releases/i386/ISO-IMAGES/5.4/

3: 用虚拟光驱把disc1镜像文件里面的5.4-RELEASE文件夹(236MB左右)提取复制到主分区(估计逻辑分区还不支持,最好是放在你的启动分 区),disc1的packages提取出来放到5.4-Release,然后虚拟disc2镜像文件,复制里面的packages文件夹(500MB左 右)到刚才从disc1复制出来的5.4-RELEASE文件夹里面,提示文件名相同按覆盖就是.

4: 修改刚才复制过来的5.4-RELEASEpackages的INDEX文件,用写字板打开,查找替换目标"||1"替换成"|"查找"||2"替换成"|",之后保存.

5: 把下载了的isoemu解压到根分区(不需放在文件夹),即含有boot.ini文件的那个分区(里面包含了一个说明文件,详细说明了各个文件的用途和使 用方法),之后编辑isoemu.ini找到"isogrub.iso"改为你的启动镜像文件名,我这里用"freebsd.iso",保存退出.

6: 把5.4-RELEASE-i386-bootonly启动镜像文件复制到安放了isoemu的分区,并改名为"freebsd.iso"与上面对应

7: 修改boot.ini文件,在下面加入一行c:ieldr="Load IsoEmu Final SV"

8: 准备功夫完成,现在可以重新启动机器,选择启动load IsoEmu Final SV,isoemu就开始自动加载freebsd.iso文件读取启动信息,接着就是熟悉的引导内核的界面.

下来的步骤相信大家都熟悉,不知道的可以去看看HANDBOOK .你可以选择从硬盘安装,如果不想复制下载那么多文件或者你是局域网可以选择从网上安装,可以省略步骤2,3,只启动SYSINSTALL系统安装程序从其他媒介安装系统

这里感谢UC的 HonestQiao 他使用DOS工具引导ISO镜像文件。还有freebsdchina.org的某位大侠,(找不到他的贴也忘记名字不好意思)他修改packages的 INDEX文件,可是照他的方法不管用,我参考了服务器上release的INDEX之后再修改可以成功。

,

No Comments

用FreeBSD建立安全网关

 
由于本人曾使用过FreeBSD,感觉这个系统还可以—曾用其作服务器,连续运行几个月都没有出过问题,所以打算用FreeBSD来做安全网关。
       在网上查阅了一些资料,花了半天的时间,将基于FreeBSD的网关搞定:
现分享如下:
一网络环境:
通过1M ADSL上网,动态IP,不向外提供服务。内部有几十台电脑,要共享上网。FreeBSD5.3,两块网卡,8139(rl0),对外,同ADSL猫相连,530tx(vr0),对内,同交换机相连。
二系统安装:
  至于系统的安装网上有很多资料,在此不细说。
 详情请看http://www.xyinfo.ha.cn/netschool/freebsd/index.htm
三编译内核:
加上ipfilter支持,去掉系统默认的 ipfirewall。
#cd  /usr/src/sys/i386/conf
#cp GENERIC DAFEI
#ee DAFEI
修改这一行,红色的部分要和该文件名相同。
ident           DAFEI
在末尾加入一下几行:
#禁用ipfirewall。
#options        IPFIREWALL
#options        IPFIREWALL_VERBOSE
#options        IPFIREWALL_VERBOSE_LIMIT=90
#options        IPFIREWALL_DEFAULT_TO_ACCEPT
#options        IPDIVERT

#支持ipfilter
options         BRIDGE
options         IPFILTER
options         ACCEPT_FILTER_DATA
options         ACCEPT_FILTER_HTTP
由于ipfirewall和ipfilter都运行在内核,二者不能同时共存,所以必须注释掉ipfirewall,其他内核优化选项这里就不细说了。
编译内核:
#cd /usr/src
#make kernel KERNCONF=DAFEI
编译成功后要重新启动计算机。
四 配置拨号上网:
修改ppp.conf文件
#cd /etc/ppp
#cp ppp.conf cpp.conf.bak
#ee ppp.conf
修改如下:
default:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)
set redial 15 28800
set reconnect 15 28800
set dial "ABORT BUSY ABORT NOsCARRIER TIMEOUT 5
          "" AT OK-AT-OK ATE1Q0 OK dATDTT TIMEOUT 40 CONNECT"                     

adsl:
set device PPPoE:rl0
set mru 1492
set mtu 1492
set speed sync
enable lqr
set lqrperiod 5
set cd 5
set dial
set login
set timeout 0
set authname YOURUSERNAME used to login
set authkey  YOURPASSWORD used to login

set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR                  
enable dns
红色的部分是需要修改的
五 定制防火墙规则:
#cd /etc
#touch ipf.rules
#ee ipf.rules
加入如下内容:
block in log quick all with short
block in log quick all with ipopts
block in log quick all with frag
block in log quick all with opt lsrr
block in log quick all with opt ssrr

pass out on vr0 all
pass in on vr0 all
pass out quick on lo0 all
pass in quick on lo0 all

block out on rl0 all

pass out quick on rl0 proto tcp from any to any flags S keep state keep frags
pass out quick on rl0 proto udp from any to any keep state
pass out quick on rl0 proto icmp all keep state

block in quick on rl0 all

由于空间的限制,删去了一些规则。
六 配置地址转换(实现NAT功能):
#cd /etc
#touch ipnat.rules
#ee ipnat.rules
加入如下内容:
map rl0 192.168.0.0/16 -> 0/32 proxy port ftp ftp/tcp
map rl0 192.168.0.0/24 -> 0/32 portmap tcp/udp 10000:30000
map rl0 192.168.0.0/24 -> 0/32

七 配置rc.conf文件:

#cd /etc
#ee rc.conf
修改如下:
gateway_enable="YES"
hostname="ginifab-gatway.ginifab.com"
ifconfig_vr0="inet 192.168.1.1  netmask 255.255.255.0"
kern_securelevel="1"
kern_securelevel_enable="YES"
inetd_enable="YES"
linux_enable="NO"
sendmail_enable="NO"

keyrate="fast"
nisdomainname="NO"
sshd_enable="YES"
usbd_enable="NO"

ppp_enable="YES"
ppp_mode="ddial"
ppp_mode="background"
ppp_profile="adsl"
firewall_enable="NO"
firewall_logging_enable="NO"
ipfilter_enable="YES"
ipnat_enable="YES"

网关为192.168.1.1
八: #reboot now

一切OK。
注意:
编译内核时可根据自己机子的配置优化。本人的这个网关开机后总共使用不到30M内存。
定制防火墙规则可参考网上资料,定制的更加安全,高效。
在实现该网关的过程中,参考了很多网上的资料,本人仅把自己的配置过程写出来。

,

No Comments

用FreeBSD的ports安装apache+php+mysql

看到网上有很多介绍apache+php+mysql安装的教程,但大多都是基于源代码编译或者给予RPM包的方式,对于FreeBSD自带的ports安装却鲜有提及,有方便的干嘛弄得复杂呢?

首先确定主机联网

cvsup -h cvsup.freebsd.org /usr/share/example/cvsup/ports-supfile #同步ports

Read the rest of this entry »

, , ,

2 Comments

基于FreeBSD下KDE桌面的汉化

1.安装kde-i18n-zh_CN:
#cd /usr/ports/chinese/kde3-i18n-zh_CN
#make install clean
2.安装字体
1)#cd /usr/ports/x11-fonts/ttmkfdir
#make install clean
2)#mkdir -p /usr/X11R6/lib/X11/fonts/TrueType
#cp Simsun.ttf /usr/X11R6/lib/X11/fonts/TrueType
#cp tahoma.ttf /usr/X11R6/lib/X11/fonts/TrueType
3) #cd /usr/X11R6/lib/X11/fonts/TrueType
#ttmkfdir >fonts.dir
#cp fonts.dir fonts.scale

3.修改/etc/X11/XF86Config
注释掉
Load "freetype"
Load "record"
Load "type1"
添加 Load "xtt
注:如果把考虑粗体斜体等的需求,使用 ttmkfdir + Load "freetype" 会有更好的品
质。
4.修改/usr/X11R6/etc/fonts/fonts.conf

1)在 <dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
<dir>/usr/X11R6/lib/X11/fonts/TrueType</dir>
<dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
<dir>/usr/X11R6/lib/X11/fonts/OTF</dir>
<dir>~/.fonts</dir>
前添加<dir>/usr/X11R6/lib/X11/fonts/TrueType</dir>

2)在/usr/X11R6/etc/fonts/fonts.conf里添加:(为了小字不使用 antialias)
<match target="pattern">
<test qual="any" name="size" compare="l">
<int>12</int>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
注:如果要用 Xft2,安装完字体后最好做 fc-cache -f -v 比较安全。

5.(注意先备份,即:cp /usr/X11R6/share/themes/Default/gtk/gtkrc.zh_CN
/usr/X11R6/share/themes/Default/gtk/gtkrc.zh_CN.bak)
1)替换/usr/X11R6/share/gnome/gtkrc.zh_CN为下面的内容:

style "gtk-default-zh-cn" {
fontset = "-*-*-medium-r-normal–12-*-*-*-*-*-iso10646-1,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"
2)同样再替换掉/usr/X11R6/share/themes/Default/gtk/gtkrc.zh_CN

3)cp /usr/X11R6/share/themes/Default/gtk/gtkrc.zh_CN ~/.gtkrc.zh_CN

6.1)在kde控制中心(KDE Control Center)的"区域与辅助功能
(Regional & Accessibility)"的国家/地区和语言(Country/Region & Language)里面
设置国家(Country)为"中国"和Languages为"简体
中文(Simplifiled Chinese)"
2)在kde的"控制中心"–"外观与主题"的"字体"里面全设置
字体为Simsun,12。并去掉"使用字体平滑"。
3) 在Gnome的字体设置里面设置字体为Tahoma,12

7.安装fcitx输入法:
1).#cd /usr/ports/chinese/fcitx
2)#make install clean
3).修改~/.profile,添加:
LANG=zh_CN.EUC
LC_ALL=zh_CN.EUC
export LANG LC_ALL
4).我用csh所以:
#setenv LC_ALL zh_CN.EUC
#setenv LANG zh_CN.EUC
如果用的是bash则相应的为
#LANG=zh_CN.EUC
#LC_ALL=zh_CN.EUC
#export LANG LC_ALL
5).在~/.cshrc中加入:
setenv LC_ALL zh_CN.EUC
setenv LANG zh_CN.EUC
(PS: 如果使用Gnome桌面,改动此配置后再次登录将显示中文界面)

6).修改~/.xinitrc及~/.xsession.均添加:
export XMODIFIERS=@im=fcitx
fcitx&
至文件的开头处。
7).#qtconfig
然后选择–>Interface—>XIM Input Style 选Over the Spot(上面的复选框也选
上)–>File–Save

8.xmms的问题:
1)cp -r /usr/X11R6/share/locale/zh_CN.GB2312
/usr/X11R6/share/locale/zh_CN.EUC
2)在xmms里面设置使用字体为
-isas-fangsongti-medium-r-normal-*-*-160-*-*-c-*-gb2312.1980-0,
-misc-fixed-medium-r-semicondensed-*-*-130-*-*-c-*-koi8-r
或者:-sony-*-*-*-*-*-16-*-*-*-*-*-iso8859-0,-*-*-*-*-*-*-16-*-*-*-*-*-gbk-1

9.终端的中文显示:cce解决方案:
http://www.sourceforge.net/projects/cce2k
FreeBSD/NetBSD/OpenBSD 都可以运行(console下), 不过还有一些bug.
支持多种编码: GB2312/GBK/Shift-JIS/JIS/KSC/UTF-8
可以支持许多OS: Linux, *BSD, Solaris, QNX, LynxOS, Hurd, Minix, etc
加入了 SDL/GGI 的支持, 可以在X Windows下运行, 支持点阵字体和TrueType字体.
输入法也做了一些升级, 把许多Big5的加上了, 有智能拼音和注音输入.
#tar -zxvf cce-0.50-11242003-dist.tgz,
#configure && make && make install
cce的这个版本支持framebuffer了,可以上1024×768,当然要你显示器支持
10.Windows分区及光盘文件的中文显示:
1)升级ports:如何升级见:这里
2)安装gbfs:
#cd /usr/ports/chinese/gbfs
#make install clean
3)编辑内核,注释掉MSDOSFS、CD9660、CD9660_ROOT即:
#options MSDOSFS
#options CD9660
#options CD9660_ROOT
注解来自于 statue大哥.
1)chinese/gbfs 的 ntfs 似乎有问题,不建议玩家级用户使用
2)cce 因为有安全问题而被移出 ports tree,我尝试过使用 cce2k,不幸的是他并并
支持 FreeBSD,所以作罢。
http://sourceforge.net/projects/cce2k/
3)zhcon 使用与传统 kon2 不同的调用 VGA mode 方式,在 4-STABLE 下没问题,但是
在 5-CURRENT 就是不 work,还有另外一个地方是是 /dev/vga 要自己弄出?,简单的
方法像是 ln -s /dev/ttyv0 /dev/vga,或是改 src 都可以。

4)另外,如果发现示的效果很差,把 print/freetype2 和 x11-fonts/fontconfig 重
装看看,4.8-STABLE 后的版本对中文才有比较好的支持。

5)而中文 XIM Server 可以看看 miniChinput,应该会有许多好玩的输入法

xmms 的问题是因为在 XFree86 4.3.0 之后的 locale.dir 和 locale.alias 漏掉了,
如果按照标准的 X programming 的话,目前大部分的软件都不能用才对(针对
zh_CN.EUC),幸运的是,大部分的软件都不走标准写法。
于是另外一种解法可以试试:

源码
:—————————————————————————
—–locale.dir
 - zh_CN/XLC_LOCALE                     zh_CN.eucCN
 + zh_CN/XLC_LOCALE   zh_CN.EUC
 - zh_CN/XLC_LOCALE:   zh_CN.eucCN
 + zh_CN/XLC_LOCALE:   zh_CN.EUC

 locale.alias
 - zh_CN.EUC    zh_CN.eucCN
 + # zh_CN.EUC    zh_CN.eucCN
 - zh_CN.EUC:    zh_CN.eucCN
 + # zh_CN.EUC:    zh_CN.eucCN
 —————————————————————————
—–

11.xpdf的汉化:来自于xiaoniao9312兄
1)#cd /usr/ports/chinese/xpdf
#make install clean

2)修改/etc/X11R6/xpdfrc这样的一段,

源码
:—————————————————————————
—–
cidToUnicode Adobe-GB1 /usr/X11R6/share/xpdf/chinese-simplified
/Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN /usr/X11R6/share/xpdf/chinese-simplified/
ISO-2022-CN.unicodeMap
unicodeMap EUC-CN /usr/X11R6/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
unicodeMap GBK /usr/X11R6/share/xpdf/chinese-simplified/GBK.
unicodeMap
cMapDir Adobe-GB1 /usr/local/share/ghostscript/Resource/CMap
toUnicodeDir /usr/local/share/ghostscript/Resource/CMap
displayCIDFontX Adobe-GB1 "-misc-simsun-medium-r-normal–12
-*-*-*-*-*-gb2312.1980-0"
ISO-2022-CN—————————————————————–
—————

为:-misc-simsun-medium-r-normal–12-*-*-*-*-*-gb2312.1980-0

,

No Comments

FreeBSD 6.0总算Release了!

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

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

No Comments

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

,

No Comments