Linux目錄結構、Linux分區大小、掛載點和如何分區

一、關於硬盤種類、物理幾何結構及硬盤容量、分區大小計算;

1、硬盤種類、物理幾何結構
硬盤的種類主要是SCSI 、IDE 、以及現在流行的SATA等;任何一種硬盤的生產都要一定的標準;隨着相應的標準的升級,硬盤生產技術也在升級;比如 SCSI標準已經經歷了SCSI-1 、SCSI-2、SCSI-3;其中目前咱們經常在服務器網站看到的 Ultral-160就是基於SCSI-3標準的;IDE 遵循的是ATA標準,而目前流行的SATA,是ATA標準的升級版本;IDE是並口設備,而SATA是串口,SATA的發展目的是替換IDE;硬盤的物理幾何結構是由盤、磁盤表面、柱面、扇區組成,一個張硬盤內部是由幾張碟片疊加在一起,這樣形成一個柱體面;每個碟片都有上下表面;磁頭和磁盤表面接觸從而能讀取數據;

2、硬盤容量及分區大小的算法;
我們通過fdsik -l 可以發現如下的信息:

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 是扇區;cylinders 是柱面;每個扇區大小是 512byte,也就是0.5K;通過上面的例子,我們發現此硬盤有 255個磁盤面,有63個扇區,有9729個柱面;所以整個硬盤體積換算公式應該是:
磁面個數 x 扇區個數 x 每個扇區的大小512 x 柱面個數 = 硬盤體積 (單位bytes)
所以在本例中磁盤的大小應該計算如下: 255 x 63 x 512 x 9729 = 80023749120 bytes 提示:由於硬盤生產商和操作系統換算不太一樣,硬盤廠家以10進位的辦法來換算,而操作系統是以2進位制來換算,所以在換算成M或者G 時,不同的算法結果卻不一樣;所以我們的硬盤有時標出的是80G,在操作系統下看卻少幾M;上面例子中,硬盤廠家算法 和 操作系統算數比較:硬盤廠家: 80023749120 bytes = 80023749.120 K = 80023.749120 M (向大單位換算,每次除以1000)
操作系統: 80023749120 bytes = 78148192.5 K = 76316.594238281 M (向大單位換算,每次除以1024)我們在查看分區大小的時候,可以用生產廠家提供的算法來簡單推算分區的大小;把小數點向前移動六位就是以G表示的大小;比如 hda1 的大小約爲 6.144831G ;

二、關於硬盤分區劃分標準及合理分區結構
1、硬盤分區劃分標準
硬盤的分區由主分區、擴展分區和邏輯分區組成;所以我們在對硬盤分區時要遵循這個標準;主分區(包括擴展分區)的最大個數是四個,主分區(包含擴展分區)的個數硬盤的主引導記錄MBR(Master Boot Recorder)決定的,MBR存放啓動管理程序(GRUB,LILO,NTLOARDER等)和分區表記錄。其中擴展分區也算一個主分區;擴展分區下可以包含更多的邏輯分區;所以主分區(包括擴展分區)範圍是從1-4,邏輯分區是從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

通過這個例子,我們可以看到主分區有3個,從 hda1-hda3 ,擴展分區由 hda5-hda10 ;此硬盤沒有主分區4,所以也沒有顯示主分區hda4 ;但邏輯分區不可能從4開始,因爲那是主分區的位置,明白了吧;

2、硬盤設備(包括移動存儲設備)在Linux或者其它類Unix系統的表示;
IDE 硬盤在Linux或者其它類Unix系統的一般表示爲 hd* ,比如hda、hdb ... ... ,我們可以通過 fdisk -l 來查看;有時您可能只有一個硬盤,在操作系統中看到的卻是 hdb ,這與硬盤的跳線有關;另外hdc 大多表示是光驅設備;如果您有兩塊硬盤,大多是 hda和hdb。在這方面說的太多也無用,還是以fdisk -l 爲準爲好; SCSI 和SATA 硬盤在Linux通常也是表示爲 sd* ,比如 sda 、sdb ... ... 以fdisk -l 爲準移動存儲設備在linux表示爲 sd* ,比如 sda 、sdb ... ... 以fdisk -l 爲準

3、合理的規劃分區;
關於一個磁盤的分區,一個磁盤應該有四個主分區,其中擴展也算一個主分區;存在以下情況:
1)分區結構之一:四個主分區,沒有擴展分區;

[主|分區1] [主分|區2] [主|分區3] [主|分區4]

這種情況,如果您想在一個磁盤上劃分五個以上分區,這樣是行不通的;
三個主分區 一個擴展分區;

[ 主 | 分區1 ] [ 主 | 分區2 ] [ 主 | 分區3 ] [擴展分區]

|

[邏輯|分區5] [邏輯|分區6] [邏輯|分區7] [邏輯|分區8] ... ...

這種情況行得通,而且分區的自由度比較大;分區也不受約束,能分超過5個分區;這只是舉一個例子;
2)最合理的的分區方式;
最合理的分區結構:主分區在前,擴展分區在後,然後在擴展分區中劃分邏輯分區;主分區的個數+擴展分區個數要控制在四個之內;比如下面的分區是比較好的;

