一、背景
我的磁盤容量掛載情況:
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