- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * 容器核心技术剖析 田琪 容器核心技术剖析 Agenda docker镜像 需要系统提供有效的CoW机制 文件系统层 btrfs 叠合文件系统 aufs,overlayfs 块设备层 device mapper - snapshot/thin provision Device Mapper框架 DM thin provision DM thin provision 由thin-pool及thin两个dm target共同组成 thin-pool管理整个资源池的分配,thin设备及快照管理工作 thin向上提供虚拟设备供使用,数据块写时由thin-pool分配 thin-pool通过btree管理thin设备{thin-devid, LBA} - {time,FBA}关系 根据thin设备的最后一次snapshot时间与time比较判断是否是shared block 实际所有thin设备的数据都写入到thin-pool管理的datadev中,thin设备只是虚拟抽象 overlayfs 内核dentry的游戏 merged/ work/ lower/ upper/ 大文件的copy up会比较慢 JD Image Store Namespace概念 mnt (Mount points) pid (Processes) net (Network stack) ipc (System V IPC) uts (Hostname) user (UIDS) Namespace使用接口 创建新进程及namespace 加入当前进程到新建namespace中 改变当前进程的namespace Namespace内核实现 - 初始状态 Namespace内核实现 - after normal fork Namespace内核实现 - clone a new ns Namespace内核实现 - after setns on task CGroups资源管理 提供进程的资源管理功能 资源管理主要涉及内存,CPU,IO等 不依赖于Namespace,可单独使用 管理功能通过VFS接口暴露 CGroups提供通用框架,各子系统负责实现 CGroups框架实现 cgroup及ns的问题 ns的隔离性不完整 需要更多种类的命名空间 cgroup IO控制方面问题较多 带宽控制只能CFQ调度器,不适合高速硬件 通用限流策略缺少弹性 buffer io无法准确控制 小结 - 问题 Docker快速发展中,功能仍需完善 定制 or 选择? 容器技术严重依赖内核特性 work around or 组件内核团队? Docker存储端驱动的选择? overlayfs or device mapper ? 镜像后端分布式存储? 自主研发 or 开源定制? 谢谢 微博:@摇摆巴赫 Q A * * * * * * * * * * * * * * * * * * * * * * * * * * *
文档评论(0)