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下的空间不足)

相关推荐
pk_xz1234562 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock4 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面6 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq6 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮7 小时前
Linux 使用中的问题
linux·运维
dsywws8 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零9 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
wclass-zhengge9 小时前
Docker篇(Docker Compose)
运维·docker·容器
李启柱9 小时前
项目开发流程规范文档
运维·软件构建·个人开发·设计规范