docker overlay扩容问题
作者:waani
这篇文章主要介绍了docker overlay扩容问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
背景
Docker
安装了GitLab
,MySQL
和Redis
等,随着使用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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。