Ubuntu 扩容 docker 目录挂载的逻辑卷
服务器将 /var/lib/docker
挂载到了一个卷上,方便对数据进行集中管理,某天发现该卷使用空间已达
100%,在使用了 docker image prune -a
清除无效镜像无果后,只能对其扩容。
本文将介绍如何将其它逻辑卷上的空间扩容到 docker 所在的卷上。
首先,使用 df -h 查看磁盘情况:
1 | ➜ /home/uyoufu df -h |
可以看到,机械硬盘卷 /dev/mapper/hdd--vg-lv--usr 上还有很多空间,因此,现在将 /dev/mapper/hdd--vg-lv--usr 中的空间移动部分到 /dev/mapper/hdd--vg-lv--var 上。
操作步骤如下:
停止服务
1
sudo systemctl stop docker
若出现以下提示:
1
2Stopping 'docker.service', but its triggering units are still active:
docker.socket需要同时停用 docker.socket,操作如下:
1
sudo systemctl stop docker docker.socket
确保服务完全关闭
1
2sudo systemctl status docker docker.socket
# 存在 Active: inactive (dead) since xxx 时表示已关闭缩小
usr文件系统1
2
3
4sudo umount /srv # 卸载卷
sudo e2fsck -f /dev/mapper/hdd--vg-lv--usr # 检查文件系统
sudo resize2fs /dev/mapper/hdd--vg-lv--usr 50G # 缩小文件系统到 50G(调整为实际需要)
sudo mount /dev/mapper/hdd--vg-lv--usr /srv # 重新挂载扩展
var逻辑卷1
sudo lvextend -l +100%FREE /dev/mapper/hdd--vg-lv--var # 使用所有可用空间
扩展
var文件系统1
sudo resize2fs /dev/mapper/hdd--vg-lv--var # 扩展到新大小
重新启动服务并验证
1
2
3
4
5
6
7sudo systemctl start docker
# 若有需要
sudo systemctl start docker.socket
# 检查状态
sudo systemctl status docker docker.socket
# 检查空间
df -h