用作生產環境伺服器,FreeBSD和CentOS相比有哪些優劣勢?


ZFS 和 jail 是殺手級應用。


Linux 為了應對,分別出了 btrfs 和 lxc,但是都還很不成熟。相比之下 ZFS 和 jail 已經用於生產好多年了。


說幾乎沒啥優點的,可能是沒有深入使用過這一系統的。至於性能與穩定性這些東西,是沒有定論的,就不爭論了。

1、包管理方式。FreeBSD中你可以用不同版本的基系統,卻從ports里裝相同版本的應用軟體。而且一次編譯安裝好後,pkg_create命令把這個軟體和它依賴的所有包都打包成二進位,方便在其它機器上部署或者備份。當然還可備份/usr/ports/distfiles源代碼目錄。

2、簡單、統一。不存在發行版之間的區別,換管理員也可以輕易接手。

3、ZFS。這玩意比硬raid卡還靠譜,靈活、安全、高效。Linux沒有與之在一個水平線上的東西。

4、定製內核非常簡單。

為防被罵,說下缺點:

1、了解的人少雖然便於裝B但不便於招人,沒有RH一類的認證,驅動和應用文檔也少於linux,又沒商業公司的大力支持——導致一些商業公司不敢用。有時也會因為某些奇怪的硬體驅動問題導致品牌伺服器無法順利安裝。這是最大的缺點。

2、我覺得版本支持周期太短,5年最理想,但這種非商業化版本要維持那麼長的周期不太現實,目前的維護周期算是業界良心了。

3、Java支持較弱,導致一些應用直接排除它,比如Hadoop/oracle之類。


FreeBSD 的 Packages 和 Ports 系統比起 CentOS 的 rpm 和 yum 好用很多,CentOS 對一些新硬體的支持可能好點,另外想做 Xen dom0 的話,還是 linux 方便,其他的都看個人口味。


目前市場中FreBSD的佔有率比CentOS低應該算是劣勢,而且Centos/RHEL增長率也比FreeBSD高


佔有率是硬傷,新部署的業務就別上FreeBSD了。

至少國內的情況,開發人員和運維都是使用Linux多,社區更加活躍,硬要使用FreeBSD的估計多半是有什麼情節吧,從公司角度出發一般使用Linux就好。

對於一般業務的生產伺服器來說,穩定性(Linux穩定性也不差了)、License、部分特性這些理由都不構成Linux的劣勢。

由於有更龐大的用戶基數,新技術在Linux上使用更快。

除非有別的商業用途,例如二次開發內核而不想開源,才有License方面的考慮。(你看看人家COS:軟體所總體部主任武延軍表示,「COS系統基於Linux內核開發,除了少數東西,幾乎都是我們自己開發的。當然涉及到近千萬的代碼,都是我們自己開發,這部分可以作為自主知識產權。」,中國人就應該有這種魄力啊)


對於新手來說,freebsd很貼心,引導你按照黑客的思路維護。

從性能上說,各有千秋,使用者怎麼優化很重要。

如果使用java,freebsd缺乏支持,風險自擔,這是一大劣勢(通常是沒有問題的)

freebsd jail,非常輕量級的進程隔離方法,通常比虛擬化強多了


其實freebsd挺好的,當然netbsd據說性能更好了。

freebsd:

優勢我覺得是更符合hacker的精神,當然其實應該更穩定,劣勢是在過年沒有好的支撐環境,比如最新的伺服器的硬體可能支持不足。

centos:

優勢用的人多,缺點應該是linux的缺點,內核的穩定性比較差,比如內核中總是被塞入太多的東東,如極其不穩定的OCFS2。

------

補充一下:

由於freebsd的license的緣故,所以,其實好多公司都在用*bsd,只是不說而已。

比如juniper的路由器,還有很多網路安全設備,比如國內流控很牛的panabit就是基於freebsd內核開發的,非常穩定高效。


通常用你最熟悉的,遇到問題可以解決。如果都差不多,用用戶最多的那個。


UNIX的高效 。

LINUX的易用。

只是國內用freebsd的人相對linux比較少。


Linux有docker


兩個的license好像不同


技術強弱基本上沒什麼特別考慮的,都是很優秀的X86操作系統。但是FreeBSD對新出廠的伺服器,有的時候會有驅動程序的支持的問題。RedHat就沒有這個問題,它有硬體廠商的認證,對於大型的商業軟體,同樣也有認證支持。CentOS是Redhat的源代碼社區編譯的版本,如果遇到問題,不能在Redhat平台重現,那隻能等社區支持解決,得不到系統廠商的支持。


推薦閱讀:

工業中為什麼很少採用 Linux 伺服器?
如何理解內核搶佔和用戶進程搶佔,他們的區別是什麼?
linux 下進程間的同步機制有哪些?
殭屍進程和僵死進程有什麼區別?
Linux/Windows在多CPU時控制CPU使用率時表現為什麼不同?

TAG:Linux | FreeBSD | Unix | CentOS |