You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何增大K3s默认存储空间(RHEL 8、非Docker环境)

解决RHEL 8上K3s+Containerd存储扩容问题

先定位核心存储路径

K3s默认使用的Containerd存储根目录是/var/lib/rancher/k3s/agent/containerd,你看到的5G挂载点就是这个目录所在的分区。先确认具体挂载信息:

# 查看Containerd根目录
crictl info | grep -A5 "rootDir"
# 确认该目录所在分区
df -h /var/lib/rancher/k3s/agent/containerd

方案一:扩容现有存储分区(适用于分区所在磁盘有未分配空间)

如果该分区是LVM逻辑卷(RHEL8默认配置),按以下步骤操作:

  1. 检查卷组剩余可用空间:
vgs
  1. 扩展逻辑卷(替换[vg-name]和[lv-name]为实际卷组、逻辑卷名,比如rhel-root):
lvextend -L +10G /dev/mapper/[vg-name]-[lv-name]
  1. 扩容XFS文件系统(RHEL8默认文件系统):
xfs_growfs /dev/mapper/[vg-name]-[lv-name]

如果是普通分区,需先通过fdisk工具调整分区大小(操作前务必备份数据),再用xfs_growfs或resize2fs(ext系列)扩容文件系统。


方案二:迁移Containerd存储到更大磁盘(适用于现有磁盘无扩容空间)

  1. 停止K3s服务:
# Server节点
systemctl stop k3s
# Agent节点
systemctl stop k3s-agent
  1. 准备新磁盘:格式化并挂载(替换/dev/sdX1为实际磁盘分区):
mkfs.xfs /dev/sdX1
mkdir /mnt/new-containerd-storage
mount /dev/sdX1 /mnt/new-containerd-storage
  1. 复制现有Containerd数据到新目录:
rsync -avz /var/lib/rancher/k3s/agent/containerd/ /mnt/new-containerd-storage/
  1. 修改K3s启动参数指定新存储路径:
    编辑K3s的systemd服务文件(/etc/systemd/system/k3s.service或k3s-agent.service),在ExecStart行末尾添加--containerd-root /mnt/new-containerd-storage,例如:
ExecStart=/usr/local/bin/k3s server --containerd-root /mnt/new-containerd-storage
  1. 重载systemd配置并启动服务:
systemctl daemon-reload
systemctl start k3s
  1. 验证配置生效:
crictl info | grep rootDir

确认路径已更新后,尝试拉取大镜像,无问题即可删除原备份目录:

rm -rf /var/lib/rancher/k3s/agent/containerd.bak

内容的提问来源于stack exchange,提问作者Landon Alexander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 22:35:05