(转)FreeBSD服务器的安装与优化(1)
发表于:2007-06-09来源:作者:点击数:
标签:
还是一个比较陌生的系统。本文将以FreeBSD4.7Release为例,一步一步地带您安装一份完整的FreeBSD操作系统。 安装前的准备 FreeBSD对于系统的硬件适应能力比较强(相比 Linux 可能稍差,特别是对于新的显示卡的支持;但对于服务器常用的硬件,包括SCSI设备的支
还是一个比较陌生的系统。本文将以FreeBSD 4.7 Release为例,一步一步地带您安装一份完整的FreeBSD操作系统。
安装前的准备
FreeBSD对于系统的硬件适应能力比较强(相比
Linux可能稍差,特别是对于新的显示卡的支持;但对于服务器常用的硬件,包括SCSI设备的支持是相当完善的)。IA平台的多数处理器,下至386,上至Pentium-4及其兼容的CPU,都能够运行FreeBSD。为了有效地安装、运行FreeBSD,我个人推荐安装FreeBSD的系统至少要有2GB的剩余硬盘空间,以及至少64MB内存。这样配置的电脑在今天是很容易找到的。考虑到FreeBSD一般都被配置作为服务器使用,上面的配置要求显然是很容易做到的。
对于服务器来说,双启动是不合适的(服务器往往要求持续、长时间工作,而切换操作系统无疑需要停止服务。此外,双启动的系统稳定性比较差,某个操作系统的崩溃很可能破坏另一个操作系统)。FreeBSD支持和其他操作系统并存、并在开机时通过菜单选择使用的操作系统,但我个人非常反对以这种方式使用FreeBSD。
那么,让我来从头到尾地安装一台FreeBSD服务器,并说明FreeBSD的安装。为了安装FreeBSD,我准备了这样一台电脑:
CPU: Pentium II-233, 内存64MB, 硬盘(IDE)6GB, PS/2键盘、鼠标,20x光驱、无软驱、RealTek8139网卡(TP-LINK)。
上述配置在今天是很容易做到的。当然,就服务器而言,这个配置确实惨了点,不过FreeBSD在上面运行,并承担
数据库、动态网页等服务是完全没有问题的。
首先是准备FreeBSD的安装盘。FreeBSD有许多种安装方式,最简单易行的方式就是使用光盘安装;不过尽管如此,在没有软驱、光驱的计算机上也是可以通过BOOTP服务采用远程引导的方式来安装的。考虑到这种情况比较少见(笔者曾经在一台没有软驱、光驱的计算机上成功安装过FreeBSD,但方法是将硬盘挂接在另一台计算机上,而不是通常的BOOTP),在此不介绍。
为了安装FreeBSD,我准备了一张空的CD-R。安装FreeBSD最少只需要2张1.44MB的空白软盘(其余文件使用FTP获得),而安装FreeBSD只需要第一张光盘就够了。除非你的计算机很慢,或无法接入Inte
.net,否则一般情况只需要
下载第一张光盘的镜像。由于
网络中心的FTP上提供了FreeBSD 4.6全部四张光盘的镜像,以及4.6.2的前两张光盘,因此我直接下载并刻了后者的第一张光盘。
打开计算机,进入BIOS Setup。在其中选择让计算机从光盘启动(这是关键步骤,虽然FreeBSD也可以从DOS环境中启动安装过程,但那可能会有一些问题)、禁用一切用不到的设备,包括串口、并口、软驱控制器(这么做主要是为了提高
性能,因为外围设备可能会向主机发送中断请求,而用不到的设备发送请求除了浪费CPU的时间之外没有什么其他作用)。
FreeBSD安装光盘上的系统使用的是GENERIC内核,这个内核可以适应绝大多数系统的情况。当然,正如他的名字“GENERIC(通用)”,这也带来的较低的性能,例如,这个内核不能够发挥双CPU的能力,等等。不过既然安装过程只会进行一次,我们也不必过分地在意它。
安装光盘启动(对于软盘启动来说,是根据提示将两张软盘的内容全部加载到内存中)完成后,首先出现的是配置内核。
配置内核通常不是必需的,因为FreeBSD能够自动识别硬件。然而,如果你的硬件配置比较特殊(例如,有两块网卡,使用特殊的IRQ,比较古老,等等),那么可能需要手工配置一下内核。对于绝大多数情况来说,只要删除那些用不到的设备,就能够正常完成FreeBSD的安装;如果你对于自己的硬件不熟悉,这一过程甚至可以跳过。
我个人比较喜欢删除不用的设备,于是选择Visual方式,将不需要的设备统统删除。最后,按Q保存配置,进入FreeBSD的安装程序sysinstall(8)。
FreeBSD基本系统的安装
作为一个服务器管理员,经常性的服务器软件更新是必不可少的。FreeBSD提供了非常便捷的升级方式——
cvsup,它可以从FreeBSD中央cvsup服务器,或某个cvsup镜像上获取FreeBSD的部分或全部源代码,而且,它只下载那些修改过的源代码,并且可以根据需要选择适合你的版本(使用-STABLE可以提供较好的稳定性以及操作系统的最新特性,多数管理员都会选择这个;使用-RELEASE能够获得成熟产品的品质,尽管话是这样说,但实际上选择这一分支的人很少;使用-CURRENT的用户主要是参与FreeBSD
开发的人员,这个分支包含了所有即将进入-STABLE分支的新特性,但不要指望这个分支能够提供必要的稳定性保证,也不要指望它能够带来很好的性能,但所有的
安全问题都是首先在这个分支内修正的。我将在后面详细介绍这些)。
一旦最初的内核配置完成,它就会立即启动,并根据配置文件启动sysinstall(8)。我们将看到一个标准的文字模式配置界面,这有点类似于早期Visual Basic For MS-DOS编写的应用程序的界面。
选择Standard进入标准的FreeBSD安装过程。首先是对磁盘进行分区。
FreeBSD对于磁盘的管理和
Windows有比较大的差别。一个磁盘上通常有一个Partition就够了,而一个Partition又可以分成若干个slice,并加以标记(label)。实际上,FreeBSD的slice基本上可以等同于Windows的磁盘分区,或卷的概念。
为了保证与FreeBSD共存的系统能够启动,默认情况下FreeBSD会保留一部分磁盘空间(64 cyl)。对于单一操作系统的计算机来说,这是完全没有必要的。分区时按Shift+F可以选择不使用这个特性,不过这种情况下,除了彻底毁掉这套FreeBSD之外,恐怕就没有其他方法能够从这块硬盘上引导其他操作系统了。为了完全使用磁盘空间,我选择了不保留预留空间。
随后是在这个Partition上创建slice。和Linux的情况类似,FreeBSD也使用单独的交换区。这种设计可以避免碎片,也防止了对文件系统的影响,性能较好。通常情况下交换分区是内存的2-2.5倍,这足以应付日常的突发事件。/var用于保存那些不在集群中共享的文件,/tmp用来保存临时文件,而/usr用来保存那些需要在集群中同步的文件。/就不用说了,它保存的是启动系统需要的文件。
通常给/分配的空间是128MB,/tmp和/var各256MB,剩下的都分给/usr。不过也有例外,如果打算做一个大型的邮件系统,则/var要大一些(通常邮件系统依赖/var来保存邮件)。当然,各个slice可以mount到不同的地方(例如,你可以把曾经的/usr变成/var),不过最开始配置好可以减少很多麻烦。
当然,偷懒的方法也是有的。在没有slice,或没有完全配完slice的情况下按A,系统会给出一组(或对剩下的label)默认的配置。如果你打算单纯提供Web+数据库这样的服务,完全可以直接接受这组配置。
从FreeBSD 4.x开始,ufs支持了一个叫做SoftUpdates的技术。SoftUpdates的主要设计目标是提高文件系统性能。除了/所在的slice之外,所有的ufs slice都应打开SoftUpdates,这样对于提高系统整体性能很有好处。(/虽然也是ufs slice,但打开SoftUpdates会造成系统不稳定——FreeBSD文档如此警告,而笔者确实也吃过这个亏。不过,由于/的内容不需要经常变化,不打开SoftUpdates和打开了SoftUpdates几乎没有性能上的差别) 。SoftUpdates可以随时通过tunefs(8)来打开或关闭。在label(8)程序中,打开SoftUpdates的标志是文件系统显示为ufs+s。
之后是选择安装介质和要装的Distribution。它提供了几组常见的情况。Minium安装最小系统,包括一些基本的
Unix程序。Developer包括了一些开发工具;X-Developer和Kernel-Developer分别是X和内核开发人员用的。此外还有可选的ports,它可以帮助我们来安装应用程序。
我通常使用的是Custom(定制安装),不安装源代码、ports(因为这些可以从cvsup同步得到最新的,安装一遍浪费时间),只安装XFree86(主要是为了运行cvsup,因为编译不需要X的cvsup需要很长时间,而且很多其他的东西,如
php要用到的gd等等,需要XFree86的库文件的支持)、基本系统以及一部分库文件。当然,您也可以根据需要选择安装其他组件。
完成之后系统就开始安装了。注意,一旦安装开始,所有前面做的分区、建立文件系统等操作就结结实实地写到了硬盘上,再没有反悔的机会了。如果您的硬盘上包含重要数据,那么请在这之前备份。
根据计算机速度的不同,这个过程可能持续10分钟到数小时不等。在此过程中,除了光盘或硬盘出问题之外,基本上不会出现节外生枝的情况。按Alt+F2可以切换到用于调试sysinstall(8)的控制台,Alt+F4可以切换到一个命令行控制台,这些都是调试FreeBSD安装过程,或应付紧急情况的,通常用不到。
全部系统文件安装完成之后,sysinstall(8)会给出一个祝贺画面。同时,它也告诉你如何在以后运行sysinstall(8)进行其他操作,如配置等等。实际上,在FreeBSD中sysinstall(8)基本上相当于Windows控制面板的作用。
随后可以根据自己的情况配置网络、设置时区、显示字体、XWindow等等,并且创建新的用户(FreeBSD中的内建管理员叫做root,但由于它拥有一切特权,因此完全靠它来做日常工作有时会不太方便,笔者自己就曾不慎以root身分删除了modules,然后战战兢兢地重新编译内核)。
[img:d6b4e60d89]http://bbs.tencent.com/bbs_images/10045/A1051168798_12311.gif[/img:d6b4e60d89]
| mynix 回复于:2003-05-16 21:59:13
|
谢谢!up!
|
| 红袖添香 回复于:2003-05-16 22:03:20
|
...
法师,好啊!
|
| MaxBSD 回复于:2003-05-16 22:06:32
|
据说自4.5有了UFS_DIRHASH后,加了softupdates有时反而降低性能。不知是否真的,没试过。
|
| 南非蜘蛛 回复于:2003-05-16 22:08:27
|
让红袖见笑了,这是网易广州社区的一篇文章,我见还行,就转拉:)
|
| 南非蜘蛛 回复于:2003-05-16 22:10:51
|
4。8开始有了一个HTT options,不知道对多线程有多少提高???
|
| MaxBSD 回复于:2003-05-16 22:14:28
|
[quote:3587a1b03f="南非蜘蛛"]4。8开始有了一个HTT options,不知道对多线程有多少提高???[/quote:3587a1b03f]
理论上一般是15%-30%。
|
| 南非蜘蛛 回复于:2003-05-16 22:18:45
|
[quote:e73ea7c121="MaxBSD"]
理论上一般是15%-30%。[/quote:e73ea7c121]
能有这么大的提高?小马哥,我想问问这个HTT options是对cpu而言,还是操作系统处理而言
|
| MaxBSD 回复于:2003-05-16 22:23:22
|
[quote:c5ae18adc7="南非蜘蛛"]
能有这么大的提高?小马哥,我想问问这个HTT options是对cpu而言,还是操作系统处理而言[/quote:c5ae18adc7]
嘿嘿,我说是理论上。看过一个review说是可以达到。大概是对cpu而言吧。咱是装配工一级的不太懂不好说。
|
| 南非蜘蛛 回复于:2003-05-16 22:31:19
|
[quote:60956da755="MaxBSD"]
嘿嘿,我说是理论上。看过一个review说是可以达到。大概是对cpu而言吧。咱是装配工一级的不太懂不好说。[/quote:60956da755]
等我上班,然后找台大访问量的机器试一试,要是有这么神奇,我就把几千台server全部升级倒4。8以上,嘻嘻
|
| bsdboy 回复于:2003-05-16 22:34:33
|
哇~~~~ 蜘蛛上的 机器真是多呀?
|
| 红袖添香 回复于:2003-05-16 22:43:18
|
[quote:3461a427c9="南非蜘蛛"]
等我上班,然后找台大访问量的机器试一试,要是有这么神奇,我就把几千台server全部升级倒4。8以上,嘻嘻[/quote:3461a427c9]
几千!!!
这么多机器,装一台1小时,那得多长时间啊! 算不过来了,HOHO~~~
|
| 南非蜘蛛 回复于:2003-05-16 22:43:40
|
[quote:1a88a10aec="bsdboy"]哇~~~~ 蜘蛛上的 机器真是多呀?[/quote:1a88a10aec]
我也是装配工一级呀 :lol: :lol:
|
| quakelee 回复于:2003-05-16 22:46:04
|
关于HTT我持保留意见,这个是针对Intel的p4的一种技术,但是在分类上被归为跟SMP是一体的,但是4.8仅仅是支持这个技术,能带来多少性能的提升不好说,毕竟4.x对线程的支持一般
|
| 南非蜘蛛 回复于:2003-05-16 22:55:42
|
[quote:7cab76c0cb="红袖添香"]
几千!!!
这么多机器,装一台1小时,那得多长时间啊! 算不过来了,HOHO~~~[/quote:7cab76c0cb]
我现在装一台机器的时间是15分钟
克隆一台是20-40分钟(36G,打开scsi cache),但是我还是选择克隆,我们有一台克隆的机器,发一条命令1对8的克隆,就可以睡觉去啦
要不然我早就装机装S拉,装机郁闷呀
|
| MaxBSD 回复于:2003-05-16 22:57:40
|
[quote:393bbe1bf0="南非蜘蛛"]
我现在装一台机器的时间是15分钟
克隆一台是20-40分钟(36G,打开scsi cache),但是我还是选择克隆,我们有一台克隆的机器,发一条命令1对8的克隆,就可以睡觉去啦
要不然我早就装机装S拉,装机郁闷呀[/quote:393bbe1bf0]
这么多机子怎么管理呀?
|
| i2era 回复于:2003-05-16 23:00:26
|
[quote:0564b4717e="MaxBSD"]
这么多机子怎么管理呀?[/quote:0564b4717e]
蜘蛛“大哥”有一台管理的机器,发一条命令1对8的传诵,就可以睡觉去啦
:P
|
| 南非蜘蛛 回复于:2003-05-16 23:05:12
|
[quote:460c1230c9="i2era"]
蜘蛛“大哥”有一台管理的机器,发一条命令1对8的传诵,就可以睡觉去啦
:P[/quote:460c1230c9]
狂FT,那还要我干什么
to:小马
4个网管,管理硬件和系统,网络和安全
邮件,游戏,社区。。。应用其他人管理
|
| MaxBSD 回复于:2003-05-16 23:07:21
|
[quote:397e05c41a="南非蜘蛛"]
狂FT,那还要我干什么
to:小马
4个网管,管理硬件和系统,网络和安全
邮件,游戏,社区。。。应用其他人管理[/quote:397e05c41a]
是用yp/nis吗?不然一台机一个root可够呛。没有专门的管理系统?openview什么的?
|
| 南非蜘蛛 回复于:2003-05-16 23:21:07
|
都是应用的管理员管理了,有问题我们才上去看,所以也不是很累
|
| wmeng 回复于:2003-05-17 13:15:47
|
南非蜘蛛 大侠是在网易吗?
|
| nathan 回复于:2003-05-17 18:34:28
|
这里不错,小弟我用FreeBSD+Maple架BBS给人服务,希望各位大侠常常指点
|
| unixor 回复于:2003-05-17 18:47:20
|
蜘蛛管理的什么网站呀,让咱们开开荤哪!……
|
| jedi-k 回复于:2003-05-18 10:54:38
|
……
比我还强,
我最多烧制GHOST光盘4张
4台一起作GHOST
|
| mirnshi 回复于:2003-05-19 12:48:28
|
[quote:be995357bd="南非蜘蛛"]
我现在装一台机器的时间是15分钟
克隆一台是20-40分钟(36G,打开scsi cache),但是我还是选择克隆,我们有一台克隆的机器,发一条命令1对8的克隆,就可以睡觉去啦
要不然我早就装机装S拉,装机郁闷呀[/quote:be995357bd]
我曾看到过专有安装用的分布式系统,可以网络安装,这可不仅仅是1:8
|
| zlp 回复于:2003-05-20 13:47:08
|
怎么实现 克隆 安装??
|
| cgweb 回复于:2003-05-29 12:38:46
|
钢材几位前辈说'HTT options' 是什么意识呀.
|
| aska 回复于:2003-06-01 08:53:35
|
[quote:cf233d1aea="cgweb"]钢材几位前辈说'HTT options' 是什么意识呀.[/quote:cf233d1aea]
是超线程,给P4之类的CPU用的啊
BTW:大家克隆系统是怎么做的呢?
|
| lxl54321 回复于:2003-06-16 09:27:21
|
都是猛人,怎样一对八?用什么软件吗?
|
原文转自:http://www.ltesting.net