警告: 操作有风险,数据无价,请务必事先备份数据。
- 查看系统磁盘和容量信息
sudo fdisk -l
- 查看磁盘挂载情况
sudo df -hl /
sudo lsblk
- 查看逻辑卷和卷组信息
sudo vgdisplay
sudo lvdisplay
- 在控制台上增加新的磁盘空间
提示:博主此处使用的是KVM虚拟化环境,VMware和Virtualbox之类的软件操作类似。
可以看到这里将系统磁盘大小从80G调整为了100G
- 在终端再次查看磁盘信息
sudo fdisk -l
看到红字部分已经提示提示磁盘空间发生变化了。
- 执行扩容命令
sudo lvresize -L +20G /dev/ubuntu-vg/ubuntu-lv
因为我们是从80G扩容到100G,增加了20G,因此命令参数为20G
- 查看逻辑卷和挂载信息
此时发现容量并未发生变化,这是因为我们需要刷新磁盘容量信息。
- 刷新磁盘容量
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
操作完成后,再次查看磁盘信息可以看到磁盘空间已经增加了20G。
但是到目前为止,还存在一个问题:在对虚拟机扩容时候,由于Linux系统没有对其磁盘信息进行更新,导致了磁盘实际容量和Linux系统容量不一致。
查看磁盘信息时,看到有红字提示:
使用parted
命令对磁盘信息进行更新
如果没有此命令请先安装 sudo apt-get install -y parted
sudo parted -l
# 命令执行后,输入Fix,回车。
再次查看磁盘信息
至此,磁盘扩容操作完成。
(2024-10-23 10:47:07更新) 以下操作是在另外的机器,与上文的机器不同。
昨晚上因为推送镜像到Harbor失败,上Harbor的机器检查才发现是系统磁盘满了(最开始装机器是用的公用模板,系统盘都只有20G,中间扩了一次10G,所以在下面的图例中你将看到是30G),因此需要对系统盘进行扩容。扩容的时候遇到一点小问题,记录一下。
在PVE控制台为系统磁盘分配了新空间,扩展至80G。进入到Harbor机器,使用lvresize命令提示没有可用的空闲空间,但fdisk -l
命令和lsblk
命令都展示出系统盘/dev/sda
已经是80G了。
这里需要使用命令将空闲空间分配到第三个分区。
sudo growpart /dev/sda 3
之后再执行lsblk
命令查看结果:
看到第三个分区的空间已经成功增长到了80G。
接下来,需要对物理分区大小进行重新计算:
sudo pvresize /dev/sda3
再接着将新增加的空闲空间分配到逻辑卷:
sudo lvresize -L +50G /dev/ubuntu-vg/ubuntu-lv
之后重新计算逻辑卷空间大小:
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
最后我们来看一下最终的空间大小:
到这里,系统磁盘的扩容算是真正的完成了。