1. 程式人生 > >linux 大容量磁碟分割槽工具parted

linux 大容量磁碟分割槽工具parted

1. Msdos和Gpt的區別

fdisk  :只能分msdos分割槽
parted :可以分msdos和gpt分割槽

 

2. MSDOS特點
最大支援2TB卷大小。
每個磁碟最多隻能有4個主分割槽(或3個主分割槽,1個擴充套件分割槽和無限制的邏輯分割槽)。
Linux系統下可以使用fdisk\cfdisk對該分割槽型別進行操作。

 

3. GPT特點
GPT支援磁碟大小達到了18EB(1EB=1024PB=1,048,576TB),但需要注意的是,單一分割槽的磁碟大小還受檔案系統型別的限制,比如NTFS檔案系統最大隻支援256TB的大小。
GPT對分割槽數量沒有限制。


Linux系統下可以使用parted工具對該分割槽型別進行操作。

 

4. parted對大容量磁碟分割槽(因為是在虛擬機器,沒有大於2TB的磁碟,因此模擬個500G的磁碟):
# yum -y install parted      # 安裝parted工具

(1)確定磁碟使用的是哪種分割槽型別(msdos或gpt)
# parted /dev/sdb    #指定磁碟
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.


(parted) p                       # 或者輸入print。檢視幫助輸入?回車
Model: ATA ST3500312CS (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos           # 這裡就可以看到型別

(2)這兩種分割槽格式怎麼轉換?
(parted) mklabel gpt 

            # 在parted裡輸入這樣的命令去轉換,就是把msdos轉換為gpt
Warning: Partition(s) on /dev/sdb are being used.
Ignore/Cancel?                   # 有資料的磁碟不要輸入Ignore(表示忽略警告,直接幹掉系統磁盤裡的所有內容),新的磁碟選擇ignore,需要重新啟動系統,分割槽格式就轉換了
假設我這裡是新磁碟,輸入ignore
(parted) quit
重新啟動系統,使轉換生效
# reboot

(3)分割槽
# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)                   # 檢視磁碟的型別為gpt分割槽格式
(parted) mkpart               # mkpart 對磁碟進行分割槽
file system name? [name]  dbdata    # 輸入磁碟的名稱,自定義
File system type? [ext2]  ext4      # 這是標識此分割槽的格式化型別,以你最終格式化的格式為主
Start 1GB
End   500GB
(parted) quit                 # 分割槽完,退出parted工具

(4)格式分割槽,掛載分割槽
# ls /dev/sdb1       # 剛分完的區,我這裡用ls查不到裝置檔案,那麼就無法對其格式化
ls: cannot access /dev/sdb1: No such file or directory
# partx -a /dev/sdb  # 使用此命令(注意後面接的是硬碟名,不是分割槽名)
# ls /dev/sdb1       # 能看到此裝置名就表示OK了(特殊情況如果還不能看到裝置名,則需要reboot你的作業系統)
/dev/sdb1            # 能看到裝置後,就可以格式化掛載使用了
# mkfs.ext4 /dev/sdb # 格式磁碟
# vim /etc/fstable   # 編輯磁碟掛載檔案,添加掛載路徑
# mount -a           # 重新整理掛載磁碟
# lsblk 或者 df -h   # 檢視掛載資訊

檢視單個磁碟狀態
# parted /dev/sdb

檢視所有磁碟狀態
# parted -l

 

例2:通過parted工具來實現單磁碟多分割槽
# parted /dev/sdd
GNU Parted 1.8.1
Using /dev/sdd
Welcome to GNUParted! Type 'help' to view a list of commands.
(parted)       ---列出分割槽資訊
Error:Unable to open /dev/sdd - unrecognised disk label.  ----由於沒有打上磁碟標籤,所以表現資訊無法列出
(parted)mklabel   ----建立磁碟標籤
New disk labeltype? gpt               ----輸入磁碟表情名
(parted)                           ----再次列出磁碟分割槽
Model: VMware,VMware Virtual S (scsi) ----顯示磁碟型別為SCSI磁碟
Disk /dev/sdd:1100GB                  ----磁碟大小為1100GB
Sector size(logical/physical): 512B/512B  ----扇區大小為512B
Partition Table:gpt                   ----顯示標籤名為我剛才輸入的標籤名稱
Number Start End Size File system Name Flags ----現在是一新硬碟還沒有建立分割槽
(parted)mkpart                        ----建立分割槽
Partitionname? [] part1               ----指定分割槽名稱
File systemtype? [ext2] ext4          ----定義分割槽型別
Start? 1G                             ----指定起始位置
End? 10G                              ----指定終止位置
(parted)mkpart                        ----建立分割槽
Partitionname? [] part2               ----指定分割槽名稱
File systemtype? [ext2] ext4          ----定義分割槽型別
Start? 11G                            ----指定起始位置
End? 100G                             ----指定終止位置
(parted)mkpart
Partitionname? [] part3
File systemtype? [ext2] ext4
Start? 101G                           ----指定分割槽其實位置
End? -1                               ----指定到分割槽最後
(parted)                           ----顯示分割槽資訊
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sdd:1100GB
Sector size (logical/physical):512B/512B
Partition Table:gpt
Number Start End Size File system Name Flags    ----檢視到下面共有三個分割槽
1 17.4kB 10.0GB 10000MB part1
2 10.0GB 100GB 90.0GB part2
3 100GB 1100GB 1000GB part3
(parted) rm 3   ----刪除分割槽3
(parted)     ----再次檢視分割槽狀態
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sdd:1100GB
Sector size(logical/physical): 512B/512B
Partition Table:gpt
Number Start End Size File system Name Flags    ----顯示分割槽刪除成功,只剩下兩個分割槽
1 17.4kB 10.0GB 10000MB part1
2 10.0GB 100GB 90.0GB part2
(parted) quit
Information: Don'tforget to update /etc/fstab, if necessary.   -----提示不要忘記更新/etc/fstab檔案