centos8平台使用parted管理分區


一,parted的用途

parted是GNU發布的強大的分區工具,

parted命令可以划分單個分區大於2T的GPT格式的分區,也可以划分普通的MBR分區。

因為fdisk命令對於大於2T的分區無法划分,所以用fdisk無法看到parted划分的GPT格式的分區

 

說明:劉宏締的架構森林是一個專注架構的博客,地址:https://www.cnblogs.com/architectforest

         對應的源碼可以訪問這里獲取: https://github.com/liuhongdi/

 說明:作者:劉宏締 郵箱: 371125307@qq.com

 

二,兩種分區表:MBR分區表/GPT分區表的比較

MBR分區表:(MBR含義:主引導記錄)
所支持的最大卷:2T (T: terabytes,1TB=1024GB)
對分區的設限:最多4個主分區或3個主分區加一個擴展分區。

GPT分區表:(GPT含義:GUID Partition Table,即GUID分區表)
支持最大卷:18EB,(E:exabytes,1EB=1024TB)
每個磁盤最多支持128個分區

所以如果要大於2TB的卷或分區就必須得用GPT分區表

 

三,parted命令所屬的包及安裝

1,所屬的包

[root@blog ~]# whereis parted
parted: /usr/sbin/parted /usr/share/man/man8/parted.8.gz /usr/share/info/parted.info.gz

[root@blog ~]# rpm -qf /usr/sbin/parted
parted-3.2-36.el8.x86_64

 

2,如果找不到parted命令,可以用yum安裝

[root@blog ~]# yum install parted 

 

四,查看parted的版本和幫助

1,查看版本

[root@blog ~]# parted --version
parted (GNU parted) 3.2
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by <http://git.debian.org/?p=parted/parted.git;a=blob_plain;f=AUTHORS>.

 

2,查看幫助

[root@blog ~]# parted --help 

 

五,例子一:打印磁盤與分區列表:

# --list: lists partition layout on all block devices

列出所有塊設備上的分區安排

[root@blog ~]# parted --list
Error: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 537GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

Model: Virtio Block Device (virtblk)
Disk /dev/vda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  107GB  107GB  primary  xfs          boot

說明:通過上面的命令輸出我們可以看到:

一共有兩塊磁盤: /dev/vdb: 537GB

/dev/vda   107GB

在生產環境中我們也是通用的做法:系統盤和數據盤分開,

避免系統對數據有影響

/dev/vda的Partition Table是msdos,

已經經過了分區,

可以看到它的分區表:File system也已格式化成了xfs文件系統

/dev/vdb的Partition Table是unknown

說明它還沒有做分區

 

六,例子二:用parted給/dev/vdb創建一個指定大小的分區

1,進入parted

[root@blog ~]# parted /dev/vdb

 

2,查看幫助

(parted) help
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  resizepart NUMBER END                    resize partition NUMBER
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted

 

3,打印分區的信息

(parted) print
Error: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 537GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 

 

4,創建一個新的gpt類型的空磁盤分區表

# mklabel用來指定分區表的類型

(parted) mklabel gpt
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 537GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start  End  Size  File system  Name  Flags

已可以看到分區表的類型被指定為gpt

但還沒有分區

 

5,創建分區

#mkpart primary 創建一個主分區類型

(parted) mkpart primary 0 537GB
Warning: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0s
Ignore/Cancel? C

上面提到分區沒有按照最優的性能對齊,我們選Cancel,

換一個方式指定分區大小

解決辦法:

#mkpart primary 0% 100%     使用百分比可以解決對齊的問題

(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 537GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start  End  Size  File system  Name  Flags

(parted) mkpart primary 0% 100%
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 537GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name     Flags
 1      1049kB  537GB  537GB               primary

檢查一下:

#align-check optimal 1     檢查分區的對齊情況,提示aligned則表示已對齊

(parted) align-check optimal 1
1 aligned

 

6,刪除一個分區

 # rm 加分區的Number,用來刪除一個分區

(parted) rm 1
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 537GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start  End  Size  File system  Name  Flags

刪除后可以見到分區已經不見了

 

7,檢查指定的分區是否對齊?

#  align-check  用來檢查分區是否對齊,提示aligned表示已對齊

(parted) align-check optimal 1
1 aligned

 

8,退出

(parted) quit
Information: You may need to update /etc/fstab.

 

七,創建分區成功后,可以用fdisk -l 或parted --list查看:

1,用parted --list查看分區

[root@blog ~]# parted --list
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 537GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name     Flags
 1      1049kB  537GB  537GB               primary
...

 

2,用 fdisk -l查看分區 

[root@blog ~]# fdisk -l
...

Disk /dev/vdb: 500 GiB, 536870912000 bytes, 1048576000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 46C9B0B7-0D78-43D2-9C2D-0059E02F9635

Device     Start        End    Sectors  Size Type
/dev/vdb1   2048 1048573951 1048571904  500G Linux filesystem

 

八,分區創建成功后,還沒有做格式化,請查看這一篇文章了解xfs文件系統

 

九,查看centos的版本

[root@blog databak]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core) 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM