2023年11月25日发(作者:)

parted新建分区_扩展分区及⽂件系统(Linux

操作场景

云硬盘是云上可扩展的存储设备,您可以在创建云硬盘后随时扩展其⼤⼩,以增加存储空间,同时不失去云硬盘上原有的数据。

云硬盘扩容 完成后,需要将扩容部分的容量划分⾄已有分区内,或者将扩容部分的容量格式化成⼀个独⽴的新分区。

注意事项

扩容⽂件系统操作不慎可能影响已有数据,因此强烈建议您在操作前⼿动 创建快照 备份数据。

前提条件

已扩容云硬盘空间。

该云硬盘已挂载 到 Linux 云服务器并已创建⽂件系统。

已登录待扩展分区及⽂件系统的 Linux 云服务器。

操作步骤

确认扩展⽅式

root ⽤户执⾏以下命令,查询云硬盘使⽤的分区形式。

fdisk -l

分区形式操作指引说明GPT将扩容部分的容量划分⾄原有分区(GPT)同样适⽤于未分区直接格式化的场景。将扩容部分的容量格式化成独

⽴的新分区(GPT)可保持原有分区不变。MBR将扩容部分的容量划分⾄原有分区(MBR)同样适⽤于未分区直接格式化的场景。将扩容

部分的容量格式化成独⽴的新分区(MBR)可保持原有分区不变。

将扩容部分的容量划分⾄原有分区(GPT

root ⽤户执⾏以下命令,确认云硬盘的容量变化。

parted <磁盘路径> print

本⽂以磁盘路径是/dev/vdb为例,则执⾏:

parted /dev/vdb print

若在过程中提⽰如下图所⽰信息,请输⼊Fix

如下图所⽰,扩容后的云硬盘⼤⼩为107GB,已有分区的⼤⼩为10.7GB。

执⾏以下命令,确认该云硬盘是否还有分区已挂载。

mount | grep '<磁盘路径>'

本⽂以磁盘路径是/dev/vdb为例,则执⾏:

mount | grep '/dev/vdb'

本⽂以挂载点是/data为例,则执⾏:

umount /data

说明:

请将云硬盘上所有分区的⽂件系统都解挂,。可重复执⾏以下命令,确认该硬盘上所有分区的⽂件系统都已解挂。

mount | grep '/dev/vdb'

执⾏以下命令,进⼊ parted 分区⼯具。

parted '<磁盘路径>'

本⽂以磁盘路径是/dev/vdb为例,则执⾏:

parted '/dev/vdb'

执⾏以下命令,将显⽰和操纵单位变成 sector(默认为GB)。

unit s

输⼊ print,查看分区信息,并记录已有分区的 Start 值。

执⾏以下命令,退出 parted ⼯具。

quit

执⾏以下命令,检查扩容后的分区。

e2fsck -f <分区路径>

本⽂以新建分区是1(即分区路径是/dev/vdb1)为例,则执⾏:

e2fsck -f /dev/vdb1

返回如下图所⽰结果。

执⾏以下命令,对新分区上 EXT ⽂件系统进⾏扩容操作。

resize2fs <分区路径>

本⽂以分区路径是/dev/vdb1为例,则执⾏:

resize2fs /dev/vdb1

执⾏以下命令,对新分区上 XFS ⽂件系统进⾏扩容操作。

xfs_growfs <分区路径>

本⽂以分区路径是/dev/vdb1为例,则执⾏:

xfs_growfs /dev/vdb1

执⾏以下命令,⼿动挂载新分区。

mount <分区路径> <挂载点>

parted /dev/vdb print

若在过程中提⽰如下图所⽰信息,请输⼊ Fix

如下图所⽰,扩容后的云硬盘⼤⼩为107GB,已有分区的⼤⼩为10.7GB。

执⾏以下命令,确认该云硬盘是否还有分区已挂载。

mount | grep '<磁盘路径>'

本⽂以磁盘路径是/dev/vdb为例,则执⾏:

mount | grep '/dev/vdb'

如下图所⽰,云硬盘上有⼀个分区(vdb1)挂载在/data上。

执⾏以下命令,解挂数据盘。

umount <挂载点>

本⽂以挂载点是/data为例,则执⾏:

umount /data

说明:

print

执⾏以下命令,退出 parted ⼯具。

quit

执⾏以下命令,格式化新建的分区。

mkfs. <分区路径>

您可以⾃⾏选择⽂件系统的格式,例如 EXT2、EXT3 等。

本⽂以⽂件系统是 EXT3 为例,则执⾏:

3 /dev/vdb2

将扩容部分的容量划分⾄原有分区(MBR

fdisk/e2fsck/resize2fs ⾃动扩容⼯具适⽤于 Linux 操作系统,⽤于将新扩容的云硬盘空间添加到已有的⽂件系统中,扩容能够成功必须

满⾜以下四个条件:

⽂件系统是 EXT2/EXT3/EXT4/XFS。

当前⽂件系统不能有错误。

扩容后的磁盘⼤⼩不超过2TB。

若输出 “The filesystem on /dev/vdb1 is now XXXXX blocks long.”则表⽰扩容成功

若输出的是 “[ERROR] - e2fsck failed!!”,请执⾏以下步骤:

a. 执⾏以下命令,修复⽂件系统所在分区。

fsck -a <分区路径>

本⽂以硬盘路径是/dev/vdb且⽂件系统在 vdb1 上为例,则执⾏:

fsck -a /dev/vdb1

b. 修复成功后,再次执⾏以下命令,使⽤扩容⼯具进⾏扩容。

python /tmp/ /dev/vdb

扩容成功⽇志

2019-08-23 19:18:38,867 - [DEBUG]- :467 - user input:/tmp/ /dev/vdb

2019-08-23 19:18:39,227 - [DEBUG]- :193 - device_size:1

device_sector_number:209715200

logical_sector_size:512

若扩容前没有分区,则执⾏:

mount /dev/vdb /data

执⾏以下命令,查看扩容后的分区容量。

df -h

若返回类似如下图所⽰的信息,说明挂载成功,即可以查看到数据盘:

1. 执⾏以下命令,查看扩容后原分区的数据信息,确认新增加的存储空间是否扩容到⽂件系统中。

ll /data

将扩容部分的容量格式化成独⽴的新分区(MBR

root ⽤户执⾏以下命令,查看已挂载的数据盘分区信息。

df -h

执⾏以下命令,查看数据盘扩容后未分区的信息。

fdisk -l

umount /data

说明:

请将云硬盘上所有分区都解挂后

执⾏以下命令,新建⼀个新分区。

fdisk <硬盘路径>

执⾏以下命令,格式化新分区并创建⽂件系统。

mkfs. <分区路径>

您可以⾃⾏选择⽂件系统的格式,例如 EXT2、EXT3 等。

本⽂以⽂件系统是 EXT3 为例,则执⾏:

3 /dev/xvdc2

执⾏以下命令,创建新的挂载点。

mkdir <新挂载点>

本⽂以新挂载点是/data1为例,则执⾏:

说明:

若您希望云服务器在重启或开机时能⾃动挂载数据盘。执⾏以下命令,添加信息。

echo '/dev/xvdc2 /data1 ext3 defaults 0 0' >> /etc/fstab

执⾏以下命令,查看信息。

cat /etc/fstab

若返回如下图所⽰信息,则表⽰添加分区信息成功。

解决device is busy

王志强:⽆法umount问题(device is busy)z

原⽂链接:

云硬盘 扩展分区及⽂件系统(Linux) - 操作指南 - ⽂档中⼼ - 腾讯云c