當前位置:
首頁 > 最新 > Linux磁碟管理

Linux磁碟管理

在Liunx 系統中,如何有效地對存儲空間加以使用和管理,是一項非常重要的技術。本文將詳細講解如果有效使用磁碟、使用fdisk分區工具進行分區、掛載分區等操作。

1.磁碟的介紹

Linux 用來儲存數據的設備,主要包含了內存(RAM,Random Access Memory)與磁碟(Disk)兩種:內存的成本高,但訪問速度快,通常用來儲存短暫性的數據;而磁碟雖然訪問速度慢,但成本低廉,所以磁碟通常用來儲存需永久保存的數據。

目前常見的磁碟包含硬碟(HD,Hard Disk)、軟盤(FD,Floppy Disk)、光碟 (CD, Compact Disk)、磁帶(Tape)與快閃記憶體(Flash Memory)。

2.磁碟的分類

我們可以把 Linux 支持的磁碟設備,按照連接的介面種類,分為IDE硬碟、SATA硬碟、SCSI硬碟、移動(USB)硬碟。

與其他硬體設備一樣,Linux 也會為不同的磁碟提供一個設備文件 (Device File),當你調用某一個設備文件時,Linux 就可以知道你需要調用哪個磁碟設備。

下面是常見不同介面的硬碟,在Linux系統中的識別名稱。

1

IDE 磁碟:IDE磁碟是個人計算機(PC,Personal Computer)中最常見的磁碟類型,Red Hat Enterprise Linux 當然也支持IDE磁碟。Red Hat Enterprise Linux目前支持包含了 ATA 與SATA兩種介面的IDE磁碟。

目前的Red Hat Enterprise Linux為ATA與SATA兩種規格的 IDE 磁碟,提供不同的設備文件:

/dev/hdXX

在Linux中,ATA 介面的 IDE 磁碟設備識別名稱為hd,也就是說在/dev/目錄下,文件名為hd開頭的,就是ATA介面的IDE磁碟。

由於一台計算機中可以安裝多個ATA IDE 硬碟,為了區分這些 ATA IDE 硬碟,Red Hat Enterprise Linux會為每一硬碟提供一個英文字母代號,作為每個不同的 ATA IDE 磁碟的識別名稱。例如,第一個 ATA IDE 硬碟的設備文件,就是/dev/hda;而 /dev/hdb 就是第二個ATA 的 IDE 硬碟,以此類推……。

/dev/sdXX

而SATA介面的IDE硬碟,在 Red Hat Enterprise Linux 則是以 sd 作為其設備文件識別名稱。與ATA IDE硬碟一樣,Red Hat Enterprise Linux也會為每一個SATA IDE硬碟提供一個獨一無二的識別英文字母,因此,第一台SATA IDE硬碟就是/dev/sda;而 /dev/sdb 就是第二個SATA IDE硬碟;依此類推……

2

SCSI 磁碟:SCSI是使用SCSI介面連接到計算機的磁碟,通常應用於較高級的伺服器系統上。由於SCSI磁碟會由SCSI控制卡上獨立的處理器,執行調用磁碟的動作,比起IDE是由主機板上的CPU處理的情況而言,使用SCSI磁碟可以獲得較高的效能,然而SCSI硬碟的價格也較IDE磁碟的價格昂貴很多。

Red Hat Enterprise Linux 的SCSI磁碟的識別名稱為sd,在/dev/目錄中使用sd 開頭的設備文件,都是提供給 SCSI 磁碟使用的設備文件。每一個SCSI磁碟與IDE磁碟一樣,都會賦予一個磁碟代號,然而與IDE 磁碟的代號不同之處,IDE磁碟代號只有一個字母,而SCSI 磁碟代號有兩個字母。每一台計算機可以安裝多個SCSI 控制卡,而每一個SCSI控制卡中可以安裝數個SCSI磁碟,一台個人計算機往往可以安裝數十個,甚至上百個SCSI 的磁碟! 所以,/dev/sda 是第一顆 SCSI 硬碟,/dev/sdad則是第三十個SCSI磁碟……,以此類推。

3

光碟機:光碟機是以SATA介面鏈接到計算機,Red Hat Enterprise Linux 所有的光碟機都是使用 sr的識別名稱,因此/dev/目錄下以sr開頭的設備文件,皆是提供光碟機使用。由於我們不太可能在一台個人計算機中同時安裝太多的光碟機設備,Red Hat Enterprise Linux僅以/dev/srN作為光碟機的設備文件,其中N是0 ~ 7中的一個數字,作為光碟機設備文件的識別號碼。例如,第一台光碟機動器為 /dev/sr0,第三台光碟機驅動器為/dev/sr2 ……,依此類推。

4

移動硬碟:目前Red Hat Enterprise Linux的USB介面,即使用 /dev/sdXX 的設備文件,代表是USB的磁碟;因此使用USB方式連接到計算機的移動式磁碟,不管是USB外接硬碟、U盤、USB光碟機……,都是使用 /dev/sdXX 的設備文件。

3.磁碟的結構

一塊硬碟是由若干張的磁碟(Disk)所構成,每張磁碟的表面會塗布一層薄薄的磁粉。磁碟會提供一個或多個的讀寫頭(Read-Writer Header),硬碟就由讀寫磁頭來改變磁碟上磁性物質的方向,由此儲存計算機中的0或者1的數字數據。磁碟的內部結構如下圖:

實際上,一個硬碟是由下面的組件所組成:

1

磁面:每一張磁碟的表面,稱為磁面(Head)。

2

磁軌:每一個磁面的空間,會邏輯的切割出許多磁軌 (Track)。

3

扇區:每一個磁軌可以再切割出若干個扇區 (Sector),也是調用磁碟的最小單位。現今磁碟中的扇區默認大小為512位元組 (Bytes)。

4

磁柱:一個磁碟會有多個磁碟,每個磁碟上同一編號的磁軌就組成了磁柱(Cylinder)。

上述的每一個組件在磁碟中都會有一個編號,以扇區為例,每一個扇區都會有一個編號;當然,磁軌也會有自己的編號、磁柱也有。如果把每一個扇區,依照其編號順序,依序排列起來,就可以變成一個線性的磁碟空間。

4.主引導記錄

整個磁碟的第零號磁柱、第零號磁面的第零個扇區,就是我們常說得的「主引導記錄 」(MBR, Master Boot Record)。如下圖所示:

主引導記錄扇區儲存著下列的信息:

1

初始化程序載入器(IPL, Initial Program Loader):佔用446位元組的空間,用來儲存操作系統的內核。

2

分區數據表(Partition Table):佔用64位元組空間,儲存這個磁碟的分區信息。

3

驗證碼:佔用2位元組空間,用來存放初始化程序載入器的檢查碼(Checksum)。

當計算機啟動的時候,會載入儲存在主引導記錄扇區的前446位元組,也就是初始化程序載入引導區的操作,這由計算機的操作系統來執行;另外,計算機也可以根據主引導記錄扇區中的分區數據表,判斷這個磁碟有多少個分區、某一個分區的大小、甚至分區是給哪個操作系統使用的信息等。

所以,主引導記錄扇區可說是磁碟中最重要的扇區!如果計算機無法讀取主引導磁區,就會造成計算機無法順利啟動操作系統或者無法取得分區的信息,當然也就無法使用這塊磁碟了!

備份

備份、還原主引導記錄的方法

由於主引導記錄扇區儲存著磁碟最重要的信息,因此,請儘可能妥善備份主引導記錄扇區。你可以通過下面的步驟,備份主引導記錄扇區:

1.執行dd if=DEVICE of=/backup/mbr.bak bs=512 count=1命令。

2.使用U盤複製,妥善保存。

如果發現主引導記錄扇區數據已經受損,可以通過下面的步驟,還原磁碟的主要記錄扇區:

1. 取出先前備份的U盤

2.執行dd if=/backup/mbr.bak of=DEVICE bs=512 count=1命令。

3. 取出U盤。

其中的 DEVICE 請換成要備份的磁碟設備。例如,備份第一個ATA IDE硬碟的主引導記錄扇區,就可以執行:dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1

5.分區

一台計算機允許你同時安裝多個操作系統,不同的操作系統可能會使用不同的文件系統(Filesystem)來儲存文件數據;可是每一個磁碟空間,只能使用同一種文件系統,如此一來,便無法在同一個磁碟上安裝多個操作系統!

為了讓同一個磁碟能安裝多個操作系統,你可以在硬碟中建立若干個分區 (Partition)。每一個分區在邏輯上都可以視為一個磁碟,因此,你可以為不同的分區建立不同的文件系統;如此就能在同一塊磁碟中,安裝多個操作系統了!

每一個磁碟都可以儲存若干條分區信息,每一條分區信息代表磁碟中的某一個分區;每一條分區信息會佔用16個位元組的空間,以便記錄下面幾項信息:

1

開始磁柱編號(Start Cylinder):這個分區是從第幾號的磁柱開始。

2

所有磁柱數量(Cylinder Count):這個分區一共佔用多少個磁柱。

3

分區系統標識符(Partition System Id):這個分區上的文件結構或者操作系統的標識符。

分區信息儲存可以儲存在主引導記錄扇區,或者其他的位置。儲存在不同位置的分區信息,代表是不同類型的分區。目前共定義下面三種類型的分區:

1

主要分區:分區信息如果儲存在主引導記錄扇區的分區表中,我們稱為主要分區(Primary Partition)。

由於主引導記錄扇區的分區數據表大小為64個位元組;而每一筆分區信息會佔用 16個位元組空間,因此,一塊磁碟最多只能擁有四個主要分區。

2

擴展分區:因為主引導記錄扇區空間的限制,一顆磁碟最多只能有四個主要分區;如果你需要更多的分區,該怎麼辦?有一種特殊的分區,專門用來儲存更多的分區,這種分區稱為擴展分區(Extended Partition)。

擴展分區具備下列的特性:

?擴展分區只能儲存分區,無法儲存文件的數據。

?擴展分區的信息,必須儲存在主引導記錄扇區的分區數據表中;換句話說,擴展分區可以視為一種特殊的主要分區。

因此,你可以把某一個主要分區修改為擴展分區,這樣就可以在這個擴展分區中,儲存更多的分區信息,突破分區的限制!

3

邏輯分區:儲存在擴展分區的分區,稱為邏輯分區 (Logic Partition)。每一個邏輯分區,可以儲存一個文件系統。

至於一個磁碟能夠建立多少個邏輯分區,則視其擴展分區之種類。不同種類的擴展分區,可建立的邏輯分區數量都不一樣:

?系統標識符為5 - Extended的擴展分區:最多只能儲存12個邏輯分區信息。

?系統標識符為85 - Linux Extended 的擴展分區:還會因磁碟種類不同,會有不同的數量:

?IDE 磁碟:最多60個邏輯分區。

?SCSI 磁碟:最多12個邏輯分區。

與硬碟一樣,每一個分區也會有象徵該分區的設備文件;其文件名將以硬碟的設備文件後,再指定分區的識別號碼命名:

?主要分區與擴展分區:使用1 ~ 4的識別號碼。

?邏輯分區:一律使用5 ~ 63的識別號碼。

例如,/dev/hda的第一個主要分區,其設備文件便是/dev/hda1;而/dev/sdb硬碟的第12號邏輯分區,則會使用/dev/sdb16的設備文件。

關注我們

雲運維聯盟

專註Linux雲平台運維


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲運維聯盟 的精彩文章:

10分鐘Linux-用戶管理

TAG:雲運維聯盟 |