当前位置:   article > 正文

docker热迁移配置问题_linux 5.4 内核 docker

linux 5.4 内核 docker

在高版本linux内核时,docker无法进行checkpoint,必须降核才能checkpoint,目前内核版本是4.4.0-109。

降内核方法为:

一、首先在sources.list最后一行写入下面内容

  1. vi /etc/apt/sources.list
  2. deb http://security.ubuntu.com/ubuntu trusty-security main

二、升级apt-get

apt-get update

三、查询列表中可更新的内核

sudo apt-cache search linux-image

四、安装4.4版本内核

apt-get install linux-image-extra-4.4.0-109-generic 

五、设置grub并更新

  1. vim /etc/default/grub
  2. GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-109-generic"
  3. update-grub

六、重启系统:reboot

发现内核5.0.0也可以运行,降低为5.0.0办法为:

一、去下载对应版本https://kernel.ubuntu.com/~kernel-ppa/mainline/,除了带有lowlatency的都要下载,

二、安装

sudo dpkg -i *.deb

三、设置grub并更新

  1. vim /etc/default/grub
  2. GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.0.0-050000-generic"
  3. update-grub

四、把其他内核文件删除

  1. rm -rf /boot/vmlinuz-5.3.0-56-generic
  2. rm -rf /boot/vmlinuz-5.0.0-34-generic
  3. rm -rf /boot/initrd.img-5.0.0-34-generic
  4. rm -rf /boot/vmlinuz-5.0.0-32-generic

五、列出内核软件包,把不需要的删除

dpkg --get-selections |grep linux-image

删除其他版本的内核,对deinstall的需要使用dpkg卸载,例如:

  1. sudo apt-get remove linux-headers-4.15.0-45
  2. sudo dpkg -P linux-image-4.15.0-54-generic

 

降docker版本:

这两天使用docker进行热迁移,checkpoint之后始终没办法restore,换系统,降内核均无果。

然后怀疑是不是criu版本问题,一搜发现是docker版本问题。。立马换docker版本17.06

一、先卸载原来的docker

sudo apt-get remove docker docker-engine docker-ce docker.io

二、安装前准备,事先切换root

  1. apt update
  2. apt install apt-transport-https ca-certificates curl software-properties-common
  3. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
  4. add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"

三、查看docker可用版本

apt-cache madison docker-ce

四、安装指定版本17.06

apt install docker-ce=17.06.0~ce-0~ubuntu

五、检查安装

docker info

最后docker checkpoint之后就可以进行还原了!

另外,将docker加入用户组办法为:

  1. sudo groupadd docker
  2. sudo gpasswd -a $USER docker
  3. newgrp docker

更改docker存储驱动为:

打开/etc/docker/daemon.json,增加一行

  1. {
  2. "experimental": true,
  3. "storage-driver": "overlay2"
  4. }

然后 systemctl restart docker

 

CRIU过程

安装CRIU

添加criu的第三方软件包

  1. sudo add-apt-repository ppa:criu/ppa
  2. sudo apt-get update

然后

sudo apt install criu

最后检查sudo criu check

如果输出 Looks Good!即安装成功

 

单个容器的checkpoint/restore

checkpoint

docker run -d --name looper --security-opt seccomp:unconfined busybox /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 1; done'
docker logs looper
docker checkpoint create looper checkpoint1

restore

docker start --checkpoint checkpoint1 looper

 

跨容器迁移只需创建一个相同的容器,然后docker start --checkpoint-dir=xxx --checkpoint=xxx 容器名

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/461384?site
推荐阅读
相关标签
  

闽ICP备14008679号