Linux 分區指南

來源:互聯網
上載者:User
<!-- [if !supportLists]-->1.1             <!-- [endif]-->Linux 檔案系統結構介紹

Linux 作業系統有一些固定的目錄。各種Linux發行版的目錄結構雖然不會一模一樣,但是不會有很大差異。知道了這些目錄的作用,不僅對你進行磁碟分割規劃很有協助,而且會讓你以後的日常維護工作變得輕鬆。

Ubuntu檔案系統的主要目錄如表2.2所示。

表2.2 UbuntuLinux檔案系統的主要目錄

目   錄

英文全名

用   途

/

/

整個目錄結構的起始點,所有其它檔案和目錄都在它下面

/bin

Binaries

用來存放最常用的二進位命令

/boot

Boot

包含引導Linux的主要檔案,如grub和核心檔案等

/dev

Devices

所有裝置都在該目錄下,包括硬碟和顯示器等

/etc

etc

系統的所有設定檔都放在它下面

/home

Home

存放各使用者的主目錄($HOME)及其檔案和配置

/lib

Libraries

系統的庫檔案,有點像Windows的Program Files

/lost+found

lost+found

存放系統異常時丟失的檔案(如突然宕機),以利於恢複

/media

Media

載入各種媒體,如光碟片、磁碟片等

/mnt

Mount

載入各種檔案系統

/opt

Optionally

用於存放安裝的“可選”程式

/proc

Processes

包含進程等資訊,是記憶體的映射,不是真實目錄

/root

Root

該目錄是root使用者的根目錄

/sbin

System-only binaries

存放系統專用的二進位命令

/sys

System

存放系統資訊

/tmp

Temporary files

存放臨時檔案

/usr

User

存放普通使用者的應用程式,庫檔案和文檔等

/var

Variable files

存放那些在時間、大小、內容上會經常變化的檔案

表2.2中各個目錄的用途,你應該很瞭解才行。只要瞭解了各個目錄的用途,你才能在硬碟分區時不至於犯下大的錯誤。

<!-- [if !supportLists]-->1.2             <!-- [endif]-->“分區”和“掛載點”

平時,我們在討論Linux的“分區”時,常常混淆“掛載點”和“分區”的概念。其實只要大家都能明白就可以,不必摳字眼。不過,作為Linux系統管理員,我們還是應該弄明白這兩個概念的差別。

我們平常所說的“/var分區”,實際上說的是“掛載在/var上的分區”,而“/var”只是一個掛載點。那麼什麼是“分區”呢?

在Linux中,“分區”是一個一個的裝置,放在/dev目錄下。如果說IDE硬碟,它們的名字應該是/dev/hda1、/dev/hda2等;如果說SATA或者SCSI硬碟,它們的名字則是/dev/sda1、/dev/sda2等。

<!-- [if !supportLists]-->1.3             <!-- [endif]-->硬碟分區的表示方法

那麼什麼是hda和sda呢?它們分別是Hard Driver Number A和SCSI Driver Number A的簡寫,也就是說,hd和sd指出了硬碟的介面類型,後面的a則是序號,表示第幾塊硬碟。第1塊IDE硬碟是hda,第2塊IDE硬碟是hdb,依此類推;第1塊SCSI硬碟用sda表示,那麼第2塊SCSI就是用sdb表示了,依此類推,往後則是sdc、sdd等。

實際上,sd表示的不僅僅是SCSI裝置。除了IDE裝置外,SCSI、SATA、USB、Firewire等介面的存放裝置都是以sd表示的。

現在你應該已經知道,/dev/sdb2指的是第2塊SCSI硬碟的第2個分區,而/dev/hda5指的是第1塊IDE硬碟的第5個分區。

表2.3 Linux硬碟分區表示方法

 

IDE介面硬碟

SCSI介面硬碟

 

整個硬碟的表示方法

/dev/hda

/dev/hdb

/dev/hdc

……

/dev/sda

/dev/sdb

/dev/sdc

……

 

硬碟分區的表示方法

/dev/hda1, /dev/hda2…

/dev/hdb1, /dev/hdb2…

/dev/hdc1, /dev/hdc2…

/dev/sda1, /dev/sda2…

/dev/sdb1, /dev/sdb2…

/dev/sdc1, /dev/sdc2…

舊版本的Linux核心中,所有IDE相關的驅動代碼,不僅過於複雜,而且問題多多。於是,Linux核心的開發人員們從Kernel 2.6.19開始,提供了基於libata的PATA驅動程式,使得IDE裝置可以像SCSI裝置那樣使用。

所以,我們現在所使用的Ubuntu中,無論你使用的是IDE硬碟還是SATA硬碟,你看到的裝置都是/dev/sdx而不是/dev/hdx。從此,/dev/hdx不複存在。

