1. 程式人生 > >linux 大容量磁盤分區工具parted

linux 大容量磁盤分區工具parted

ica 1.8 兩個 yum dev oot 是把 位置 轉換

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) p # 查看磁盤的類型為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) p ---列出分區信息
Error:Unable to open /dev/sdd - unrecognised disk label. ----由於沒有打上磁盤標簽,所以表現信息無法列出
(parted)mklabel ----創建磁盤標簽
New disk labeltype? gpt ----輸入磁盤表情名
(parted) p ----再次列出磁盤分區
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) p ----顯示分區信息
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) p ----再次查看分區狀態
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文件

linux 大容量磁盤分區工具parted