系統管理員都應該知道的系統常識

才智咖 人氣:1.85W

許多剛進行系統維護的新人或正在學習系統的同學可能很迷惘,現在這麼多伺服器版本,該如何學習和深入呢?是不是隻學習Windows系列的系統即可,而不管Linux/Unix呢?或者,只學習Linux/Unix即可而不管Win系列呢?看完本文,可能你對此職業有個大概瞭解,說不定從中也能學到些東西。

系統管理員都應該知道的系統常識

附註:以下系統如無特殊說明,均指64位。

首先糾正下系統管理員(System Admin)容易走進的三個誤區:

一、究竟Windows作伺服器好還是Linux/Unix伺服器好?

我以前同事愛爭論這個問題,老實話,完全沒必要。對於你的公司而言,Windows2K好,就用Windows2K;Linux好就用Linux,誰安全和高效就用誰;當然了,不建議用盜版。如果是作AD或桌面機系統,想到不想,用Windows2003和Windows XP吧,當然你想耍酷,也可以用ubuntu,但你要保證你能滿足你的辦公需求。我係統組的同事用的是Win7,算是潮人了;撫琴煮酒雖然一直是玩 Linux/Unix,但一直用的是英文正版Windows xp,用的遠端是pietty或xshell,我的老HP 6210跑不動Win7,就不趕這個潮流了。

二、系統管理員應該瞭解網路知識,許多System Admin容易忽視這個問題。

雖然在大型公司,系統管理員/網路管理員是明顯二個不同的工種,但許多公司工作,例如網站維護和開發環境佈署都需要雙方協同全作,缺一不可。我覺得作為 System Admin,應該掌握和了解市場上的防火牆的效能和特點,一些簡單的交換機和路由機的配置及iptables或ipfw及VPN相關知識。網路你可以不精通,但一定要熟悉和了解,如果你的網站出了問題,你要第一時間判斷出是網路還是系統的問題,然後針對性的排障。

三、系統管理員應瞭解開發程式設計。

先不說Windows下的批處理和Linux下的shell程式設計,這應該是系統管理員必須掌握的基本功吧,我說的是PHP或java,還有C語言,系統管理員是管理應用層的東西,瞭解這些程式設計的知識對自己還是相當有好處,可以為系統架構師作為鋪墊和基礎。開發是應用最底層的東西,我認識的系統總監無一不是玩code出身。如果有精力的小夥,可適當在這些方面加強學習,我比較瞭解的語言是PHP,這個入門也比較簡單的。

首先說下Win系列,我玩這個是2001年大學畢業,當時分配到某大型國企資訊技術部,負責全國各地的銷售資料及庫存資料,當時值守的 Windows2000伺服器,說老實話,這東東放內網用還可以,但放公網上如果忘記打補丁就是悲劇了,衝擊波和震盪波會搞得你崩潰;所以後來每次上新伺服器的新系統時,我們會按照一個補丁表一個個老老實實打補丁,這種情況一直到以後用了Windows2003才有所改善。說老實話,Windows2003是我非常喜歡的一個系統,包括現在作為域控及作Exchange2007伺服器,我都推薦它(不是太喜歡Windows2008哈,這個比較臃腫),此外,在Windows2003上安裝SQL Server2008,感覺效果也是非常穩定的。

撫琴煮酒比較喜歡在Windows2003上佈署VMware GSX Server給開發用,效果那是相當的好,呵呵。以前還喜歡在Windows2003上研究ISA和檔案伺服器,不過自從有了Linux的 iptables和samba,基本就轉到linux下了,呵呵。當然了,Windows2003我也推薦用正版,大型企業是不會在乎這個費用的,如果有版權之爭就麻煩了。相比32位的Windows系統,64位的Windows 2003資料中心版最多可支援64路處理器,而32位版本只支援32路處理器。記憶體支援方面的提高也頗為顯著,32位的Windows 2003最多也只能支援64GB的記憶體,但是64位的大部分版本將可支援至1TB。也許現在大部分個人使用者都還沒有用上超過1G的記憶體,但是在高階運算領域,擴充套件能力是32位系統無法被應用的主要原因之一。

