一、 parted的用途及說明
1.1 MBR分區與GPT分區
傳統的MBR分區表格式,僅支持最大四個主分區,而且不可以格式化2TB以上的磁盤,因此,大磁盤更適合使用parted工具進行GPT的分區格式。
1.2 概要說明
parted用於對磁盤(或RAID磁盤)進行分區及管理,與fdisk分區工具相比,支持2TB以上的磁盤分區,並且允許調整分區的大小。
1.3 GNU手冊說明
parted是一個用於硬盤分區或調整分區大小的工具。使用它你可以創建、清除、調整、移動和復制ext2、ext3、linux-swap、FAT、FAT32和reiserfs分區;也能創建、調整和移動蘋果系統的HFS分區;還能檢測jfs、ntfs、ufs和xfs分區。該工具常用於為新安裝的操作系統創建空間,重新分配硬盤使用情況,在將數據拷貝到新硬盤的時候也常常使用。
二、parted的使用方法(交互式)
2.1 對磁盤進行分區
$ parted /dev/sdb
# 對/dev/sdb進行分區或管理操作
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
# 定義分區表格式(常用的有msdos和gpt分區表格式,msdos不支持2TB以上容量的磁盤,所以大於2TB的磁盤選gpt分區表格式)
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
# /dev/sdb上現有的磁盤標簽將被銷毀,該磁盤上的所有數據將丟失。你想要繼續
是/Yes/否/No? yes
(parted) mkpart p1
# 創建第一個分區,名稱為p1(p1只是第一個分區的名稱,用別的名稱也可以,如part1)
文件系統類型? [ext2]? xfs
# 定義分區格式(不支持ext4,想分ext4格式的分區,可以通過mkfs.ext4格式化成ext4格式)
起始點? 1
# 定義分區的起始位置(單位支持K,M,G,T)
結束點? 100%
# 定義分區的結束位置(單位支持K,M,G,T)
(parted) print # 查看當前分區情況
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 標志
1 1049kB 107GB 107GB xfs p1
2.2 刪除分區
$ parted /dev/sdb
# 對/dev/sdb進行分區或管理操作
(parted) rm
# rm刪除命令(刪除之前必須確保分區沒有被掛載)
分區編號? 1
# 刪除第一個分區
(parted) print # 打印當前分區情況
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 標志
在格式化幾個TB的磁盤的時候,時間會非常的長,格式化6T的磁盤時間大概在一個半小時左右。(據硬盤實際情況而定)
三、partd分區實例
fdisk工具雖然很好用,但對於大於2T以上的硬盤分區特別慢,可能一部分容量識別不了,也不支持非交互模式。
用parted就非常方便了,對大硬盤支持很好,也可以實現腳本分區。
parted該指令默認都已經安裝過了,如果沒有安裝的話,使用以下命令進行安裝:
$ yum install parted
parted有個不提示用戶參數選項,就是通過這個選項來實現非交互!
-s, --script
never prompts for user intervention
3.1 定義分區類型
$ parted -s /dev/sdb mklabel gpt
# -s表示不輸出提示信息
# 如果不是用腳本執行分區操作,不建議忽略提示信息
3.2 查看磁盤分區信息
$ parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 標志
3.3 創建與刪除分區
命令格式如下:
parted 磁盤 mkpart 分區類型 [文件系統類型] 開始 結束
其中,分區類型有 primary、logical、extended三種,文件系統類型為可選項,一般選擇為 ext4、xfs或swap等。開始與結束表示分區開始與結束的位置(默認單位為MB),也可以使用百分比表示分區位置,比如你想把整個磁盤創建一個分區,可以使用下面的命令:
把整個磁盤/dev/sdb創建為一個主分區
$ parted /dev/sdb mkpart primary xfs 0% 100%
把磁盤/dev/sdb創建為多個主分區
$ parted /dev/sdb mkpart primary xfs 1G 10G
$ parted /dev/sdb mkpart primary xfs 10G 50%
$ parted /dev/sdb mkpart primary xfs 50% 100%
$ parted /dev/sdb print # 查看
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 標志
1 1000MB 10.0GB 9000MB primary
2 10.0GB 53.7GB 43.7GB primary
3 53.7GB 107GB 53.7GB primary
刪除分區
$ parted /dev/sdb rm 1
# 刪除分區號為 1 的分區
$ parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 標志
2 10.0GB 53.7GB 43.7GB primary
3 53.7GB 107GB 53.7GB primary
格式化並掛載
$ mkfs.xfs /dev/sdb2
$ mkdir /data
$ mount /dev/sdb2 /data
$ df -hT /data
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/sdb2 xfs 41G 33M 41G 1% /data
四、操作示例
需求:一塊 100G的磁盤,使用parted創建一個分區(此分區包含所有磁盤空間),然后掛載到 /data 目錄進行使用。過程如下:
$ parted /dev/sdb mklabel gpt
$ parted /dev/sdb mkpart primary xfs 0% 100%
$ mkfs.xfs /dev/sdb1
$ mount /dev/sdb1 /data
$ df -hT /data
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/sdb1 xfs 100G 33M 100G 1% /data
$ vim /etc/fstab
/dev/sdb1 /data xfs defaults 0 0
# 實現開機自動掛載