[主|分區1] [主|分區2] [主|分區3] [擴展分區]

|

[邏輯|分區5] [邏輯|分區6] [邏輯|分區7] [邏輯|分區8] ... ...

[主|分區1] [主|分區2] [擴展分區]

|

[邏輯|分區5] [邏輯|分區6] [邏輯|分區7] [邏輯|分區8] ... ...

[主|分區1] [擴展分區]

|

[邏輯|分區5] [邏輯|分區6] [邏輯|分區7] [邏輯|分區8] ... ...

最不合理的分區結構: 主分區包圍擴展分區;比如下面的;

[主|分區1] [主|分區2] [擴展分區] [主|分區4] [空白未分區空間]

|

[邏輯|分區5] [邏輯|分區6] [邏輯|分區7] [邏輯|分區8] ... ...

這樣 [主|分區2] 和 [主|分區4] 之間的 [擴展分區] 是有自由度,但[主|分區4]後的[空白未分區空間]怎麼辦?除非把主分區4完全利用擴展分區後的空間,否則您想在主分區4後再劃一個分區是不可能的,劃分邏輯分區更不可能; 雖然類似此種辦法也符合一個磁盤四個主分區的標準,但這樣主分區包圍擴展分區的分區方法實在不可取;我們根據這個標題,查看一下我們的例子,是不是符合這個標準呢?

   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常用分區掛載點常識以及桌面、服務器分區掛載點的推薦配置,當然這個配置是天緣自己寫的,分區大小這個話題是仁者見仁智者見智,歡迎大家一起交流這個話題,比如WEB服務、郵件服務、下載服務等,我們一起交流哪種類型服務下某掛載點應該加大就可以了,至於是否獨立就看個人的了。

一、Linux分區掛載點介紹

Linux分區掛載點介紹,推薦容量僅供參考不是絕對,跟各系統用途以及硬盤空間配額等因素實際調整:

分區類型

介紹

備註

/boot

啓動分區

一般設置100M-200M,boot目錄包含了操作系統的內核和在啓動系統過程中所要用到的文件。

/

根分區

所有未指定掛載點的目錄都會放到這個掛載點下。

/home

用戶目錄

一般每個用戶100M左右,特殊用途,比如放大文件也可再加上G。分區大小取決於用戶多少。對於多用戶使用的電腦,建議把/home獨立出來,而且還可以很好地控制普通用戶權限等,比如對用戶或者用戶組實行磁盤配額限制、用戶權限訪問等。

/tmp

臨時文件

一般設置1-5G,方便加載ISO鏡像文件使用,對於多用戶系統或者網絡服務器來也有獨立掛載的必要。臨時文件目錄,也是最常出現問題的目錄之一。

/usr

文件系統

一般設置要3-15G,大部分的用戶安裝的軟件程序都在這裏。就像是Windows目錄和Program Files目錄。很多Linux家族系統有時還會把/usr/local單獨作爲掛載點使用。

/var

可變數據目錄

包含系統運行時要改變的數據。通常這些數據所在的目錄的大小是要經常變化的,系統日誌記錄也在/var/log下。一般多用戶系統或者網絡服務器要建立這個分區,設立這個分區,對系統日誌的維護很有幫助。一般設置2-3G大小,也可以把硬盤餘下空間全部分爲var。

/srv

系統服務目錄

用來存放service服務啓動所需的文件資料目錄,不常改變。

/opt

附加應用程序

存放可選的安裝文件,個人一般把自己下載的軟件資料存在裏面,比如Office、QQ等等。

swap

交換分區

一般爲內存2倍,最大指定2G即可

   

以下爲其它常用的分區掛載點

/bin

二進制可執行目錄

存放二進制可執行程序,裏面的程序可以直接通過命令行調用,而不需要進入程序所在的文件夾。

/sbin

系統管理員命令存放目錄

存放標準系統管理員文件

/dev

存放設備文件

驅動文件等

...

 

不再介紹...

當然上面這麼多掛載點,實際上是沒有比較每個目錄都單獨進行掛載,我們只需要根據自己的實際使用需要對個別目錄進行掛載,這樣系統結構看起來也會精簡很多。

一般來講Linux系統最少的掛載點有兩個一個是根掛載點/,另一個是swap,雖然swap也可以採用其他方式類似方式替代,但從使用角度,天緣認爲沒這個必要,把swap單獨設置一個掛載點似乎對Linux系統的標準性更好支持。

二、Linux系統桌面、服務器分區推薦方案

下面以80G獨立硬盤安裝Ubuntu爲例,列一下簡單的分區方案。

1、普通桌面用戶推薦分區方案(示例:80G桌面用戶):

clip_image002

2、服務器用戶推薦分區方案一(示例:80GWEB服務器用戶,用戶程序與系統程序合用usr):

clip_image004

2、服務器用戶推薦分區方案二(示例:80GWEB服務器用戶,用戶程序與系統程序分用opt和usr):

clip_image006

分區方案關鍵點:

——大數據庫一般要加大/usr掛載點

——多用戶、下載類、多存儲文件等要加大/home掛載點

——文件小,用戶多要注意/tmp和/var掛載點大小

注:以上資料全互聯網上搜集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章