在包括系統模擬、基因運算等很多大運算量任務中,一個運算程序可能就要佔用成G的記憶體,而每一次運算任務都會產生十幾個G的資料。所以我的生產環境上的Windows2003基本都是64位的,Windows2003不難掌握,建議大家都熟練的掌握它吧。

有關Linux的常識

再說下Linux,嚴格來講,Linux這個詞本身只表示Linux核心,但在實際上人們已經習慣了用Linux來形容整個基於Linux核心,並且使用 GNU 工程各種工具和資料庫的作業系統(也被稱為GNU/Linux)。基於這些元件的Linux軟體被稱為Linux發行版。一般來講,一個Linux發行套件包含大量的軟體,比如軟體開發工具,資料庫,Web伺服器(例如Apache),X Window,桌面環境(比如GNOME和KDE),辦公套件(比如),等等。

Linux核心最初是為英特爾386微處理器設計的。現在Linux核心支援從個人電腦到大型主機甚至包括嵌入式系統在內的各種硬體裝置。

在開始的時候,Linux只是個人狂熱愛好的一種產物。但是現在,Linux已經成為了一種受到廣泛關注和支援的一種作業系統。包括IBM和惠普在內的一些計算機業巨頭也開始支援Linux。很多人認為,和其他的商用Unix系統以及微軟Windows相比,作為自由軟體的Linux具有低成本,安全性高,更加可信賴的優勢。Linux最成功的系統莫過於紅帽和Centos了,雖然我是紅帽的RHCE,不過本著價效比的原則,我還是推薦大家用 Centos,為什麼呢?大家看會下面的資料分析。

2009年10月-2010年7月Linux Web伺服器市場份額(W3Techs統計)

對Web伺服器的發行版統計顯示,30%的Linux伺服器執行的是CentOS發行版。CentOS完全是基於Red Hat的RHEL(Red Hat Enterprise Linux) 企業發行版,僅僅是移除了Red Hat的商標。

一位CentOS使用者稱,Red Hat的企業服務合同價格太高了,而且他們也不認為支付的支援服務費用是物有所值。

在桌面市場,CentOS並不算是一個流行的Linux發行版,在各種熱門Linux發行版的排行上都沒什麼特別好的排名;CentOS也是一個絲毫沒有個性的發行版——它根本就是和Red Hat企業級Linux一模一樣的。

雖然如此,但是在作為Web伺服器執行的Linux當中,CentOS卻是毫無懸念的No. 1。根據國外科技網站w3techs的 資料顯示,截止到2010年7月28日,CentOS以高達31.6%的份額佔據了Linux Web伺服器的榜首,第二和第三分別是Debian和Red Hat。也就是說,在每十個基於Linux的Web伺服器當中,就有三個CentOS,兩個半Debian和一個半RHEL。其中,Red Hat由紅帽公司開發並提供技術支援,Debian和CentOS都是由社群維護。

CentOS流行的原因

為什麼企業寧願選擇沒有技術支援的CentOS,而不去選擇技術背景強大、支援有保障的Red Hat?第一個原因當然是成本。在美國,紅帽的價位大約是每個伺服器每年1000美元;在國內的話,大規模的企業,這個價位更是到了每臺伺服器每年上萬甚至數十萬元的水平,這並不是一般企業願意承擔的;而CentOS相反,它是完全免費的。

另一方面,CentOS在資料中心裡面很受歡迎,因為它非常容易架設,非常容易維護和管理,並且非常的快。

撫琴煮酒認為還有一個原因,就是現在蠻多軟體,如果是直接安裝的話,僅僅只有CentOS支援,比如Heartbeat;centos是唯一一款支援直接yum安裝的Linux作業系統。

最後,讓我們看看w3techs統計資料的一些細節:

◆CentOS的佔有率上升主要是從Red Hat和Fedora那裡奪取市場份額,但同時,也有部分份額被Ubuntu所取代。

