容器,其实是一个或多个受到相同限制的进程。因此,进程的热迁移工具也适用于容器。
进程如何热迁移?请百度CRIU。网站: https://criu.org/
假定(因为我没有试过):一个无网络功能的容器能通过CRIU实现跨主机迁移。
推论:有网络功能的容器也能通过CRIU实现跨主机迁移推(这个我也没实现过)。
方法:发现问题,消灭问题:将网络在内核中的部分挪移到用户进程
手段:用户态协议栈,容器实现修改
容器实现可能需要改成这样:
但是,为了更加通用,也可以是这样:
容器,其实是一个或多个受到相同限制的进程。因此,进程的热迁移工具也适用于容器。
进程如何热迁移?请百度CRIU。网站: https://criu.org/
假定(因为我没有试过):一个无网络功能的容器能通过CRIU实现跨主机迁移。
推论:有网络功能的容器也能通过CRIU实现跨主机迁移推(这个我也没实现过)。
方法:发现问题,消灭问题:将网络在内核中的部分挪移到用户进程
手段:用户态协议栈,容器实现修改
容器实现可能需要改成这样:
但是,为了更加通用,也可以是这样: