主頁(yè) > 知識(shí)庫(kù) > 一篇文章弄懂Linux磁盤(pán)和磁盤(pán)分區(qū)

一篇文章弄懂Linux磁盤(pán)和磁盤(pán)分區(qū)

熱門(mén)標(biāo)簽:檢查注冊(cè)表項(xiàng) 硅谷的囚徒呼叫中心 使用U盤(pán)裝系統(tǒng) 美圖手機(jī) 智能手機(jī) 阿里云 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 網(wǎng)站建設(shè)

前言

Linux 系統(tǒng)中所有的硬件設(shè)備都是通過(guò)文件的方式來(lái)表現(xiàn)和使用的,我們將這些文件稱為設(shè)備文件,硬盤(pán)對(duì)應(yīng)的設(shè)備文件一般被稱為塊設(shè)備文件。

本文介紹磁盤(pán)設(shè)備在 Linux 系統(tǒng)中的表示方法以及如何創(chuàng)建磁盤(pán)分區(qū)。

為什么要有多個(gè)分區(qū)?

防止數(shù)據(jù)丟失:如果系統(tǒng)只有一個(gè)分區(qū),那么這個(gè)分區(qū)損壞,用戶將會(huì)丟失所的有數(shù)據(jù)。

增加磁盤(pán)空間使用效率:可以用不同的區(qū)塊大小來(lái)格式化分區(qū),如果有很多1K的文件,而硬盤(pán)分區(qū)區(qū)塊大小為4K,那么每存儲(chǔ)一個(gè)文件將會(huì)浪費(fèi)3K空間。這時(shí)我們需要取這些文件大小的平均值進(jìn)行區(qū)塊大小的劃分。

數(shù)據(jù)激增到極限不會(huì)引起系統(tǒng)掛起:將用戶數(shù)據(jù)和系統(tǒng)數(shù)據(jù)分開(kāi),可以避免用戶數(shù)據(jù)填滿整個(gè)硬盤(pán),引起的系掛起。

磁盤(pán)分類

比較常見(jiàn)的磁盤(pán)類型有服務(wù)器中使用的 SCSI 硬盤(pán)和消費(fèi)類市場(chǎng)中的 SATA 硬盤(pán),當(dāng)然還有當(dāng)下大熱的各種固態(tài)硬盤(pán)。

SCSI 硬盤(pán)

SCSI 硬盤(pán)即采用 SCSI 接口的硬盤(pán)。它由于性能好、穩(wěn)定性高,因此在服務(wù)器上得到廣泛應(yīng)用。同時(shí)其價(jià)格也不菲,正因它的價(jià)格昂貴,所以在普通PC上很少見(jiàn)到它的蹤跡。SCSI 硬盤(pán)使用 50 針接口,外觀和普通硬盤(pán)接口有些相似(下圖來(lái)自互聯(lián)網(wǎng)):

SATA 硬盤(pán)

SATA(Serial ATA)口的硬盤(pán)又叫串口硬盤(pán),Serial ATA 采用串行連接方式,串行 ATA 總線使用嵌入式時(shí)鐘信號(hào),具備了更強(qiáng)的糾錯(cuò)能力,與以往相比其最大的區(qū)別在于能對(duì)傳輸指令(不僅僅是數(shù)據(jù))進(jìn)行檢查,如果發(fā)現(xiàn)錯(cuò)誤會(huì)自動(dòng)矯正,這在很大程度上提高了數(shù)據(jù)傳輸?shù)目煽啃?。串行接口還具有結(jié)構(gòu)簡(jiǎn)單、支持熱插拔的優(yōu)點(diǎn)(下圖來(lái)自互聯(lián)網(wǎng)):

固態(tài)硬盤(pán)

固態(tài)硬盤(pán)(Solid State Disk),一般稱之為 SSD 硬盤(pán),固態(tài)硬盤(pán)是用固態(tài)電子存儲(chǔ)芯片陣列而制成的硬盤(pán),由控制單元和存儲(chǔ)單元(FLASH芯片、DRAM芯片)組成。其主要特點(diǎn)是沒(méi)有傳統(tǒng)硬盤(pán)的機(jī)械結(jié)構(gòu),讀寫(xiě)速度非???下圖來(lái)自互聯(lián)網(wǎng)):

磁盤(pán)設(shè)備在 Linux 下的表示方法

在 Linux 系統(tǒng)中磁盤(pán)設(shè)備文件的命名規(guī)則為:

主設(shè)備號(hào) + 次設(shè)備號(hào) + 磁盤(pán)分區(qū)號(hào)