◆CentOS在大型企業中使用的相對少,主要還是分佈在大多數中小規模的站點。

◆CentOS上使用的主要是Sun的伺服器技術,使用Nginx的不多。

◆CentOS在日本、西班牙和羅馬尼亞的市場份額相對較高,在德國、中國和巴西則相對較低。

Centos現在在北京、上海及深圳,包括現在的武漢,機房裡也可以看到大量它們的身影,基於以上的統計,玩Linux的小夥們先把這個熟練掌握吧。

最後再說下FreeBSD,為什麼要扯上這個呢?

FreeBSD是一種Unix作業系統,是由經過BSD、386BSD和4.4BSD發展而來的Unix的一個重要分支,它支援 x86 相容(包括 Pentium? 和 Athlon?)、amd64 相容(包括 Opteron?、Athlon 64 和 EM64T)、 Alpha/AXP、IA-64、PC-98以及 UltraSPARC? 架構的計算機。它執行在Intel x86 family相容處理器、DEC Alpha、Sun微系統的UltraSPARC、Itanium (IA-64)和AMD64處理器上。針對PowerPC的支援正在開發中。它被普遍認為是相當可靠和健壯的。蘋果電腦的Mac OS X即以 Mach 為核心, 配合 FreeBSD 的驅動程式和實用工具為基礎。FreeBSD 源於 BSD ---美國加州大學伯克利分校開發 Unix? 版本它由來自世界各地的志願者開發和維護,FreeBSD 為不同架構的計算機系統提供了不同程度的支援。

而從企業的角度來看,公司許多重要的伺服器,都是用FreeBSD來跑(FreeBSD的穩定性有目共睹),比如postfix和SVN;如果大家也像我一樣維護內網開發環境就會明白,熟悉掌握FreeBSD是一件多麼愜意的事情,如果你的開發們需要大量虛擬環境。甭考慮什麼VMware ESXi和XEN了,直接上jail吧,安裝及部署都非常方便,一款戴爾 PowerEdge R710基本上跑10個虛擬機器沒什麼問題,基本上可以滿足10個開發小組的需求;而基於Apache+PHP5+MySQL的開發環境,用FreeBSD 就是一種享受;相對於外網原始碼安裝的LAMP和LNMP環境,二者投入的精力和時間就不在一個等級上。而諸如samba,vsftpd和SVN這些企業內部常見的開發環境,一個port很簡單就OK了,我遺憾的發現,在FreeBSD安裝SVN確實比在linux下安裝SVN要簡單得多。當然了,經測試發現,MySQL安裝在centos上的效果確實比在FreeBSD好得多。我現在比較傾向於的做法是:外網環境(需要佈署Nginx和Heartbeat 的網站)我考慮用centos,而內網開發環境,我儘量會使用FreeBSD。

我對FreeBSD與Linux比較的最終結論是:誰好誰穩定都只是暫時的,兩家的存在狀態,是一個“既生瑜何生亮”的問題,在長久的發展過程中,技術上的常勝將軍並不存在,雙方只有此消彼長,各領風騷。至於大家為什麼非要證明FreeBSD比Linux好或Linux比FreeBSD好,我想程式設計師普遍都喜歡追求完美,非要用最好最完美的系統才甘心吧!我個人的觀點是,這二個作業系統都可以熟悉和了解,精通不易,但也向著這個方向努力吧。

網友Licess 的觀點:其實用FreeBSD也好,用Linux也好,只要你用牛叉叉了,適合你的才是最好的,我個人認可這個觀點。

以上是我作為系統管理員的個人意見,Windows2003、Centos、FreeBSD這三種系統各有自身的特點,不能說誰好和誰壞,建議可以先都熟悉和精進,然後根據公司的需求決定投入的精力和時間 ,ubuntu也可以附帶研究下,至於AIX和sun的solaris,這些系統我不推薦也不反對,有精力和機會的小夥也可以研究和深入,希望這篇文章能給從事系統運維和系統整合的小夥們帶來幫助