一、背景
我的磁盘容量挂载情况:
df -h
1、/——50G(已用96%)
2、/data——200G(已用1%)
我的docker软件,全部(docker镜像、容器)挂载到了/(根目录的磁盘)上。同时,我正常使用的/root中又有大量文件数据占用了根目录的磁盘空间,此时docker化的Jenkins告警说磁盘快满了。
我查看了网上的一个办法:
https://blog.csdn.net/ling811/article/details/74991899
只能方法一对新的数据起作用,因为这个办法是针对非docker化的Jenkins。
怎么办,必须解决(已用96%)的问题。
二、思路
1、查看/(根目录)的容量使用分布情况。
2、转移大文件到/data目录中去,建立一个软连接来。
3、删除无用大文件(如果懒得查找了,就按转移data处理)。
三、操作
1、查看磁盘总体使用情况
df -h
例如:
[root@mylinux ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 4.0K 3.9G 1% /dev/shm tmpfs 3.9G 352M 3.5G 9% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 50G 48G 2.5G 96% / /dev/sdb1 197G 61M 187G 1% /data /dev/sda1 497M 228M 270M 46% /boot /dev/mapper/centos-home 42G 39M 42G 1% /home tmpfs 783M 0 783M 0% /run/user/0 /dev/dm-5 10G 1.1G 9.0G 11% /var/lib/docker/devicemapper/mnt/64bf5024d32c96db153 /dev/dm-6 10G 1.1G 9.0G 11% /var/lib/docker/devicemapper/mnt/ec0825f568f44a29278 /dev/dm-7 10G 760M 9.3G 8% /var/lib/docker/devicemapper/mnt/74b16c869750faf16d7 /dev/dm-8 10G 470M 9.6G 5% /var/lib/docker/devicemapper/mnt/b9ee58bebbca519f2ac /dev/dm-9 10G 690M 9.4G 7% /var/lib/docker/devicemapper/mnt/f26a46597f7a08dd8a8
2、查看/(根目录)磁盘使用情况
cd /
du -sh *
再进入使用磁盘较大的目录查看
例如:
cd /root
du -sh *
[root@mylinux ~]# du -sh * 3.2G download 4.0K flume-kill.sh 4.0K get_host_ip.py 8.0K img_go 1.7G install_package 4.0K mir_jenkins 457M module 4.0K myinit.sh 2.0M py2test 168K pyweb 624K safescan 4.0K shtest 7.7M test01 1.5G tmp 1.2G tmp1
可以看出有3个目录磁盘使用量较大,且依赖较小
3.2G download 1.5G tmp 1.2G tmp1
3、转移磁盘使用量较大,无依赖的目录
例如:
mkdir /data/fake_root_home/
mv /root/download /data/fake_root_home/
4、建立软连接
ln -s /data/fake_root_home/ /root/fake_root_home
5、删除不必要的docker容器和docker镜像
这样可减少/var/lib/docker的磁盘使用量。
6、重启docker化的Jenkins容器
重启后,告警消失。
查看/(根目录)磁盘使用率变为了(已使用73%)
[root@mylinux ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 4.0K 3.9G 1% /dev/shm tmpfs 3.9G 360M 3.5G 10% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 50G 37G 14G 73% / /dev/sdb1 197G 5.9G 181G 4% /data