Linux分割槽之parted命令

Federico發表於2018-12-11

  之前使用最多的分割槽命令無疑是fdisk了,大多數情況下fdisk可以滿足日常工作上的需求,極個別情況就需要使用parted命令了,至於及個別情況就要從MBR和GPT說起。

MBR主引導扇區

  主引導扇區,是計算機開機後訪問硬碟時所必須要讀取的首個扇區,主引導扇區記錄著硬碟本身的相關資訊以及硬碟各個分割槽的大小及位置資訊,是資料資訊的重要入口。如果它受到破壞,硬碟上的基本資料結構資訊將會丟失,需要用繁瑣的方式試探性的重建資料結構資訊後才可能重新訪問原先的資料。
  硬碟分割槽表佔據主引導扇區的64個位元組,可以對四個分割槽的資訊進行描述,其中每個分割槽的資訊佔據16個位元組。主開機記錄僅僅包含一個64個位元組的硬碟分割槽表。由於每個分割槽資訊需要16個位元組,所以對於採用MBR型分割槽結構的硬碟,最多隻能識別4個主要分割槽(Primary partition)。對於一個採用此種分割槽結構的硬碟來說,想要得到4個以上的主要分割槽是不可能的。這裡就需要引出擴充套件分割槽了。擴充套件分割槽也是主要分割槽的一種,但它與主分割槽的不同在於理論上可以劃分為無數個邏輯分割槽。

MBR分割槽特點:

  • 在MBR分割槽表中最多4個主分割槽或者3個主分割槽+1個擴充套件分割槽,也就是說擴充套件分割槽只能有一個,然後可以再細分為多個邏輯分割槽。
  • 在Linux系統中,硬碟分割槽命名為sda1-sda4或者hda1-hda4(其中a表示硬碟編號可能是a、b、c等等)。在MBR硬碟中,分割槽號1-4是主分割槽(或者擴充套件分割槽),邏輯分割槽號只能從5開始。
  • 在MBR分割槽表中,一個分割槽最大的容量為2T,且每個分割槽的起始柱面必須在這個disk的前2T內。你有一個3T的硬碟,根據要求你至少要把它劃分為2個分割槽,且最後一個分割槽的起始扇區要位於硬碟的前2T空間內。如果硬碟太大則必須改用GPT。

MBR分割槽的第三個特點也就是我這裡所說的極個別情況,MBR分割槽表中一個分割槽的最大容量為2T,所以我們使用fdisk規劃分割槽時最大為2T,如果是大資料伺服器或者日誌伺服器,很可能不能滿足我們的需求,這時我們就需要使用GPT分割槽表,使用parted命令來規劃分割槽。

GPT分割槽表

  全域性唯一標識分割槽表(GUID Partition Table,縮寫:GPT)是一個實體硬碟的分割槽表的結構佈局的標準。它是可擴充套件韌體介面(EFI)標準(被Intel用於替代個人計算機的BIOS)的一部分,被用於替代BIOS系統中的一32bits來儲存邏輯塊地址和大小資訊的主開機記錄(MBR)分割槽表。GPT可管理硬碟大小達到了18EB(1EB=1024PB=1,048,576TB)

分割槽表對應使用分割槽命令

分割槽表 使用命令
MBR分割槽表 fdisk/parted
GPT分割槽表 parted

  很直觀的體現出其實parted的功能比fdisk更強。

parted命令使用

兩種執行模式:

  • 命令列模式
  • 互動模式

命令列模式

parted /dev/sdb mktable gpt:設定資料盤型別為GPT分割槽表
parted /dev/sdb mkpart p1 ext4 1MiB 10MiB:設定第一個分割槽名為p1,檔案系統型別為ext4,大小為1MiB到10MiB。(與fdisk分割槽命令一致當磁碟分割槽表型別為MBR時分割槽還需要指定主分割槽或擴充分割槽)
parted -l

Model: ATA CentOS Linux-1 (scsi)
Disk /dev/sdb: 10.7GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  10.5MB  9437kB               p1

互動模式

parted /dev/sdb

(parted) mkpart
Partition name?  []? p1
File system type?  [ext2]? ext4
Start? 0
End? 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? ignore
(parted) print
Model: ATA CentOS Linux-1 (scsi)
Disk /dev/sdb: 10.7GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  10.7GB  10.7GB  ext4         p1

(parted)

掛載使用

mount /dev/sdb1 test
cd test
touch 1.txt
ls

[root@centos-linux test]# ls
1.txt
[root@centos-linux test]#

相關文章