Linux目錄結(jié)構(gòu)、Linux分區(qū)大小、掛載點和如何分區(qū)
一、關(guān)于硬盤種類、物理幾何結(jié)構(gòu)及硬盤容量、分區(qū)大小計算;
1、硬盤種類、物理幾何結(jié)構(gòu)
硬盤的種類主要是SCSI 、IDE 、以及現(xiàn)在流行的SATA等;任何一種硬盤的生產(chǎn)都要一定的標準;隨著相應(yīng)的標準的升級,硬盤生產(chǎn)技術(shù)也在升級;比如 SCSI標準已經(jīng)經(jīng)歷了SCSI-1 、SCSI-2、SCSI-3;其中目前咱們經(jīng)常在服務(wù)器網(wǎng)站看到的 Ultral-160就是基于SCSI-3標準的;IDE 遵循的是ATA標準,而目前流行的SATA,是ATA標準的升級版本;IDE是并口設(shè)備,而SATA是串口,SATA的發(fā)展目的是替換IDE;硬盤的物理幾何結(jié)構(gòu)是由盤、磁盤表面、柱面、扇區(qū)組成,一個張硬盤內(nèi)部是由幾張碟片疊加在一起,這樣形成一個柱體面;每個碟片都有上下表面;磁頭和磁盤表面接觸從而能讀取數(shù)據(jù);
2、硬盤容量及分區(qū)大小的算法;
我們通過fdsik -l 可以發(fā)現(xiàn)如下的信息:
- Disk /dev/hda: 80.0 GB, 80026361856 bytes
- 255 heads, 63 sectors/track, 9729 cylinders
- Units = cylinders of 16065 * 512 = 8225280 bytes
- Device Boot Start End Blocks Id System
- /dev/hda1 * 1 765 6144831 7 HPFS/NTFS
- /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
- /dev/hda3 2806 9729 55617030 5 Extended
- /dev/hda5 2806 3825 8193118+ 83 Linux
- /dev/hda6 3826 5100 10241406 83 Linux
- /dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
- /dev/hda8 5199 6657 11719386 83 Linux
- /dev/hda9 6658 7751 8787523+ 83 Linux
- /dev/hda10 7752 9729 15888253+ 83 Linux
其中 heads 是磁盤面;sectors 是扇區(qū);cylinders 是柱面;每個扇區(qū)大小是 512byte,也就是0.5K;通過上面的例子,我們發(fā)現(xiàn)此硬盤有 255個磁盤面,有63個扇區(qū),有9729個柱面;所以整個硬盤體積換算公式應(yīng)該是:
磁面?zhèn)€數(shù) x 扇區(qū)個數(shù) x 每個扇區(qū)的大小512 x 柱面?zhèn)€數(shù) = 硬盤體積 (單位bytes)
所以在本例中磁盤的大小應(yīng)該計算如下: 255 x 63 x 512 x 9729 = 80023749120 bytes 提示:由于硬盤生產(chǎn)商和操作系統(tǒng)換算不太一樣,硬盤廠家以10進位的辦法來換算,而操作系統(tǒng)是以2進位制來換算,所以在換算成M或者G 時,不同的算法結(jié)果卻不一樣;所以我們的硬盤有時標出的是80G,在操作系統(tǒng)下看卻少幾M;上面例子中,硬盤廠家算法 和 操作系統(tǒng)算數(shù)比較:硬盤廠家: 80023749120 bytes = 80023749.120 K = 80023.749120 M (向大單位換算,每次除以1000)
操作系統(tǒng): 80023749120 bytes = 78148192.5 K = 76316.594238281 M (向大單位換算,每次除以1024)我們在查看分區(qū)大小的時候,可以用生產(chǎn)廠家提供的算法來簡單推算分區(qū)的大小;把小數(shù)點向前移動六位就是以G表示的大小;比如 hda1 的大小約為 6.144831G ;
二、關(guān)于硬盤分區(qū)劃分標準及合理分區(qū)結(jié)構(gòu);
1、硬盤分區(qū)劃分標準
硬盤的分區(qū)由主分區(qū)、擴展分區(qū)和邏輯分區(qū)組成;所以我們在對硬盤分區(qū)時要遵循這個標準;主分區(qū)(包括擴展分區(qū))的***個數(shù)是四個,主分區(qū)(包含擴展分區(qū))的個數(shù)硬盤的主引導(dǎo)記錄MBR(Master Boot Recorder)決定的,MBR存放啟動管理程序(GRUB,LILO,NTLOARDER等)和分區(qū)表記錄。其中擴展分區(qū)也算一個主分區(qū);擴展分區(qū)下可以包含更多的邏輯分區(qū);所以主分區(qū)(包括擴展分區(qū))范圍是從1-4,邏輯分區(qū)是從5開始的;比如下面的例子:
- Device Boot Start End Blocks Id System
- /dev/hda1 * 1 765 6144831 7 HPFS/NTFS
- /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
- /dev/hda3 2806 9729 55617030 5 Extended
- /dev/hda5 2806 3825 8193118+ 83 Linux
- /dev/hda6 3826 5100 10241406 83 Linux
- /dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
- /dev/hda8 5199 6657 11719386 83 Linux
- /dev/hda9 6658 7751 8787523+ 83 Linux
- /dev/hda10 7752 9729 15888253+ 83 Linux
通過這個例子,我們可以看到主分區(qū)有3個,從 hda1-hda3 ,擴展分區(qū)由 hda5-hda10 ;此硬盤沒有主分區(qū)4,所以也沒有顯示主分區(qū)hda4 ;但邏輯分區(qū)不可能從4開始,因為那是主分區(qū)的位置,明白了吧;
2、硬盤設(shè)備(包括移動存儲設(shè)備)在Linux或者其它類Unix系統(tǒng)的表示;
IDE 硬盤在Linux或者其它類Unix系統(tǒng)的一般表示為 hd* ,比如hda、hdb ... ... ,我們可以通過 fdisk -l 來查看;有時您可能只有一個硬盤,在操作系統(tǒng)中看到的卻是 hdb ,這與硬盤的跳線有關(guān);另外hdc 大多表示是光驅(qū)設(shè)備;如果您有兩塊硬盤,大多是 hda和hdb。在這方面說的太多也無用,還是以fdisk -l 為準為好; SCSI 和SATA 硬盤在Linux通常也是表示為 sd* ,比如 sda 、sdb ... ... 以fdisk -l 為準移動存儲設(shè)備在linux表示為 sd* ,比如 sda 、sdb ... ... 以fdisk -l 為準
3、合理的規(guī)劃分區(qū);
關(guān)于一個磁盤的分區(qū),一個磁盤應(yīng)該有四個主分區(qū),其中擴展也算一個主分區(qū);存在以下情況:
1)分區(qū)結(jié)構(gòu)之一:四個主分區(qū),沒有擴展分區(qū);
[主|分區(qū)1] [主分|區(qū)2] [主|分區(qū)3] [主|分區(qū)4]
這種情況,如果您想在一個磁盤上劃分五個以上分區(qū),這樣是行不通的;
三個主分區(qū) 一個擴展分區(qū);
[ 主 | 分區(qū)1 ] [ 主 | 分區(qū)2 ] [ 主 | 分區(qū)3 ] [擴展分區(qū)]
|
[邏輯|分區(qū)5] [邏輯|分區(qū)6] [邏輯|分區(qū)7] [邏輯|分區(qū)8] ... ...
這種情況行得通,而且分區(qū)的自由度比較大;分區(qū)也不受約束,能分超過5個分區(qū);這只是舉一個例子;
2)最合理的的分區(qū)方式;
最合理的分區(qū)結(jié)構(gòu):主分區(qū)在前,擴展分區(qū)在后,然后在擴展分區(qū)中劃分邏輯分區(qū);主分區(qū)的個數(shù)+擴展分區(qū)個數(shù)要控制在四個之內(nèi);比如下面的分區(qū)是比較好的;
[主|分區(qū)1] [主|分區(qū)2] [主|分區(qū)3] [擴展分區(qū)]
|
[邏輯|分區(qū)5] [邏輯|分區(qū)6] [邏輯|分區(qū)7] [邏輯|分區(qū)8] ... ...
[主|分區(qū)1] [主|分區(qū)2] [擴展分區(qū)]
|
[邏輯|分區(qū)5] [邏輯|分區(qū)6] [邏輯|分區(qū)7] [邏輯|分區(qū)8] ... ...
[主|分區(qū)1] [擴展分區(qū)]
|
[邏輯|分區(qū)5] [邏輯|分區(qū)6] [邏輯|分區(qū)7] [邏輯|分區(qū)8] ... ...
最不合理的分區(qū)結(jié)構(gòu): 主分區(qū)包圍擴展分區(qū);比如下面的;
[主|分區(qū)1] [主|分區(qū)2] [擴展分區(qū)] [主|分區(qū)4] [空白未分區(qū)空間]
|
[邏輯|分區(qū)5] [邏輯|分區(qū)6] [邏輯|分區(qū)7] [邏輯|分區(qū)8] ... ...
這樣 [主|分區(qū)2] 和 [主|分區(qū)4] 之間的 [擴展分區(qū)] 是有自由度,但[主|分區(qū)4]后的[空白未分區(qū)空間]怎么辦?除非把主分區(qū)4完全利用擴展分區(qū)后的空間,否則您想在主分區(qū)4后再劃一個分區(qū)是不可能的,劃分邏輯分區(qū)更不可能; 雖然類似此種辦法也符合一個磁盤四個主分區(qū)的標準,但這樣主分區(qū)包圍擴展分區(qū)的分區(qū)方法實在不可取;我們根據(jù)這個標題,查看一下我們的例子,是不是符合這個標準呢?
- Device Boot Start End Blocks Id System
- /dev/hda1 * 1 765 6144831 7 HPFS/NTFS
- /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
- /dev/hda3 2806 9729 55617030 5 Extended
- /dev/hda5 2806 3825 8193118+ 83 Linux
- /dev/hda6 3826 5100 10241406 83 Linux
- /dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
- /dev/hda8 5199 6657 11719386 83 Linux
- /dev/hda9 6658 7751 8787523+ 83 Linux
- /dev/hda10 7752 9729 15888253+ 83 Linux
接下來介紹Linux常用分區(qū)掛載點常識以及桌面、服務(wù)器分區(qū)掛載點的推薦配置,當(dāng)然這個配置是天緣自己寫的,分區(qū)大小這個話題是仁者見仁智者見智,歡迎大家一起交流這個話題,比如WEB服務(wù)、郵件服務(wù)、下載服務(wù)等,我們一起交流哪種類型服務(wù)下某掛載點應(yīng)該加大就可以了,至于是否獨立就看個人的了。
一、Linux分區(qū)掛載點介紹
Linux分區(qū)掛載點介紹,推薦容量僅供參考不是絕對,跟各系統(tǒng)用途以及硬盤空間配額等因素實際調(diào)整:
分區(qū)類型 |
介紹 |
備注 |
/boot |
啟動分區(qū) |
一般設(shè)置100M-200M,boot目錄包含了操作系統(tǒng)的內(nèi)核和在啟動系統(tǒng)過程中所要用到的文件。 |
/ |
根分區(qū) |
所有未指定掛載點的目錄都會放到這個掛載點下。 |
/home |
用戶目錄 |
一般每個用戶100M左右,特殊用途,比如放大文件也可再加上G。分區(qū)大小取決于用戶多少。對于多用戶使用的電腦,建議把/home獨立出來,而且還可以很好地控制普通用戶權(quán)限等,比如對用戶或者用戶組實行磁盤配額限制、用戶權(quán)限訪問等。 |
/tmp |
臨時文件 |
一般設(shè)置1-5G,方便加載ISO鏡像文件使用,對于多用戶系統(tǒng)或者網(wǎng)絡(luò)服務(wù)器來也有獨立掛載的必要。臨時文件目錄,也是最常出現(xiàn)問題的目錄之一。 |
/usr |
文件系統(tǒng) |
一般設(shè)置要3-15G,大部分的用戶安裝的軟件程序都在這里。就像是Windows目錄和Program Files目錄。很多Linux家族系統(tǒng)有時還會把/usr/local單獨作為掛載點使用。 |
/var |
可變數(shù)據(jù)目錄 |
包含系統(tǒng)運行時要改變的數(shù)據(jù)。通常這些數(shù)據(jù)所在的目錄的大小是要經(jīng)常變化的,系統(tǒng)日志記錄也在/var/log下。一般多用戶系統(tǒng)或者網(wǎng)絡(luò)服務(wù)器要建立這個分區(qū),設(shè)立這個分區(qū),對系統(tǒng)日志的維護很有幫助。一般設(shè)置2-3G大小,也可以把硬盤余下空間全部分為var。 |
/srv |
系統(tǒng)服務(wù)目錄 |
用來存放service服務(wù)啟動所需的文件資料目錄,不常改變。 |
/opt |
附加應(yīng)用程序 |
存放可選的安裝文件,個人一般把自己下載的軟件資料存在里面,比如Office、QQ等等。 |
swap |
交換分區(qū) |
一般為內(nèi)存2倍,***指定2G即可 |
以下為其它常用的分區(qū)掛載點 |
||
/bin |
二進制可執(zhí)行目錄 |
存放二進制可執(zhí)行程序,里面的程序可以直接通過命令行調(diào)用,而不需要進入程序所在的文件夾。 |
/sbin |
系統(tǒng)管理員命令存放目錄 |
存放標準系統(tǒng)管理員文件 |
/dev |
存放設(shè)備文件 |
驅(qū)動文件等 |
... |
不再介紹... |
當(dāng)然上面這么多掛載點,實際上是沒有比較每個目錄都單獨進行掛載,我們只需要根據(jù)自己的實際使用需要對個別目錄進行掛載,這樣系統(tǒng)結(jié)構(gòu)看起來也會精簡很多。
一般來講Linux系統(tǒng)最少的掛載點有兩個一個是根掛載點/,另一個是swap,雖然swap也可以采用其他方式類似方式替代,但從使用角度,天緣認為沒這個必要,把swap單獨設(shè)置一個掛載點似乎對Linux系統(tǒng)的標準性更好支持。
二、Linux系統(tǒng)桌面、服務(wù)器分區(qū)推薦方案
下面以80G獨立硬盤安裝Ubuntu為例,列一下簡單的分區(qū)方案。
1、普通桌面用戶推薦分區(qū)方案(示例:80G桌面用戶):
2、服務(wù)器用戶推薦分區(qū)方案一(示例:80GWEB服務(wù)器用戶,用戶程序與系統(tǒng)程序合用usr):
2、服務(wù)器用戶推薦分區(qū)方案二(示例:80GWEB服務(wù)器用戶,用戶程序與系統(tǒng)程序分用opt和usr):
分區(qū)方案關(guān)鍵點:
——大數(shù)據(jù)庫一般要加大/usr掛載點
——多用戶、下載類、多存儲文件等要加大/home掛載點
——文件小,用戶多要注意/tmp和/var掛載點大小