Linux 下对 ext4 分区在线无损扩容 |
您所在的位置:网站首页 › 分区扩展工具在哪 › Linux 下对 ext4 分区在线无损扩容 |
PVE 上的用来做监控的一台虚拟机,因为安装系统时经验不足,预分配的硬盘容量很快就快用满了。这台虚拟机装的比较早,当时为了图省事,图快,直接挂载了 ISO 镜像手动引导安装,而没有用 Cloud-Init 来引导,这就导致它作为一个私有云环境下的虚拟机,硬盘容量却不能自动扩展,非常地难受。。这篇博客主要记录一下手动在线扩容 ext4 分区的过程,填一下因为装系统时图省事,没有研究最佳实践而遗留下来的坑。 §0. 安装必需的工具1 sudo apt update && sudo apt intall -y parted resize2fs parted 是硬盘分区工具,这里用来查看磁盘分区情况,按需删除不需要的分区,以及扩展分区容量resize2fs 用来扩展文件系统容量,以使操作系统可以识别并使用扩展后的硬盘分区俺这台机器系统是 Debian 11,如果是 CentOS 7 的话应该用 yum install 来安装§1. 开始扩容查看当前磁盘的分区情况: 1 2 3 4 5 6 7 # 进入 parted 工具 $ sudo parted GNU Parted 3.4 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. # 查看磁盘信息 (parted) print /dev/sda俺这里硬盘容量是 20 GB,扩容前是 10 GB,本文开始前在 PVE 后台给该虚拟机对应的硬盘增加了 10 GB,因此目前的分区使用情况是: /dev/sda1 - 9712 MB根分区,文件系统是 ext4/dev/sda2 - 1 KB扩展分区/dev/sda5 - 1022 MBswap 分区其中需要扩容的是 /dev/sda1 ,但是因为其后有非空闲的分区(扩展分区和 swap 分区),不能直接扩展容量,所以下面分三步走: 删除扩展分区和 swap 分区给根分区扩容将 swap 功能添加回来如果你只有 sda1 一个分区,说明没有扩展分区和单独的 swap 分区,那么可以直接开始扩容,跳过其他部分。 §删除扩展分区和 swap 分区如果磁盘上待扩容的分区后方没有其他分区,可以跳过本节,直接开始扩容。 首先关闭 swap: 1 $ sudo swapoff -a编辑 /etc/fstab 和 /etc/initramfs-tools/conf.d/resume 这两个文件,删除 swap 所在的行,然后更新引导配置: 1 2 $ sudo update-initramfs -u $ sudo update-grub此时可以删除分区了: 1 2 3 4 5 6 7 8 9 10 11 12 # 进入 parted 工具 $ sudo parted /dev/sda # 查看分区编号 (parted) print # 删除 swap 分区 (parted) rm 5 # 再次查看分区 (parted) print # 删除扩展分区 (parted) rm 2 # 保存更改并退出 (parted) quit §给根分区扩容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 进入 parted 工具 $ sudo parted /dev/sda # 查看磁盘信息 (parted) print # 此时应该只有一个分区了,直接扩展这个分区 (parted)resizepart 1 Warning: Partition /dev/sda1 is being used. Are you sure you want to continue? # 直接输入 yes 确认 Yes/No? yes # 输入新的结束点 # 这里输入的数值,就是上方输出中 Disk: 后方的数值 End? [9713MB]? 21.5GB # 扩展完成之后退出 parted (parted) quit此时分区容量已经扩展完成了,但是文件系统还未识别扩展的容量,所以扩展的容量还没法使用。下面扩展一下文件系统 : 1 $ sudo resize2fs /dev/sda1此时不出意外的话应该扩容完成了,可以使用 df -h 来查看容量。 §将 swap 功能添加回来如果不需要 swap,这部分可以直接跳过。 首先创建一个 swap 文件(俺这里创建一个 1 GB 大小的): 1 $ sudo fallocate -l 1G /swapfile修改文件权限: 1 $ sudo chmod 600 /swapfile激活 swap 文件: 1 2 $ sudo mkswap /swapfile $ sudo swapon /swapfile使用 sudo swapon -s 或 free -m 命令,查看 swap 功能是否已激活。 开机自动挂载 swap: 1 $ sudo bash -c 'echo "/swapfile swap swap defaults 0 0" >> /etc/fstab'参考链接: linux下无损扩容分区方法 - 知乎Debian/Ubuntu下如何安全的删除默认swap分区,并移除swap | GHL's NotesDebian / Ubuntu 手工添加 Swap 分区 - 烧饼博客 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |