PPT | Docker定义存储-让应用无痛运行
编者注:
本文为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密集型的进程,估计性能差别不大。
PPT | Docker定义存储-让应用无痛运行的更多相关文章
- 四个修改Docker默认存储位置的方法
方法一.软链接 默认情况下Docker的存放位置为:/var/lib/docker 可以通过下面命令查看具体位置: sudo docker info | grep "Docker Root ...
- docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置
原文:docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_3767485 ...
- [转帖]四个修改Docker默认存储位置的方法
四个修改Docker默认存储位置的方法 https://blog.51cto.com/forangela/1949947 易改乾坤关注0人评论27435人阅读2017-07-22 09:18:48 ...
- docker从零开始 存储(五)存储驱动介绍
关于存储驱动程序 要有效地使用存储驱动程序,了解Docker如何构建和存储镜像以及容器如何使用这些镜像非常重要.您可以使用此信息做出明智的选择,以确定从应用程序中保留数据的最佳方法,并避免在此过程中出 ...
- docker从零开始 存储(一)存储概述
管理Docker中的数据 默认情况下,在容器内创建的所有文件都存储在可写容器层中.这意味着: 当该容器不再运行时,数据不会持久存在,如果另一个进程需要,则可能很难从容器中获取数据. 容器的可写层紧密耦 ...
- Docker 持久存储介绍(十三)
目录 一.Docker 数据存储 二.Bind mount 1.详细介绍 2.如何使用 -v or --volume 语法 --mount 语法 两者区别 3.使用场景 4.使用案例 存在目录 bin ...
- Centos7——docker持久化存储和卷间状态共享(笔记)
docker持久化存储和卷间状态共享(笔记) 本章介绍 存储卷的介绍 存储卷的两种类型 宿主机好额容器之间如何共享数据 容器之间如何共享数据 存储卷的声明周期 存储卷之间的数据管理和控制模式 就像在 ...
- docker aufs存储驱动文件系统
Docker aufs存储驱动layer.diff.mnt目录的区别 /var/lib/docker/aufs layer子目录: 镜像.镜像历史列表.容器.容器INIT分别有对应的文件.文件名和di ...
- docker容器存储
写在前面 我们在上篇学习了容器网络,对容器网络驱动bridge工作原理做了较为详细的介绍,今天小作文一起看看容器中另一个关键域-存储. 容器的存储可以分为两大类: 一种是与镜像相关的即我们在<d ...
随机推荐
- Jenkins+Python+GitLab持续集成
创建任务 登录Jenkins,点击左侧列表的新建选项.输入任务名称,选择构建一个自由风格的软件项目,点击确定. 配置 在任务配置界面,可以设置General标签中的丢弃旧的构建选项,设置保持构建的天数 ...
- Codeforces 1133E - K Balanced Teams - [DP]
题目链接:https://codeforces.com/contest/1133/problem/C 题意: 给出 $n$ 个数,选取其中若干个数分别组成 $k$ 组,要求每组内最大值与最小值的差值不 ...
- JAVA 实现 GET、POST、PUT、DELETE HTTP请求
1.get 2.put 3.post 4.delete
- POI自动调整列宽支持中文
/** * @Description:表格自适应宽度(中文支持) * @Author: * @param sheet sheet * @param columnLength 列数 */ private ...
- vue中v-model的数据双向绑定(重要)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 小白教程 Java web maven项目Windows下部署阿里云服务器全过程(买服务器,打包项目,连接服务器,配置服务器,部署项目)
-------------首先:购买服务器---------------- Step1: 在https://www.aliyun.com/?utm_content=se_1043015注册登录阿里云 ...
- 移动app商城UI模板(仿淘宝)
该商城UI模板是仿照手机淘宝,实现了搜索商品-查看商品详情-加入购物车-结算的流程,共7个页面,由于没有数据库,所有页面上的数据都来自tempData.cs及tempPro.cs ,具体页面参考如下 ...
- springboot之mybatisplus,mp的简单理解
这是一张简单的service的继承图.可以看到我们的执行类,即XxxServiceImpl的继承关系. 从上到下,ServiceImpl和BaseMapper是一个依赖关系,ServiceImpl和I ...
- 20141126-传智播客.NET3.3版
- 2019年7月20日 - LeetCode0002
https://leetcode-cn.com/problems/add-two-numbers/submissions/ 我的方法: /** * Definition for singly-link ...