對(duì)于目前常見(jiàn)的磁盤(pán),一般表示為:

sd[a-z]x

主設(shè)備號(hào)代表設(shè)備的類型,相同的主設(shè)備號(hào)表示同類型的設(shè)備。當(dāng)前常見(jiàn)磁盤(pán)的主設(shè)備號(hào)為 sd。

次設(shè)備號(hào)代表同類設(shè)備中的序號(hào),用 "a-z" 表示。比如 /dev/sda 表示第一塊磁盤(pán),/dev/sdb 表示第二塊磁盤(pán)。

x 表示磁盤(pán)分區(qū)編號(hào)。在每塊磁盤(pán)上可能會(huì)劃分多個(gè)分區(qū),針對(duì)每個(gè)分區(qū),Linux 用 /dev/sdbx 表示,這里的 x 表示第二塊磁盤(pán)的第 x 個(gè)分區(qū)。

如下圖所示:

該系統(tǒng)中一共有四塊磁盤(pán) /dev/sda,/dev/sdb,/dev/sdc 和 /dev/sdd。其中的 /dev/sda 上創(chuàng)建了三個(gè)分區(qū),分別是 /dev/sda1,/dev/sda2,/dev/sda5;/dev/sdb 上只有一個(gè)分區(qū) /dev/sdb1。而 /dev/sdc 和 /dev/sdd 則尚未分區(qū)(也肯能是只有一個(gè)分區(qū),分區(qū)的名稱和磁盤(pán)的名稱相同)。

磁盤(pán)分區(qū)

創(chuàng)建磁盤(pán)分區(qū)大概有下面幾個(gè)目的:

  • 提升數(shù)據(jù)的安全性(一個(gè)分區(qū)的數(shù)據(jù)損壞不會(huì)影響其他分區(qū)的數(shù)據(jù))
  • 支持安裝多個(gè)操作系統(tǒng)
  • 多個(gè)小分區(qū)對(duì)比一個(gè)大分區(qū)會(huì)有性能提升
  • 更好的組織數(shù)據(jù)

磁盤(pán)的分區(qū)由主分區(qū)、擴(kuò)展分區(qū)和邏輯分區(qū)組成。在一塊磁盤(pán)上,主分區(qū)的最大個(gè)數(shù)是 4,其中擴(kuò)展分區(qū)也是一個(gè)主分區(qū),并且最多只能有一個(gè)擴(kuò)展分區(qū),但可以在擴(kuò)展分區(qū)上創(chuàng)建多個(gè)邏輯分區(qū)。因此主分區(qū)(包括擴(kuò)展分區(qū))的范圍是 1-4,邏輯分區(qū)從 5 開(kāi)始。對(duì)于邏輯分區(qū),Linux 規(guī)定它們必須建立在擴(kuò)展分區(qū)上,而不是建立在主分區(qū)上。

主分區(qū)的作用是用來(lái)啟動(dòng)操作系統(tǒng)的,主要存放操作系統(tǒng)的啟動(dòng)或引導(dǎo)程序,因此建議操作系統(tǒng)的引導(dǎo)程序都放在主分區(qū),比如 Linux 的 /boot 分區(qū),最好放在主分區(qū)上:

擴(kuò)展分區(qū)只不過(guò)是邏輯分區(qū)的 "容器"。實(shí)際上只有主分區(qū)和邏輯分區(qū)是用來(lái)進(jìn)行數(shù)據(jù)存儲(chǔ)的,因而可以將數(shù)據(jù)集中存放在磁盤(pán)的邏輯分區(qū)中。

我們可以通過(guò) fdisk 命令來(lái)查看磁盤(pán)分區(qū)的信息:

$ sudo fdisk -l /dev/sda

輸出中的前幾行是磁盤(pán)的基本信息,比如總大小為 80G,一共有多少個(gè)扇區(qū)(sector),每個(gè)扇區(qū)的大小等等。紅框中的則是我們比較關(guān)注的分區(qū)信息:

  • 第一列 Device 顯示了磁盤(pán)分區(qū)對(duì)應(yīng)的設(shè)備文件名。
  • 第二列 Boot 顯示是否為引導(dǎo)分區(qū),上圖中的 /dev/sda1 就是引導(dǎo)分區(qū)。
  • 第三列 Start 表示磁盤(pán)分區(qū)的起始位置。
  • 第四列 End 表示磁盤(pán)分區(qū)的結(jié)束位置。
  • 第五列 Sectors 表示分區(qū)占用的扇區(qū)數(shù)目。
  • 第六列 Size 顯示分區(qū)的大小。
  • 第七列和第八列顯示的內(nèi)容相同,分別是數(shù)值 ID 及其文字描述。 Id 列顯示了磁盤(pán)分區(qū)對(duì)應(yīng)的 ID,根據(jù)分區(qū)的不同,分區(qū)對(duì)應(yīng)的 ID 號(hào)也不相同。Linux 下用 83 表示主分區(qū)和邏輯分區(qū),5 表示擴(kuò)展分區(qū),8e 表示 LVM 分區(qū),82 表示交換分區(qū),7 表示 NTFS 分區(qū)。

