当前位置: 首页 > news >正文

Centos磁盘扩容

问题:我在项目使用docker中的RocketMQ进行发消息的时候,发送失败

报错:

2025-03-08 17:56:14.326 [NettyClientPublicExecutor_12] INFO  com.xjl.notification.application.mq.sender.UserMessageMQSender - UserMessageMQSender::消息发送失败!!notification:usermessage
2025-03-08 17:56:14.326 [NettyClientPublicExecutor_12] INFO  com.xjl.notification.application.mq.sender.UserMessageMQSender - CODE: 14  DESC: service not available now, maybe disk full, CL:  0.95 CQ:  0.95 INDEX:  0.95, maybe your broker machine memory too small.

AI给我的解析是

从你给出的日志信息可知,RocketMQ 消息发送失败,错误信息显示 service not available now, maybe disk full, CL: 0.96 CQ: 0.96 INDEX: 0.96, maybe your broker machine memory too small。下面为你详细分析可能的原因以及对应的解决办法:

可能的原因及解决办法:
1. 磁盘空间不足
2. 内存不足
3. 网络问题

首先我进入虚拟机,使用df -h命令查看磁盘使用情况:

可以看到,根文件系统(<font style="color:rgba(0, 0, 0, 0.85);">/dev/mapper/cs - root</font>)以及 Docker 使用的 <font style="color:rgba(0, 0, 0, 0.85);">overlay</font> 文件系统的磁盘使用率都达到了 96%,可用空间仅剩下 890M,这很可能就是导致 RocketMQ 出现 <font style="color:rgba(0, 0, 0, 0.85);">service not available now, maybe disk full</font> 错误。

[root@localhost store]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             4.0M     0  4.0M    0% /dev
tmpfs                2.6G     0  2.6G    0% /dev/shm
tmpfs                1.1G   10M  1.1G    1% /run
/dev/mapper/cs-root   18G   18G  890M   96% /
/dev/sda1            960M  231M  730M   24% /boot
overlay               18G   18G  890M   96% /var/lib/docker/overlay2/0ec8dc8e607f827e1c3a50ba19d13efe284db322cc1fe4aa4d1a6fb7c8206a8d/merged
overlay               18G   18G  890M   96% /var/lib/docker/overlay2/d5cb984930ab4d7426130bf79e953dd8d421b59f3f65525b20ef98795f38f036/merged
overlay               18G   18G  890M   96% /var/lib/docker/overlay2/6d7cb957a4a92474c23851b5557d029dc12b22e0d6370e96af0e3e0b43b813fd/merged
overlay               18G   18G  890M   96% /var/lib/docker/overlay2/663d360e206481a7e8ab3a142247171eb3dc349615e6389beb0fb9cfba5f47d8/merged
overlay               18G   18G  890M   96% /var/lib/docker/overlay2/5218997f279eb534e21d45707ae576404dadc7bba60c628a771933990fa04e1e/merged
overlay               18G   18G  890M   96% /var/lib/docker/overlay2/5ab9a5cc6eccd42e8c25a585d5ae3ed9cd549dd95b0b62d367ee1913dbf492af/merged
overlay               18G   18G  890M   96% /var/lib/docker/overlay2/10bed355a23236f18267d9da130c9c1d49cbab5d3dad8fe9bb838a819cdf45d4/merged
overlay               18G   18G  890M   96% /var/lib/docker/overlay2/6523c1ae228dbb4db09f23d0915cf0a4c4898df88065e2cba1fee166fcfc790a/merged
overlay               18G   18G  890M   96% /var/lib/docker/overlay2/8da67afda2488e8c0c1ee593f2a07a034cd03b2f9c808d10c482a29fc9dad377/merged
overlay               18G   18G  890M   96% /var/lib/docker/overlay2/30a54b38963f404a6eb845e01ae89f23d4bcd05d26a2a84f650a1bcbb8ea4d7c/merged
tmpfs                529M  4.0K  529M    1% /run/user/0

然后我先停止了docker中不运行的 ES,和kibana两个容器,并删除。

再次查看磁盘使用情况,使用率下降了2%。没有多大效果,然后我进入系统,删除了不需要的日志rm -rf *.log rm -rf *.gz,并且使用VMware对磁盘进行碎片化整理,然后重新进入系统查看磁盘使用情况,依旧没有效果。

最终我的解决方案就是扩容:

  1. 首先在VMware中编辑虚拟机磁盘大小,新增20G的容量。
  2. 进入系统
  3. 扫描新磁盘空间

首先,要让系统识别到新增的磁盘空间。使用 partprobe 命令通知内核重新读取分区表:

partprobe
  1. 对新增磁盘空间进行分区

使用 fdisk 对新增的磁盘空间进行分区。在这个例子中,我们要在 /dev/sda 上创建一个新分区:

fdisk /dev/sda

fdisk 交互界面中,按照以下步骤操作:

  • 输入 n 创建一个新分区。
  • 选择分区类型(通常选择主分区 p)。
  • 分区号可以选择默认值(按回车键)。
  • 起始扇区选择默认值(按回车键)。
  • 结束扇区根据需要设置,这里我们将剩余的 20GB 空间都分配给这个新分区,直接按回车键选择默认值。
  • 输入 t 改变分区类型,选择分区号(新创建的分区号),然后输入 8e 将分区类型设置为 Linux LVM
  • 输入 w 保存分区表并退出 fdisk
  1. 创建物理卷

使用 pvcreate 命令将新分区创建为物理卷:

pvcreate /dev/sda3  # 假设新分区为 /dev/sda3
  1. 将物理卷添加到卷组

使用 vgextend 命令将新的物理卷添加到现有的卷组 cs 中:

vgextend cs /dev/sda3
  1. 扩展逻辑卷

使用 lvextend 命令扩展逻辑卷 /dev/mapper/cs-root 的大小,这里我们将其扩展 20GB:

lvextend -L +20G /dev/mapper/cs-root
  1. 调整文件系统大小

根据文件系统类型,使用相应的命令调整文件系统大小以使用新分配的空间。如果文件系统是 ext4,可以使用 resize2fs 命令:

resize2fs /dev/mapper/cs-root

如果是 XFS 文件系统,则使用 xfs_growfs 命令:

xfs_growfs /dev/mapper/cs-root
  1. 验证操作结果

使用 df -h 命令查看磁盘空间使用情况,确认根文件系统 / 的大小已经增加:

df -h

结束。

相关文章:

  • 企业招聘能力提升之道:突破困境,精准纳才
  • Synology 部署的 WordPress 無法升級至最新版本時,可以透過以下改良版指南進行排查和解決。
  • springboot3.X 无法解析parameter参数问题
  • git规范提交之commitizen conventional-changelog-cli 安装
  • 使用Python和p5.js创建的迷你游戏示例,该游戏包含多个屏幕和动画,满足在画布上显示图像、使用键盘命令移动图像
  • [GHCTF 2025]SQL??? 【sqlite注入】
  • java中过滤器
  • 反码与补码
  • 【阿里云】控制台使用指南:从创建ECS到系统诊断测评
  • (base)user1@ubuntu:~$pip install xxxx(xxxx表示第三方库) 分析
  • Centos7系统遇到的第一个问题 yum
  • 【面试】框架
  • ngx_regex_create_conf
  • Git(一)
  • leetcode hot100--动态规划【五步总纲】
  • 文本对抗样本系列的论文阅读笔记(整理合订)
  • 学习笔记11——并发编程之并发关键字
  • ArcGIS Pro中字段的新建方法与应用
  • 从新手到专家:嵌入式代码空间优化技巧
  • C++ Primer Plus第十二章课后习题总结
  • 视频丨歼-10CE首次实战大放异彩
  • 特朗普政府涉税改法案遭众议院预算委员会否决
  • 李伟任山东省委常委、省纪委书记
  • 一周文化讲座|“我的生命不过是温柔的疯狂”
  • 日本一季度实际GDP环比下降0.2%
  • 上海锦江乐园摩天轮正在拆除中,预计5月底6月初拆完