需要注意的是,在Linux中,硬碟分區還有另外一種表示方法,這種方法是在grub中使用的。grub起源於Grand Unified Bootloader,是一個通用的電腦引導器,支援多種作業系統的多重開機。在grub中,不管是什麼介面的存放裝置,統統用hdx來表示,其中x是數字,從0開始。比如,第1塊硬碟的第1個分區,表示為(hd0,0)。

<!-- [if !supportLists]-->1.4             <!-- [endif]-->Linux分區指南

使用任何Linux系統,都要有至少兩個分區:一個是根分區,用“/”表示;另一個是swap(交換)分區。所以,最簡單的分區方法就是:先建立swap分區,剩下的所有空間分配給根分區“/”。

swap分區的尺寸,最小應該和記憶體一樣大,最大一般不超過記憶體的兩倍大小。

swap分區就像Windows的虛擬記憶體分頁檔pagefile.sys,系統在需要時會把它當作虛擬記憶體來使用。比方說在運行大型程式時、在記憶體最佳化時,或者在系統休眠時。系統休眠時,把整個記憶體的資料寫入swap分區,這就是為什麼你的swap分區的大小至少應該和記憶體一樣大的原因。

此外,最好把/boot也單獨建立在一個分區上。因為這個目錄下的檔案比較重要,萬一分區損壞,系統可能無法啟動。如果單獨建立為一個分區,其它分區損壞就不會影響它,從而提高了系統的穩定性。一般情況下,/boot分區不需要太大,128MB就足夠了。

至於其它分區,就要看你的實際需求了。

比方說,如果你的伺服器會有很多使用者登入上來放檔案,那麼/home最好單獨分區,並給予足夠大的空間。

再比方說,如果你的伺服器是要放資料庫的,這個資料庫可能會變得很大,那麼/var最好單獨分區,並給予足夠大的空間。因為資料庫預設是放在/var下面的。

Web伺服器也是一樣,因為Web頁面預設是放在/var下面的。所以,如果你認為會有人上傳大量的檔案,那麼最好也要把/var單獨分區,並給予足夠大的空間。

 

提示:作為伺服器,Hiweed還建議把/tmp單獨作為一個分區。因為大部分應用程式都會向這個目錄寫入臨時檔案,雖然每次Ubuntu重新啟動時這個目錄會被清空,但是沒有人會動不動重新啟動伺服器。

<!-- [if !supportLists]-->1.5             <!-- [endif]-->Linux分區案例

Hiweed在幫朋友的公司做系統架構時,在公司內部做了一台程式開發伺服器,在機房裡還有Web伺服器和資料庫伺服器。

程式開發伺服器是給所以公司開發人員用的,他們要在“家目錄”中儲存大量的檔案。平時,他們的工作站在啟動時,是會自動將程式開發伺服器上自己的“家目錄”掛載到本地的。所以,這台伺服器的/home是用得最多的,而且需要比較大的空間。

此外,由於是程式開發伺服器,我們還需要一個做版本管理的原始碼倉庫,這個倉庫是放在/var下面的。雖然原始碼的檔案尺寸不會特別大,不需要特別大的空間,但是這些代碼非常重要,所以我們也要像保護/boot那樣保護它們。

所以,對於這台程式開發伺服器,我們的資料分割配置(伺服器硬碟共有80 GB[10 GB],記憶體為1 GB[512 MB]),請見表2.4。

表2.4 程式開發伺服器資料分割配置

檔案系統

掛 載 點

大   小

分區格式

/dev/sda1

/boot

254 MB[254]

ext2

/dev/sda2

/

10 GB[2]

ext4

/dev/sda5

(無)

2 GB[768]

swap

/dev/sda6

/var

20.3 GB[2]

ext4

/dev/sda7

/home

46.8 GB[4.3]

ext4

/dev/sda8

/tmp

2 GB[768]

ext4

以上資料分割配置只是一個參考,實際資料分割配置應該根據自己的實際情況而定。

<!-- [if !supportLists]-->1.6             <!-- [endif]-->/etc/fstab 介紹

Linux系統中的所有靜態檔案系統,全部描述在/etc/fstab這個檔案中。fstab是File System Table的簡寫,也就是“檔案系統表”。系統啟動時,正是通過fstab中的資訊掛載各個分區的。fstab的檔案系統條目有6個欄位,格式如表2.5所示。

表2.5 fstab格式

設   備

掛載點

格  式

掛載選項

是否備份

檢查順序

/dev/sdb2

/home

Ext4

Defaults

0

2

 

下面我們來介紹一下每個欄位的含義,如表2.6所示。

表2.6 fstab各欄位含義

字    段

描      述

裝置

存放裝置(分區)的名字或者UUID

掛載點

要掛載到的目的檔案夾名稱。掛載後,從該檔案夾即可訪問裝置

格式

檔案系統的格式,如:ext4

.掛載選項

掛載的選項。和mount命令的選項相同,詳情可參考man mount

是否備份

啟用/禁用dump備份

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.