centos8平台使用parted管理分区

ε祈祈猫儿з 提交于 2020-04-06 17:24:13

一,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文件系统

https://www.cnblogs.com/architectforest/p/12642735.html

 

九,查看centos的版本

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!