VmWare下的linux虚拟机磁盘空间扩展

我用vmware开启了一个虚拟机,虚拟机操作系统是centos7。今天发现磁盘空间不够了,导数据到里面的mysql,提示没有空间,之后mysql也连不上了。这个mysql部署在docker里,结果停止都停止不了,强制停止也不行。无奈之下,重启了docker,万幸还能访问。使用

bash 复制代码
df -Th

命令查看,发现linux的磁盘空间已经使用了100%。任凭我到处删东西,东拼西凑,也只剩下700M。把牙一咬,决心不辞劳苦,不避风险,给它扩展空间。

给linux虚拟机扩展空间,步骤有二:

1、vmware下给虚拟机分配多一点磁盘

2、在linux虚拟机中启用这些新的磁盘

一、vmware下为虚拟机扩展磁盘

将虚拟机关机,然后在vmware中右击虚拟机图标,选"设置"-"硬盘"-"实用工具",扩展虚拟机的磁盘空间。比如我之前是48G,现在扩展到100G。

二、linux虚拟机中扩展磁盘

1、查看当前磁盘情况

bash 复制代码
[admin@localhost ~]$ sudo fdisk -l

磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000de48e

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
/dev/sda3        41943040   104857599    31457280   83  Linux

磁盘 /dev/mapper/centos-root:49.4 GB, 49387929600 字节,96460800 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

从 fdisk -l 的输出可以看出,虚拟机的磁盘大小确实已经扩展到 107.4GB,但新增加的空间尚未被分配到任何分区。/dev/sda3 结束于扇区 104857599,而总共有 209715200 个扇区,这意味着还有大约 50GB 的空间未分配。

2、将新加入的磁盘空间创建为新分区

我需要在这未分配的空间上创建一个新分区,然后将其加入到 LVM 以扩展现有的逻辑卷。

1)使用 fdisk 创建新分区

(1)进入 fdisk:

bash 复制代码
sudo fdisk /dev/sda

(2)输入 n 来创建新分区

(3)选择主分区(p),然后选择分区号(系统自动填上 4,因为之前已经有了3个分区)。

(4)一直按回车,使用默认的起始扇区和终止扇区,这样可以使用所有剩余的空间。

(5)输入 w 保存更改并退出。

2) 刷新内核分区表

bash 复制代码
sudo partprobe

或者重新启动虚拟机

3) 将新分区初始化为 LVM 物理卷

新分区应该会出现在 /dev/sda4,这时可以将其初始化为 LVM 物理卷:

bash 复制代码
sudo pvcreate /dev/sda4

4) 将新物理卷添加到卷组

将新创建的物理卷添加到现有的卷组 centos 中:

bash 复制代码
sudo vgextend centos /dev/sda4

5)扩展逻辑卷

现在,你可以将剩余的空间分配给逻辑卷 centos-root:

bash 复制代码
sudo lvextend -r -l +100%FREE /dev/centos/root

-r 选项会自动调整文件系统大小,+100%FREE 会将所有可用空间分配到逻辑卷中。

6)验证扩展

完成后,使用以下命令确认根分区是否已经扩展,检查 /dev/mapper/centos-root 是否已经扩展并包含新增的空间。结果显示大功告成。

bash 复制代码
df -h

参考文章:
虚拟机扩容(/dev/mapper/centos-root下的空间不足)

相关推荐
肖永威4 分钟前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
tian2kong7 分钟前
Centos 7 修改YUM镜像源地址为阿里云镜像地址
linux·阿里云·centos
布鲁格若门11 分钟前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
Eternal-Student15 分钟前
【docker 保存】将Docker镜像保存为一个离线的tar归档文件
运维·docker·容器
C-cat.18 分钟前
Linux|进程程序替换
linux·服务器·microsoft
怀澈12220 分钟前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
DC_BLOG22 分钟前
Linux-Apache静态资源
linux·运维·apache
学Linux的语莫23 分钟前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible
码农小丘24 分钟前
一篇保姆式centos/ubuntu安装docker
运维·docker·容器
耗同学一米八1 小时前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题二
运维·网络·mariadb