zoukankan      html  css  js  c++  java
  • Docker镜像导致centos-root根分区容量爆满

      当虚拟机服务器运行Docker久了后,发现Docker的文件越来越大,某天发现此台机上的数据库访问不了了,再重启数据库等日志,提示空间不足,查看磁盘空间:

      root分区满载啊,前段时间还有不少空间的,查下什么大文件内容占了空间。

    find / -xdev -size +100M -exec ls -l {} ;

     

    最近用的docker越来越大 才导致磁盘满了。

    哪个文件夹占用高,先进入文件夹,再输入命令查看

    du -h --max-depth=1

    那下面要么清理docker,要么扩展磁盘。

    两步都做吧,先简单清理docker,或许可以清理一些空间出来。

    先 docker images -a 看一下是不是有过多的 <none> 的镜像了,其中有一部分是这类镜像。
    # 删除所有未打标签的镜像.

    docker rmi $(docker images -aq -f "dangling=true")

    容器的内容也是在存储层的。可以 docker ps -a 看一下是不是有很多之前的容器没有删掉的,可以 docker rm $(docker ps -aq -f "dangling=true") 来删除。

    垃圾回收

    docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v /etc:/etc:ro spotify/docker-gc

    有些容器明明stop了,但是它还是占着某些资源

    docker rm -f $(docker ps -a | grep Exit | awk '{ print $1 }')

    使用docker自带命令先清理一次。

    docker system prune -a

    注意:

    这可能会清除掉images,慎用。

    再进行了上面对docker处理后,下面对磁盘扩容。

    扩展根分区

    VMware分配空间

    选中虚拟机->虚拟机设置->添加=》硬盘->添加15G,可以看看第一张图的硬盘1是SCSI(0:0)新加的硬盘2是SCSI(0:1)

    先看一下现有磁盘情况:

    # fdisk -l

    对新磁盘进行分区:

    # fdisk /dev/sdb

    在fdisk的交互模式中,依次输入:

    n  --创建新分区
    p  --创建主分区
    <回车>  --默认分区编号
    <回车>  --默认起始扇区位置。
    <回车>  --默认结束扇区位置。
    w  --写入分区表
    

    这样就把整个磁盘分成了一个区。

    再看一下现有磁盘情况:

    # fdisk -l

    已经多出了一个新分区:

    将新分区用于扩展/root

    先看一下卷分组:

    # vgdisplay -v

    可以看到当前卷分组名为"centos_h32"。

    为之前新增的分区创建物理卷:

    # pvcreate /dev/sdb1

    查看结果:

    # pvdisplay

    扩展卷分组,"centos_h32"是vgdisplay命令查到的卷分组名:

    # vgextend centos_h32 /dev/sdb1

    提示成功扩展。

     

    下面查看一下逻辑卷:

    # lvdisplay

    可以看到/dev/centos_h32/root目前的LV Size是17.47GiB。

    下面扩展逻辑卷/dev/centos_h32/root:

    # lvextend -L +15G /dev/centos_h32/root

    注:+15G是我们新增加的分区大小。

    扩展后,还要执行一步 将文件系统扩大:

    # xfs_growfs /dev/centos_h32/root

    扩展完成。

    因为安装CentOS用的xfs分区,所以使用命令xfs_growfs扩展文件系统大小。否则的话使用resize2fs命令。
    查看结果:

    # df -Th

    /root已经扩充到33GiB:

     
  • 相关阅读:
    利用virtual box安装ubuntu16.4,没有继续(下一步)的解决方案
    最好用的几个谷歌镜像(推荐理由:无广告)
    vs2017和vs2019专业版和企业版
    c# List根据某个属性进行分类,变成以属性名称作为分类的多个List
    vs2015安装编辑神器:resharper10.0
    c# 正则表达式替换字符串中常见的特殊字符
    IL中间语言指令大全
    c#进阶一:使用ILDASM来查看c#中间语言
    SQL server脚本语句积累
    SQLServer事务在C#当中的应用
  • 原文地址:https://www.cnblogs.com/zhangs1986/p/8358609.html
Copyright © 2011-2022 走看看