歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> 類UNIX 教程:FreeBSD服務器的安裝與優化

類UNIX 教程:FreeBSD服務器的安裝與優化

日期:2017/2/25 10:13:43   编辑:Unix基礎知識

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 只需要第一張光盤就夠了。除非你的計算機很慢,或無法接入Internet,否則一般情況只需要下載第一張光盤的鏡像。由於網絡中心的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對於磁盤的管理和Windows有比較大的差別。一個磁盤上通常有一個Partition就夠了,而一個Partition又可以分成若干個slice,並加以標記(label)。實際上,FreeBSD的slice基本上可以等同於Windows的磁盤分區,或卷的概念。



為了保證與FreeBSD共存的系統能夠啟動,默認情況下FreeBSD會保留一部分磁盤空間(64 cyl)。對於單一操作系統的計算機來說,這是完全沒有必要的。分區時按Shift+F可以選擇不使用這個特性,不過這種情況下,除了徹底毀掉這套 FreeBSD之外,恐怕就沒有其他方法能夠從這塊硬盤上引導其他操作系統了。為了完全使用磁盤空間,我選擇了不保留預留空間。

FreeBSD服務器的安裝與優化(1)(圖一)

隨後是在這個Partition上創建slice。和Linux的情況類似,FreeBSD也使用單獨的交換區。這種設計可以避免碎片,也防止了對文件系統的影響,性能較好。通常情況下交換分區是內存的2-2.5倍,這足以應付日常的突發事件。/var用於保存那些不在集群中共享的文件,/tmp用來保存臨時文件,而/usr用來保存那些需要在集群中同步的文件。/就不用說了,它保存的是啟動系統需要的文件。

通常給/分配的空間是 128MB,/tmp和/var各256MB,剩下的都分給/usr。不過也有例外,如果打算做一個大型的郵件系統,則/var要大一些(通常郵件系統依賴/var來保存郵件)。當然,各個slice可以mount到不同的地方(例如,你可以把曾經的/usr變成/var),不過最開始配置好可以減少很多麻煩。

FreeBSD服務器的安裝與優化(1)(圖二)

當然,偷懶的方法也是有的。在沒有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,它可以幫助我們來安裝應用程序。

當然,偷懶的方法也是有的。在沒有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,然後戰戰兢兢地重新編譯內核)。

FreeBSD服務器的安裝與優化(1)(圖三)

Copyright © Linux教程網 All Rights Reserved