RH134 parted分区

这篇内容没什么比较新的内容,都是一些旧知识的总结。最近抽空看了下RHEL8版本的相关官方考试教材内容。看了RH134部分磁盘管理部分较之前的版本变化挺多的,先从这篇基础的磁盘管理开始吧。从红帽的历史发行版上来看,这部分先后介绍过使用fdisk、gdisk分区工具,在RHEL8版本上又更新成了parted工具,该工具其实很早之前就有了,只不知名度较前二者稍差一些。 

一、磁盘分区基础知识 

MBR分区,由来已久的分区格式,最多有四个主分区,使用扩展分区和逻辑分区最多可以划分15个分区,单个分区最大2TB。 

GPT是UEFI标准的一部分,GPT最多提供128个分区,GPT 使用全局唯一标识符(GUID)来识别每个磁盘和分区。与MBR存在单一故障 点不同,GPT 提供分区表信息的冗余。主GPT位于磁盘头部,而备份副本(次要GPT)位于磁盘尾部。GPT 使用校验和来检测GPT头和分区表中的错误与损坏。

gpt-disk

1、查看分区信息

[root@361way ~]# parted /dev/vda print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  42.9GB  42.9GB  primary  ext4         boot
[root@361way ~]# parted /dev/vda unit s print   //s表示扇区
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 83886080s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start  End        Size       Type     File system  Flags
 1      2048s  83884031s  83881984s  primary  ext4         boot
[root@361way ~]# parted /dev/vda unit b print  //b表示字节
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 42949672960B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start     End           Size          Type     File system  Flags
 1      1048576B  42948624383B  42947575808B  primary  ext4         boot

2、写入磁盘标签

以root用户身份,使用以下命令将MBR磁盘标签写入磁盘。
[root@host ~]# parted /dev/vdb mklabel msdos
要写入GPT磁盘标签,请使用以下命令。
[root@host ~]# parted /dev/vdb mklabel gpt

mklabel子命令可擦除现有的分区表。仅当想重复使用磁盘而不考虑现有数据时,才应使用mklabel。在一块空白盘上不进行该操作,进行parted分区时会报 Error: /dev/vdc: unrecognised disk label 错误。

二、parted分区

parted提供了交互式分区操作和直接命令式分区操作。交互式通过parted /dev/vda 回车后,可以分别输入不同的指令,交互通过mkpart,确认分区格式类型。如果直接是命令行式操作的话,需要遵循如下命令格式:

parted-mkpart

[root@host -]# parted /dev/vdb help mkpart
mkpart PART-TYPE [FS-TYPE] START END  make a partition

一条指令完分区的操作如下:

[ root@host ~ ]# parted /dev/vdb mkpart primary xfs 2048s 1000MB

运行udevadm settle 命令。此命令会等待系统检测新分区并在/dev目录下创建关联的设备文件。只有在完成上述操作后,它才会返回。

上面的操作中,因为一定要写后面end的大小,这点有点感觉不感友好,不能自动补全所有可用的大小。还需要事先使用print查看一次。

三、删除分区

可以使用rm指令进行分区删除操作:

[root@servera ~]# parted /dev/vdc
GNU Parted 3.2
Using /dev/vdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number  Start   End     Size    File system  Name    Flags
 1      1049kB  5369MB  5368MB               mydata
(parted) rm 1
(parted) quit
Information: You may need to update /etc/fstab.
[root@servera ~]# udevadm settle

上面的操作和以下操作等价:

[root@servera ~]# parted /dev/vdc rm 1

四、分区挂载

分区挂载这一块儿和之前没什么大的区别,具体如下:

[root@servera ~]# mkfs.xfs /dev/vdc1
[root@servera ~]# mount /dev/vdc1 /opt/
[root@servera ~]# lsblk --fs /dev/vdc
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
vdc
└─vdc1 xfs          115a8453-b1c1-4a24-ac67-56886dd2f149 /opt
[root@servera ~]# grep opt /etc/fstab
UUID="115a8453-b1c1-4a24-ac67-56886dd2f149"       /opt                      xfs     defaults        0 0
[root@servera ~]# systemctl daemon-reload

第三个字段包含文件系统类型,如xfs或ext4。 第四个字段是以逗号分隔的、应用于设备的选项列表。defaults 是一组常用选项。 mount(8) man page中还记录了其他可用的选项。dump命令使用第五个字段来备份设备。其他备份应用通常不使用此字段。

最后一个字段(fsck 顺序字段)决定了在系统启动时是否应运行fsck命令,以验证文件系统是否干净。该字段中的值指示了fsck的运行顺序。对于XFS文件系统,请将该字段设为日,因为XFS并不使用fsck来检查自己的文件系统状态。对于ext4 文件系统,如果是根文件系统,请将该字段设为1;如果是其他ext4文件系统,则将该字段设为2。这样,fsck 就会先处理根文件系统,然后同步检查不同磁盘上的文件系统,并按顺序检查同一磁盘上的文件系统。

交换分区划分的指令如下:

[root@serverb ~]# parted /dev/vdb mkpart swap1 linux- swap 2000MB 2512M

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注