⭐️⭐️⭐️Ubuntu服务器(没有图形界面),磁盘空间不足,如何扩容?已实践,小白教程,担心你学不会系列⭐️⭐️⭐️
目录
1、问题诞生的原因
2、背景
3、输入命令:fdisk -l(作用:展示磁盘的详细信息)
4、判断问题
5、解决问题:
5.1、步骤 1:备份数据(强烈建议)【预防不测】
5.2、步骤 2:拓展分区
5-2-0、为什么要拓展分区
5-2-1、输入命令:sudo parted /dev/sda
5-2-2、输入命令:print
5-2-3、输入命令:select /dev/sda
5-2-4、输入命令:print
5-2-5、输入命令: resizepart 3 100%
5-2-6、输入命令:print ,确保我们的/dev/sda3 分区,拓展成功
5.3、步骤 3:扩展物理卷
5-3-0、为什么要拓展物理卷
5-3-1、输出命令:ctrl + c(作用:退出print工具)
5-3-2、输入命令:sudo pvresize /dev/sda3
5.4、步骤 4:扩展逻辑卷
5-4-0、为什么要拓展逻辑卷
5-4-1、输出命令:ctrl + c(作用:退出pvresize 工具)
5-4-2、输入命令:sudo lvdisplay,作用:查看你系统中现有的逻辑卷及其名称
5-4-3、输入命令:sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
5.5、步骤 5:拓展文件系统
5-5-0、为什么要拓展文件系统
5-5-1、输入命令:lsblk -f,作用:判断你的文件系统类型
5-5-2、输入命令:sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
5.6、步骤 6:验证扩展是否成功
6、拓展前,拓展后的对比
6.1、拓展前
6.2、拓展后
6.3、拓展前后对比后的总结:
1、问题诞生的原因
今天,我启动虚拟机,然后使用navicat连接数据库的时候,出现了报错 (明明ip地址都正确,但是却还是无法连接) 最终,通过排查,得知虚拟机的磁盘空间不足,由此,衍生出这个问题的解决
2、背景
up主使用的是Ubuntu服务器(简称:没有图形界面),只能输入命令
3、输入命令:fdisk -l(作用:展示磁盘的详细信息)
/dev/fd0 是一个软盘驱动器(或虚拟设备),但大部分现代系统不会使用它。 /dev/sda 是你系统的主磁盘,大小为 60 GiB,并且它使用 GPT 分区表,分为 3 个分区。 /dev/mapper/ubuntu--vg-ubuntu--lv 是一个 LVM 逻辑卷,大小为 39 GiB。‘
4、判断问题
从上图,我们可以看到,我们的主磁盘,大小为 60 GiB,但是,实际大小为:39 可以总结: 我的磁盘大小是60,但是分区只显示39 说明你有未分配的空间,可能是因为分区表没有正确扩展或者没有利用所有的磁盘空间
5、解决问题:
由于: 我们 /dev/sda3 分区里面已经有数据,并且不能删除它, 那么: 我们不能直接删除并重新创建该分区。 相反,我们可以采用一种不破坏数据的方式来扩展分区。 我们可以使用 parted 工具来调整分区,确保数据不会丢失,同时扩展它来利用未分配的空间。
5.1、步骤 1:备份数据(强烈建议)【预防不测】
这边采取给虚拟机进行快照(这边省流,自己百度哈)
反正楼主备份了,不过没用到,哈哈哈哈哈
5.2、步骤 2:拓展分区
使用 parted 扩展分区
5-2-0、为什么要拓展分区
我们要想拓展我们虚拟机的磁盘,那么: 首先,我们需要先拓展分区 然后,我们通过输入一系列命令,拓展虚拟机的物理卷 然后,我们再,通过输入一系列命令,拓展虚拟机的逻辑卷 最后,我们通过输入一系列命令,拓展虚拟机的文件系统。 上述步骤,缺一不可,这样,才能成功拓展我们虚拟机的磁盘 我们这边完成的就是:拓展分区
5-2-1、输入命令:sudo parted /dev/sda
作用:启动
parted
工具并选择/dev/sda
sudo parted /dev/sda
5-2-2、输入命令:print
作用:查看当前磁盘分区情况,包括
/dev/sda
上的所有分区以及未分配的空间
从上面输出的内容,我们可以看到: 磁盘 /dev/sda 总大小为: 64.4GB, 其中 /dev/sda1 是 bios_grub 分区, /dev/sda2 是 1GB 的 ext4 文件系统分区, /dev/sda3 是 41.9GB 的 Linux 文件系统分区。 未显示的剩余空间大约为 20GB,应该是可以扩展到 /dev/sda3 分区中的。 接下来的步骤是将 /dev/sda3 分区扩展到剩余的 20GB 未分配空间。
5-2-3、输入命令:select /dev/sda
作用:确保你正在操作
/dev/sda
上的分区。输入以下命令选择磁盘:select /dev/sda
![]()
结果显示: 成功选择了 /dev/sda 磁盘,接下来可以执行扩展分区的操作
5-2-4、输入命令:print
作用:使用
/dev/sda
分区情况
如上图,up主操作,我们可以知道: 输出结果来看,你的磁盘 /dev/sda 共有 64.4 GB, 其中 /dev/sda3 分区的大小为 41.9 GB,剩余空间大约 20 GB。 现在,你希望扩展 /dev/sda3 分区以利用剩余的空间。
5-2-5、输入命令: resizepart 3 100%
作用:扩展
/dev/sda3
分区resizepart 3 100%
如上图,up主操作,我们可以知道: 看起来 parted 没有给出任何错误提示,但也没有显式的确认信息。 在这种情况下,我们将进行以下步骤来确认操作成功,并确保分区表已被更新。
5-2-6、输入命令:print ,确保我们的/dev/sda3
分区,拓展成功
作用:再次复查,是否拓展成功
如上图,up主操作,我们可以知道: 看起来 /dev/sda3 分区已经成功扩展到整个磁盘的剩余空间,大小现在是 63.3GB, 这意味着你已经成功扩展了 /dev/sda3 分区。
5.3、步骤 3:扩展物理卷
既然分区已经扩展,我们可以继续扩展 LVM(逻辑卷管理)中的物理卷
5-3-0、为什么要拓展物理卷
我们要想拓展我们虚拟机的磁盘,那么: 首先,我们需要先拓展分区 然后,我们通过输入一系列命令,拓展虚拟机的物理卷 然后,我们再,通过输入一系列命令,拓展虚拟机的逻辑卷 最后,我们通过输入一系列命令,拓展虚拟机的文件系统。 上述步骤,缺一不可,这样,才能成功拓展我们虚拟机的磁盘 我们这边完成的就是:拓展物理卷
5-3-1、输出命令:ctrl + c(作用:退出print工具)
作用:我们只有退出了print工具,才能使用 pvresize 工具,拓展物理卷
5-3-2、输入命令:sudo pvresize /dev/sda3
作用:由于你使用的是 LVM,需要使用
pvresize
来扩展物理卷,以便它包含新扩展的空间。
sudo pvresize /dev/sda3
如上图,up主操作,我们可以知道: pvresize 命令成功扩展了物理卷 /dev/sda3, 现在我们可以继续扩展逻辑卷,并使文件系统能够使用新增的空间。
5.4、步骤 4:扩展逻辑卷
作用:成功扩展了物理卷,我们需要扩展逻辑卷,并使文件系统能够使用新增的空间。
5-4-0、为什么要拓展逻辑卷
我们要想拓展我们虚拟机的磁盘,那么: 首先,我们需要先拓展分区 然后,我们通过输入一系列命令,拓展虚拟机的物理卷 然后,我们再,通过输入一系列命令,拓展虚拟机的逻辑卷 最后,我们通过输入一系列命令,拓展虚拟机的文件系统。 上述步骤,缺一不可,这样,才能成功拓展我们虚拟机的磁盘 我们这边完成的就是:拓展逻辑卷
5-4-1、输出命令:ctrl + c(作用:退出pvresize 工具)
作用:我们只有退出了pvresize 工具,才能使用 lvdisplay 工具,拓展逻辑卷
5-4-2、输入命令:sudo lvdisplay,作用:查看你系统中现有的逻辑卷及其名称
作用:查看你系统中现有的逻辑卷及其名称
sudo lvdisplay
如上图,up主操作,我们可以知道: 从 lvdisplay 命令的输出中,我们可以看到 逻辑卷的路径为 /dev/ubuntu-vg/ubuntu-lv, 它当前的大小是 39.00 GiB。
5-4-3、输入命令:sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
作用:既然你已经确认了逻辑卷的路径和名称,
下一步就是扩展该逻辑卷以使用新增的可用空间。
执行以下命令将所有剩余的空间分配给
/dev/ubuntu-vg/ubuntu-lv
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
这条命令的意思是: -l +100%FREE:将所有剩余的未分配空间分配给该逻辑卷。 显示的结果: 太好了!逻辑卷已经成功扩展到 59.00 GiB,下一步是扩展文件系统,使其能够使用新分配的空间。
5.5、步骤 5:拓展文件系统
作用:逻辑卷已经成功扩展,下一步是扩展文件系统,使其能够使用新分配的空间
5-5-0、为什么要拓展文件系统
我们要想拓展我们虚拟机的磁盘,那么: 首先,我们需要先拓展分区 然后,我们通过输入一系列命令,拓展虚拟机的物理卷 然后,我们再,通过输入一系列命令,拓展虚拟机的逻辑卷 最后,我们通过输入一系列命令,拓展虚拟机的文件系统。 上述步骤,缺一不可,这样,才能成功拓展我们虚拟机的磁盘 我们这边完成的就是:拓展文件系统
5-5-1、输入命令:lsblk -f,作用:判断你的文件系统类型
作用:这将显示所有磁盘和分区的详细信息,包括它们的 文件系统类型。
lsblk -f
这将显示所有磁盘和分区的详细信息,包括它们的 文件系统类型。 结果显示: 根据 lsblk -f 命令的输出,你的 /dev/ubuntu-vg/ubuntu-lv 逻辑卷的文件系统类型是 ext4, 因此你可以使用 resize2fs 命令来扩展文件系统。
5-5-2、输入命令:sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
作用:使用以下命令扩展文件系统,以便它可以使用扩展后的逻辑卷空间
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
结果: resize2fs 命令成功执行并且扩展了文件系统,现在文件系统已经增加到了新的大小。
5.6、步骤 6:验证扩展是否成功
使用
df -h
命令来验证文件系统的使用情况,确保扩展的空间已经生效:df -h
结果: 从 df -h 输出的结果来看,你的逻辑卷 /dev/mapper/ubuntu--vg-ubuntu--lv 已经成功扩展到 58G, 并且新空间(约 19G)已经可以使用。 看起来一切正常,文件系统已经成功扩展,并且剩余的空间已经可用。
6、拓展前,拓展后的对比
6.1、拓展前
扩容前(关键点)
/dev/sda1:启动分区 (BIOS boot),大小 1 MiB(2048 扇区)。
/dev/sda2:1 GiB 的 Linux 文件系统。
/dev/sda3:39 GiB 的 Linux 文件系统(起始扇区 2101248,结束扇区 83884031,共 81782784 扇区)。
在这个布局下,/dev/sda3 只占用了前 39 GiB,磁盘的剩余 20 GiB(大约)没有被分配到任何分区,所以实际可用空间不足。
LVM 逻辑卷 (
/dev/mapper/ubuntu--vg-ubuntu--lv
):39 GiB,与/dev/sda3
相同,因为它里面只有这一块物理空间可用。
6.2、拓展后
扩容后(关键点)
/dev/sda1:依旧是 1 MiB,BIOS boot 分区。
/dev/sda2:依旧是 1 GiB,Linux 文件系统。
/dev/sda3:从原先的 39 GiB 扩展到了 59 GiB(起始扇区依旧是 2101248,但结束扇区现在变为 125829086,扇区数从 81782784 增加到 123727839)。
因为你将剩余 20 GiB 的空间“合并”到了
/dev/sda3
,所以它的总大小变成约 59 GiB。
LVM 逻辑卷 (
/dev/mapper/ubuntu--vg-ubuntu--lv
):也从 39 GiB 扩展到了 59 GiB。这是因为你先扩展了物理分区/dev/sda3
,然后通过pvresize
、lvextend
和resize2fs
等命令,最终将逻辑卷与文件系统都扩容到了 59 GiB。
6.3、拓展前后对比后的总结:
扩容前:
/dev/sda3
大小:39 GiB
/dev/mapper/ubuntu--vg-ubuntu--lv
大小:39 GiB存在约 20 GiB 未分配空间,PMBR/GPT 大小不匹配提示。
扩容后:
/dev/sda3
大小:59 GiB
/dev/mapper/ubuntu--vg-ubuntu--lv
大小:59 GiB未分配空间被分区合并使用,警告消失。
你在 不变更磁盘的总物理大小 (60 GiB) 的情况下,成功将原本未使用的 20 GiB 合并到了现有的系统分区与文件系统中,达到了扩容的目的。