上圖中的信息表明:/dev/sda1 是一個(gè)主分區(qū)并且被用作引導(dǎo)分區(qū);/dev/sda2 是擴(kuò)展分區(qū),其中只有一個(gè)邏輯分區(qū),即 /dev/sda5,這點(diǎn)可以通過(guò)兩個(gè)分區(qū)相同的大小證明。

利用 fdisk 劃分磁盤(pán)分區(qū)

fdisk 是 Linux 系統(tǒng)中一款功能強(qiáng)大的磁盤(pán)分區(qū)管理工具,可以觀察硬盤(pán)的使用情況,也可以用來(lái)管理磁盤(pán)分區(qū)。本文僅介紹如何使用 fdisk 創(chuàng)建新的磁盤(pán)分區(qū)。

假設(shè)我們的 Linux 系統(tǒng)中增加了一塊新的磁盤(pán),系統(tǒng)對(duì)應(yīng)的設(shè)備名為 /dev/sdd,下面我們通過(guò) fdisk 命令對(duì)這個(gè)磁盤(pán)進(jìn)行分區(qū)。

$ sudo fdisk /dev/sdd

輸入命令 n 來(lái)創(chuàng)建新分區(qū):

根據(jù)上面的提示,我們選擇 p 來(lái)創(chuàng)建主分區(qū),然后提示我們輸入分區(qū)的編號(hào):

主分區(qū)的編號(hào)為 1- 4,這里我們輸入了 1。接下來(lái)是設(shè)置分區(qū)的大小:

分區(qū)的大小是通過(guò)設(shè)置分區(qū)開(kāi)始處的扇區(qū)和結(jié)束處的扇區(qū)設(shè)置的。這里如果回車兩次會(huì)把整個(gè)磁盤(pán)劃分為一個(gè)分區(qū),也就是整個(gè)磁盤(pán)的容器都分給了一個(gè)分區(qū)。這樣一個(gè)簡(jiǎn)單的分區(qū)就差不多完成了,注意此時(shí)的分區(qū)信息還沒(méi)有寫(xiě)入到磁盤(pán)中,在這里還可以反悔,如果確認(rèn)執(zhí)行上面的分區(qū),執(zhí)行 w 命令就行了:

這時(shí)分區(qū)操作已經(jīng)完成了,我們可以通過(guò)下面的命令查看分區(qū)的結(jié)果:

$ sudo fdisk -l /dev/sdd

如果嫌上面的執(zhí)行過(guò)程麻煩,可以用下面的一行命令起到相同的效果:

$ (echo n; echo p; echo 1; echo ; echo ; echo w) | sudo fdisk /dev/sdd

更改分區(qū)的類型

上面創(chuàng)建的分區(qū)類型默認(rèn)為 83(Linux),如果想要一個(gè) 8e(Linux LVM)類型的分區(qū)該怎么辦?我們可以繼續(xù)使用 fdisk 命令修改分區(qū)的類型,這次輸入 t 命令來(lái)修改分區(qū)的類型:

接下來(lái)可以選擇要修改的分區(qū)號(hào),我們只有一個(gè)分區(qū),所以默認(rèn)就是 1。

下面我們可以通過(guò) L 命令來(lái)查看 fdisk 命令支持的分區(qū)類型:

我們需要?jiǎng)?chuàng)建 LVM,因此我們使用 LVM 的類型代碼 8e:

最后輸入 w 命令確認(rèn)變更。再次查看 /dev/sdd 的分區(qū)信息,此時(shí)分區(qū)類型已經(jīng)變成了 Linux LVM:

總結(jié)

分區(qū)是使用磁盤(pán)的基礎(chǔ),在分區(qū)完成后還需要對(duì)分區(qū)進(jìn)行格式化,并把格式化后的文件系統(tǒng)掛載到 Linux 系統(tǒng)之后才能存儲(chǔ)文件。

標(biāo)簽:湘潭 煙臺(tái) 湖北 黃山 懷化 山南 賀州 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一篇文章弄懂Linux磁盤(pán)和磁盤(pán)分區(qū)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266