我们在一台jenkins机器上/tmp目录磁盘空间不够了,而/tmp挂载到/目录。最后一查根目录。定位到是/var/lib/docker目录太大。于是有了迁移这个目录的需求。
du -sh /tmp/* | sort -h
干货
1.首先,备份fstab文件 sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
2.停止docker
service docker stop
3.使用rsync工具同步,
mkdir -p /data/docker && cd /data/docker
yum -y install rsync
rsync -aXS /var/lib/docker/. /data/docker/
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-X, --xattrs preserve extended attributes
-S, --sparse handle sparse files efficiently
4.修改fstab 在该文件中把下面一行添加到fstab里,将新位置挂载到 /var/lib/docker
新增的内容如下:
/data/docker /var/lib/docker none bind 0 0
5.重新挂载 && 查看结果
mount –a
df -h
6.重启docker
整合到一个root执行的脚本:
#!/bin/bash
cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
service docker stop
export DOCKER_PATH=/data/docker/
rsync -aXS /var/lib/docker/. $DOCKER_PATH
echo $DOCKER_PATH /var/lib/docker none bind 0 0 >> /et/fstab
mount -a
df -h
service docker start