老鳥談生產場景如何對linux系統進行分區?
前言:
我們買房子時,會考慮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數據庫的的存放地;
--------------------------------------------------------------------------------
老男孩調查征集:
你覺得生產環境中安裝linux系統時如何進行分區比較好?請TXT(時間-主題-名字.txt)給我傳下你的答案。
我做個調查。有興趣的菜鳥及初級運維朋友可以配合下,予以配合的有獎勵。
獎勵一篇文章:老鳥談生產場景如何對linux系統進行分區?哈哈。
收集到的網友及學生的分區方法
(a)20110802-linux分區方法-康加.txt
分區使用ext3格式
/boot 200m強制為主分區
/swap 內存的1.5-到2倍強制為主
/剩余空間分給根強制為主
老男孩點評:
一般情況下,該分區方案是通用的分區方案,適合一般的企業服務器選擇。特別是
負載均衡下的RS。
(b)
GENERAL(511429563) 2011-8-2 9:43:04
是否要把/home,/usr,單獨拿出來,根據服務器的用途來劃分。就像老男孩說的,
你家需要2室3廳,也許他家需要3室一廳!個人意見
老男孩點評:
贊同。
(c)
AIX(xxx)10:35:28
/dos3G
/boot 64M
/目錄 10G
/HOME 100G
我們3G的/DOS 用來備份了 /目錄 服務器上當然沒用這個分區!
AIX(519372002)10:36:34
沒用swap 內存夠大!本地生產數據不是很多 !
老男孩點評:
一般來說分個dos是沒啥意義的,/home單分也沒啥目的。不用swap沒有問題,不過,一旦
內存耗盡,面臨直接掛機風險,建議還是少分一點。
(d)
把愛投資給希望10:45:44
在我感覺、分區、要按實際來、
一般會有如下幾個分區
1、boot
2、/
3、/swap
4、/usr
5、/root
6、 /var
7、/home
最重要的如下兩點
第一 這台主機是否經常編譯安裝軟件
如編譯安裝 那麼我會把/usr 目錄單獨放出來做一個分區、大小自己定義 (按實際預算稍大)
第二 /var 分區、 日志
一般日志、臨時目錄都在這個分區下 、所以建議單獨一個弄個大點的空間、日志可是很寶貴的東西
第三自定義備份分區
一般為/dos作為備份分區、大小在5G左右 還是老話 按實際來
第四 /home 分區、
這個分區也很重要 大概一半的空間都要分給這個區、 用戶數據全部在這兒、
第五/swap分區、這個按照配置來、如果大內存 完全可以不要、 小內存當然是必備的、
老男孩點評:
說的頭頭是道,其實必要性(必須這樣分的理由)都不強。
(e)
saink同學
公司生產環境
一般服務器(原有的生產環境,保持不變)
/boot 100M
swap 0~0.5倍內存
/ 剩余空間都給/
oracle服務器 16G內存(自己安裝直接管理的)
/boot 100M
swap 17G
/ 剩余空間
tmpfs 手工給了14000M,原來默認8G
我覺得一般服務器
/boot 200M
swap 1~2倍,現在服務器內存都比較大的,大於8G服務器的swap分區比內存略大些就行
而內存比較小的話可以用1.5~2倍,swap分區盡可少用,用的越多,對系統性能下降
剩余空間都給 /
老男孩點評:
基本贊同saink的分法,不過DB SERVER還是單分開的好一點。
正象好多朋友說的,分區沒有固定非要如何如何分,老男這裡也只是給大家一個 我這麼多年的一點經驗,供大家參考,實際工作中,大家要根據需求領導應對。