博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PPT | Docker定义存储-让应用无痛运行
阅读量:6865 次
发布时间:2019-06-26

本文共 1282 字,大约阅读时间需要 4 分钟。

  hot3.png

编者注:

本文为9月27日晚上8点平台存储架构师张朝潞在腾讯课堂中演讲的PPT,本次课堂为有容云主办的线上直播Docker Live时代●Online Meetup-第三期:Docker定义存储--让应用无痛运行中,文中跟大家讨论了如何为容器选择合适的存储方案,具体详情见以下PPT分享内容。

 

 

Q&A

 

Q:Docker使用外部存储,把外部存储直接给宿主机挂载,容器再使用宿主机挂载的外部存储效率会不会更高?

A:这种方式正是volume plugin的实现方式,容器直接mount宿主机的目录,避免通过容器网络访问外部存储,性能肯定会更高。

 

Q:如何具体定制volume_plugin?不同主机挂同一个lun,这样可以直接给volume 使用  同一业务 只要块存储速度可以那就不会影响业务 包括峰值和低值的应用 只是增加中间处理容器的数量,这样可不可行?

A:为了方便实现volume plugin,docker提供go-plugins-helper包(https://github.com/docker/go-plugins-helpers),提供基础的功能,仅仅需要实现一个接口volume.Driver,并启动http server便可。例子:GlusterFS就是使用这个包,基于glusterfs提供volume。https://github.com/calavera/docker-volume-glusterfs;

不同主机挂同一个lun,再格式化文件系统,每个主机都由自身的文件系统元数据并不会立刻flush到块设备,所以多个主机挂同一个lun并不可行。

 

Q:对于一个容器,每次run都会下载大量的数据,如果多大50GB的话,如何去处理?

A:将大量的数据存储在外部共享存储系统中,通过块或文件的方式挂载给容器使用,就可避免加载大量数据到本地。

 

Q:对于容器存储也好或虚拟机、云主机存储也好,都是大同小异,看你业务用途如何,再根据现有资源来决定是块存储还是分布式文件或是对象存储?

A:确实存储接口并没有什么根本性的改变,容器和虚拟机在存储的角度来看最大的区别就是容器中运行的是应用,而虚拟机运行的是操作系统,使得容器存储更加贴近应用,能够根据具体应用的特性提供更合适的存储服务。

 

Q:假如有一个lun,要对应一个host上的很多的container,我是把所有的container mount 到同一个目录的不同子目录速度快,还是先对这个lun进行分区格式化,然后在不同的container对不同的分区速度快呢?

A:把所有的container mount 到同一个目录的不同子目录,表示多个进程对应1个文件系统;先对这个lun进行分区格式化,然后在不同的container对不同的分区,表示1个进程对1个文件系统;对于非IO密集型的进程,应该是后者更快,每个文件系统都带有cache,所以性能会更高一些。而对于IO密集型的进程,估计性能差别不大。

 

转载于:https://my.oschina.net/cloudsoar/blog/753122

你可能感兴趣的文章
何以回首所来径
查看>>
React中的url参数——this.props.match
查看>>
再有人问你volatile是什么,就把这篇文章发给他
查看>>
AngularJS学习日记(三)指令
查看>>
智能合约-Solidity官方文档(1)
查看>>
直播中需要了解的AAC基础知识
查看>>
开源电子书项目FBReader初探(一)
查看>>
Scala元编程:实现lombok.Data
查看>>
Swift 与 JavaScript 的交互(通过 JavaScriotCore)
查看>>
《编写可维护的JavaScript》读书笔记
查看>>
jQuery资源国际化
查看>>
JAVA开发之简化Dao层、提高开发效率
查看>>
使用NSOperation和NSURLSession封装一个串行下载器
查看>>
网络学习笔记(二):TCP可靠传输原理
查看>>
Swift 笔记1
查看>>
GitHub远程仓库上传文件
查看>>
windows/mac安装git及初级使用超详细图解教程
查看>>
javascript keyCode相同如何进一步区分
查看>>
Vue基础 - 组件
查看>>
一个漂亮的Vue组件 Floating Action Button
查看>>