当前位置: 代码网 > 服务器>服务器>云虚拟主机 > docker overlay扩容问题

docker overlay扩容问题

2024年06月13日 云虚拟主机 我要评论
背景docker安装了gitlab,mysql和redis等,随着使用overlay文件系统使用率已接近100%,导致写不了数据。备份一定要做好备份,弄错了还能恢复,弄这个分区经常搞坏系统然后恢复继续

背景

docker安装了gitlabmysqlredis等,随着使用overlay文件系统使用率已接近100%,导致写不了数据。

备份

一定要做好备份,弄错了还能恢复,弄这个分区经常搞坏系统然后恢复继续造[狗头]

1 新建分区扩容的方式

查看docker的目录

[root@localhost ~]# docker info | grep 'docker root dir'
 docker root dir: /var/lib/docker

查看分区

[root@localhost dev]# fdisk -l

...
   设备 boot      start         end      blocks   id  system
/dev/sda1   *        2048     2099199     1048576   83  linux
/dev/sda2         2099200   209715199   103808000   8e  linux lvm
...

创建分区

[root@localhost ~]# fdisk /dev/sda

命令(输入 m 获取帮助):n
partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
   
select (default p): p

分区号 (3,4,默认 3):3

# 这里设置扩容大小
# ...

命令(输入 m 获取帮助):w
the partition table has been altered!

calling ioctl() to re-read partition table.

正在同步磁盘。

格式化新建分区

mkfs -t ext4 /dev/sda3

挂载docker目录

# 停止docker
mkdir /tmp/docker                        #创建临时目录
mount /dev/sda3 /tmp/docker              #将临时目录挂载到新分区
cp -r /var/lib/docker/* /tmp/docker      #将docker目录中的所有文件拷贝到临时目录

umount /dev/sdb3                         #卸载新分区
mount /dev/sdb3 /var/lib/docker          #将目录挂载到新分区

开机挂载

# 查看创建的分区id
ls -l /dev/disk/by-uuid/ 
总用量 0
lrwxrwxrwx. 1 root root 10 10月 31 11:26 xxxxfc7d-xxxx-40ad-xxxx-xxxxa796xxxx -> ../../sda3

# add uuid
vim /etc/fstab

# add
uuid=4f3bfc7d-d0fa-40ad-a0fc-7dc9a796b8de /var/lib/docker auto defaults 0 0

2 直接扩容挂载根目录文件系统的方式

查看文件系统

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50g   47g  3.4g   94% /
overlay                   50g   47g  3.4g   94% /var/lib/docker/overlay2/xxx/merged

# 查看挂载类型
[root@localhost ~]# mount | grep root
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)

调大文件系统大小

  • ext2/ext3/ext4 文件系统的调整命令是 resize2fs(增大和减小都支持)
lvextend -l 120g /dev/mapper/centos-root          //增大至120g
lvextend -l +20g /dev/mapper/centos-root          //增加20g
lvreduce -l 50g /dev/mapper/centos-root           //减小至50g
lvreduce -l -8g /dev/mapper/centos-root           //减小8g
resize2fs /dev/mapper/centos-home                 //执行调整
  • xfs 文件系统的调整命令是 xfs_growfs(只支持增大)
lvextend -l 120g /dev/mapper/centos-root          //增大至120g
lvextend -l +20g /dev/mapper/centos-root          //增加20g
xfs_growfs /dev/mapper/centos-root                //执行调整
# 调大到300g
lvextend -l 300g /dev/mapper/centos-root 

# 执行
xfs_growfs /dev/mapper/centos-root 

# 再次查看文件系统
df -h
# --- --- ---
文件系统                 容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root  300g   47g  254g   16% /
overlay                  300g   47g  254g   16% /var/lib/docker/overlay2/xxx/merged

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com