前言:
我們買房子時,會考慮1室1廳,2室1廳,或3室2廳......!那麼具體如何選,是要看
手中的money和家庭的人口數量。
同理,伺服器作業系統在分區時也是如此,到底分3個區,4個區,要不要分/home/ /var,這也要看我們的業務需求,和運維規範或者說運維上司的喜好。
分多了,分少了,在不同的業務場景都可能會有一些麻煩問題(LVM可以解決這個問題,不過有他的弊端,或者說,某些場景是畫蛇添足)。
在闡述這個問題之前我們先來簡單說下基礎分區/boot分區、swap分區和/(根)分區的作用。
█ Linux的/boot分區、swap分區和/(根)分區的作用:
/boot 引導分區,存放引導檔案和Linux核心等。
啟動檔案:用于判斷你需要啟動哪個作業系統或啟動哪個核心。
核心:簡單的講,程式與硬體間的橋梁,你使用應用程式通過核心控制整個計算機。
分區時一般設定:100-200M,正式環境下,linux引導檔案及核心全部大小小于100M。
/ 根分區,作為整個檔案系統的根目錄,硬碟不論分幾個區。所有的檔案
都會在根目錄下。在windows裡,我們把硬碟分為c: d: e: 等,然後
分别存放系統、程式、遊戲、歌曲等。
而在linux下不一樣了:不論你分幾個區,你都要在給他們單獨起個名字,
然後分别用 /data,/music,/study這樣名字的目錄來把分的分區挂載
到各自的目錄上提供通路,和目錄完全一樣的待遇。
在linux下,硬碟看起來就像一個分區一樣。這個分區的根目錄,就是/ 。
分區時一般設定:分完上面兩個區後,剩下的都給根分區即可。
在生産場景大規模(200台以上伺服器)網站運維中,普通伺服器的分區,分上面三個區是不
錯的選擇。
█ 采用/boot分區、swap分區和/(根)分區的方案優缺點:
優點:
簡單,使用友善,可批量安裝部署使用,而且不會因為分多個分區,有的分區滿了,
有的分區剩餘很多空間又不能被利用的情況(LVM的情況這裡先不闡述)。
(其實也是可以使用的,可以fdisk删除重建分區,然後進行擴充,不過過程就複雜了,
有興趣的朋友可以單獨交流)。
缺點:
如果系統壞了,重新裝系統時,因為資料都在/(根分區),而導緻重裝系統時資料備份麻煩了,
如果是加分了/usr,/home ,/var等分區,那麼系統壞了。
可以直接在/(根分區)裝系統,而不會破壞其它分區的資料。當然,我剛才也說了,如果是叢集的節點,不存在需要備份資料的情況下,本文的分區方案優點非常明顯,不需要擔心某個分區暴滿而其它分區不能使用的問題。
█ 生産環境中安裝linux系統時如何進行分區?
下面是我對本文主題的答案,供大家參考使用。僅代表老男孩的個人觀點。
有很多學生及朋友會在這裡糾結,到底産環境中安裝linux系統時如何進行分區?
比如,以上/boot分區、swap分區和/(根)分區是基本的,另外,要不要分/home /var等,甚至要不要把資料單獨分區。
其實,這個問題沒有固定的答案。那麼不給大家答案你們還不甘心,是以呢,我就再詳細說下吧。
提示:以上的分區方式,是可以建立在raid基礎上的。有關生産場景不同角色的伺服器如何選擇raid的問題,我們下次在談。
█ 附帶:其它常用分區目錄介紹
/home 普通使用者的家目錄預設存放目錄;
/usr 這個是系統存放程式的目錄,比如指令、幫助檔案等。這個目錄下有很多的檔案和目錄。當我們安裝一個Linux發行版官方提供的軟體包時,大多安裝在這裡。如果有涉及伺服器配置檔案的,會把配置檔案安裝在/etc目錄中。/usr目錄下包括涉及字型目錄/usr/share/fonts ,幫助目錄 /usr/share/man或/usr/share/doc,普通使用者可執行檔案目錄/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,比如 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;還有程式的頭檔案存放目錄/usr/include。
/var 這個目錄的内容是經常變動的,看名字就知道,我們可以了解為vary的縮寫,/var下有/var/log 這是用來存放系統日志的目錄。/var/www目錄是定義Apache伺服器站點存放目錄;/var/lib 用來存放一些庫檔案,比如MySQL的,以及MySQL資料庫的的存放地;
以下是老鳥對生産場景的分區建議:
伺服器角色
分區建議
優點
RAID方案
單機伺服器
如8G記憶體,300G硬碟
/boot 100-200M
swap 16G,記憶體大小8G*2
/ 80G
/var 20G(也可不分)
/data 180G(存放web及db資料)
資料盤和系統盤分開,有利于出問題時維護。
視資料及性能要求,一般可采用raid5折中。
負載均衡器(如LVS等)
swap 記憶體的1-2倍
/
簡單友善,隻做轉發資料量很少。
資料量小,重要性高,可采用RAID1
負載均衡下的RS server
簡單友善,因為有多機,對資料要求低。
資料量大,重要性不高,有性能要求,資料要求低,可采用RAID0
資料庫伺服器
mysql及oracle
如16/32G記憶體
swap 16G,記憶體的1倍
/ 100G
/data 剩餘(存放db資料)
資料盤和系統盤分開,有利于出問題時維護,及保持資料完整。
視資料及性能要求主庫可采取raid10/raid5,從庫可采用raid0提高性能(讀寫分離的情況下。)
存儲伺服器
/data(存放資料)
此伺服器不要分區太多。隻做備份,性能要求低。容量要大。
可采取sata盤,raid5
共享存儲伺服器(如NFS)
此伺服器不要分區太多。NFS共享比存儲多的要求就是性能要求。
視性能及通路要求可以raid5,raid10,甚至raid0(要有高可用或雙寫方案)
監控伺服器
cacti,nagios
重要性一般,資料要求也一般。
單盤或雙盤raid1即可。三盤就RAID5,看容量要求加盤即可。
說明:現在的硬碟已很便宜,硬碟空間也比以前大很多,是以,再細緻的去分區的必要性就不大了。簡單、易用、友善批量管理(如監控)是基本原則。
本文轉自 linuxzkq 51CTO部落格,原文連結:http://blog.51cto.com/linuxzkq/1583354