K8S Docker数据目录迁移与扩容
K8S Docker数据目录迁移与扩容。
·
K8S Docker数据目录迁移与扩容
背景
- 当前docker所在默认路径/var/lib/docker,由于根分区磁盘空间不够,且未做lvm只能添加新磁盘作为docker存储路径,故需要做docker数据目录的迁移
修改docker数据目录配置
- 使用这种方式需要修改docker的配置文件
# 查看当前docker数据路径
[root@k8s-master-1 ~]# ls /var/lib/docker
buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
# 停止docker与kubelet
[root@k8s-master-1 ~]# systemctl stop kubelet
[root@k8s-master-1 ~]# systemctl stop docker
# 迁移数据
[root@k8s-master-1 ~]# mv /var/lib/docker /data/
# 修改docker的配置文件
[root@k8s-master-1 ~]# cat /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://ornb7jit.mirror.aliyuncs.com","https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"],
"default-ipc-mode": "shareable",
"insecure-registries": ["192.168.0.10:30008"],
"data-root": "/data/docker" # 设置新的路径
}
# 启动docker与kubelet
[root@k8s-master-1 ~]# systemctl start docker && systemctl start kubelet
# 查看docker上是否还运行之前的容器
[root@k8s-master-1 ~]# docker ps -qa | head -n 3
3581f7749158
cf039980fcc6
77f93ff2e2cd
软链接存储路径
- 由于docker在运行期间会产生新的数据,为保证数据一致性,需要停止docker服务后才能进行数据迁移
- 使用软链接的方式可以不用修改docker的配置文件
# 查看当前docker数据路径
[root@k8s-master-1 ~]# ls /var/lib/docker
buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
# 停止docker与kubelet
[root@k8s-master-1 ~]# systemctl stop kubelet
[root@k8s-master-1 ~]# systemctl stop docker
# 迁移数据
[root@k8s-master-1 ~]# mv /var/lib/docker /data/
# 创建软链接到之前的数据目录
[root@k8s-master-1 ~]# ln -s /data/docker/ /var/lib/docker
# 启动docker与kubelet
[root@k8s-master-1 ~]# systemctl start docker && systemctl start kubelet
# 查看docker上是否还运行之前的容器
[root@k8s-master-1 ~]# docker ps -qa | head -n 3
2d4cc97df7be
e7dcdb6ab4a1
b80f152c1ee8
更多推荐
已为社区贡献43条内容
所有评论(0)