推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

操作系统虚拟化底层基础之命名空间

更新时间:2020-01-03 23:46:33 大小:4M 上传用户:xuzhen1查看TA发布的资源 标签:操作系统 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

背景

随着公司业务的迅猛发展,大量的机器在线上业务号召下投入了服务于广大网民的神圣职责。不过基于一个不完全统计,我们公司的线上机器平均利用率20%左右,这就意味着70%

左右的机器都是可回收或者复用的。

出于节约机器,统一管理以及在线迁移的初衷,我们进行了虚拟化计算的研究。经过选型测试以及具体应用场景的研究,我们选择了操作系统虚拟化技术,即LXC。(为什么选择nVZ如何?Xen效果如何等等这些问题请参考其他文档,本文主要讨论LXC的底层实现技术).LXC本身不是一个具体的技术,它是一个集合技术的代称,我们可以总体上来看,LXC主要有namespace和cgroup两大模块构建而成,本系列主要就是说说这两个技术,本文则专注于namespace.

在我们讲述具体的技术之前,先来看看容器模块的整个状态系统,目前主要是IBM,google等公司的团队在负责维护更新。

目前container已经被上有内核所接纳,所以不存在自己维护分支版本的问题。但是这些团队之间合作不是我们想象的和谐,不同利益集团之间是有内核的政治诉求,都想把自家的内容扶位正房,导致我们再看操作系统虚拟化的时候会有不同项目博弈的事迹。

总览

每一个进程其所包含的命名空间都被抽象层一个nsproxy指针,共享同一个命名空间的进程指向同一个指针,指针的结构通过引用计数(count)来确定使用者数目。当一个进程其所处的用户空间发生变化的时候就发生分裂。通过复制一份老的命名空间数据结构,然后做一些简单的修改,接着赋值给相应的进程。


部分文件列表

文件名 大小
操作系统虚拟化底层基础之命名空间.pdf 4M

【关注B站账户领20积分】

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载