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
说明:
执⾏以下命令,退出 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


发布评论