docker容器热迁移
docker criu 容器热迁移 meetup, 华为实现方案与现状概念主体:处于运行状态的虚拟机或应用程序动作:在不同主机之间进行迁移要求:内存、存储和网络连接等状态能够保持[-from wikipedia]场景clustercloudletcloudletcloudletcluster?clustermgtCloudlet 1cloudlet 1迁移前迁移后cloudletcloudletAPP nidlet 2cloudletAPPn(i )A热迁移现状热迁移现状虛拟机热迁移几乎所有虛拟化方案都已实现热迁移功能KVM,Vmware, Hyper-V, Xen容器热迁移没有成熟的方案容器迁移≈进程迁移关于cRIU进程迁移工具-CRIUCRIU- Checkpoint/Restore In Userspace用途:将进程状态保存为文件通过文件恢复进程使用方式:criu dumplpre-dump-t SPID -images-dir=XXcriu restore -images-dir=XXCriu page-server主页https://criu.org/mainPage代码https://github.com/xemul/criuCRU的历史背景Kernel-based Checkpoint and Restart作者: Oren laadan,哥伦比亚大学博士X时间:2007年发表论文,2008年发表开源实现实现:100个 patch,修改了几十个内核子糸统Checkpoint restore in Userspace (CRIU)作者: Pavel Emelyano等, Paralles公司时间:2011年开始实现:累计180+个path进入主线This is a project by various mad Russians to perform c/r mainly fromuserspace. However I'm less confident than the developers that it willall eventually workAndrew Morton(2012-01)CRIU的缺陷虛拟机CRIU不支持的应用整体的内存拷贝迁移使用了以下特性有限的设备状态保存恢复Tasks with debugger attachedTask running in compat modeUNIX sockets with relative path容Sockets other than TCP, UCP, UNIX, packet and netlink进程的用户态内存Cork-ed udP sockets进程保存在内核的各种状SysVIPC memory segment without IPC namespacevirtual memory mappingsopen files图形应用credentials打开、内存映射字符或块设备timersprocess IDThis is not an enterprise feature. It's a promise one cannot keep. Wewill not add code to systemd that works often but not always and crits certainly of that kindLennart Pottering(systemd-devel, 2015)
用户评论