Docker与存储纪实
在容器中运行应用的想法——也作为OS级虚拟化著称——目前来看是一种潮流技术。这种技术的真身可以追溯到大型机时代。
但是在过去的12个月当中,在单一OS中运行多个相隔离的负载的思想被一款产品重新引爆。这家公司和产品统一命名作Docker。
Docker是一款支持单一OS同时运行多应用的平台产品,可以直接部署于物理服务器之上或作为虚拟机。
这一切都实现自“用户空间”的多拷贝,用户空间就是应用在Linux或是Unix平台运行的地方。
Docker如此受追捧,原因在于其解决了运行VM的一些问题和花销,每一个VM都需要配备专有的内存和存储资源。
VM支持深度隔离并虚机个别升级,但是在跑相似或者完全相同的OS版本的大环境中,几乎每个虚机都运行着耗内存的重复进程,还保留着完全相同或近似相同的启动卷。
在面向网络规模的计算中,传统服务器虚拟化效率很低。
集装箱生动描述了容器间的隔离。默认情况下,相互隔离的容器在实现任何意图和目的时都好像拥有整个操作系统。这种隔离会因容器与外界交互的需要被不时打断。而如果没有这种交互,容器也就失去了存在意义。
因此,容器是有条件实现网络交通并访问数据的。
Docker将在存储上崭露头角?
与VM相比,容器是轻量的,并也被应用于存储。
Docker的一大神奇特色就是其叠加式文件系统,它实现了写入时拷贝,将任何更新了的信息存入容器的根文件系统。因此容器默认将不具备***性存储。
然而,Docker却拥有支持访问更多***性存储资源的功能——Docker卷和数据容器。
从两年前的全面启动,Docker开源容器已经覆盖到大部分的应用开发和测试环境。Docker还有多少时日能够部署于主存储还很难预测,但专家认为它将采取和VMware类似的方式,逐渐的去增加特性到服务器虚拟化软件来帮助创建、配置和管理存储。
“从存储的角度来看Docker,关键在于你真的需要一个具有众多特性的存储系统,”Storage Switzerland主席George Crump这样表示。“就想早期的VMware,Docker的存储局面还很紧张。”
Crump表示,VMware已经为Docker开辟了主存储系统的先路,尽管这将会是一个缓慢的过程。
“我想Docker的用武之地首先会是有很多相同实例的存储环境。比如说你正在扩展的80 Oracle或SQL Server应用。”
#p#
尽管类似,但Docker与VM存储并不一样
Docker是打包共享操作系统上的Linux应用及其依赖关系的开源软件。目前为止,围绕于Docker存储容器的议论已经高于企业应用的广度。
但Crump和其他行业观察者表示,容器成为VM存储的补充只是时间问题。
Docker公司商业化了开源Docker容器,但竞争者在衍生,包括由合作伙伴转为竞争对手的CoreOS。谷歌在去年也揭幕了其基于Kubernetes开源容器集群管理框架的谷歌容器。
EMC、 Asigra、 Catalogic和Zadara都在推出支持Docker容器的产品。微软表示将会在Windows Server 2016上支持Docker。
“Docker已经影响了我们考虑架构和基础设施的的方式,但照目前我们的存储来看,一个Docker实例就像是虚拟机,”NC-based Signature Tech Studio副总Rob Hines说道,“它能够访问Zadara。一开始我们会在VPSA里面运行少量的容器。但我不知道如果我准备好将成百上千的工作投进VPSA会怎样,也许这会是我们的最终目标。”
“VM和容器***的不同在于粒度,”StorageIO Group创始人Greg Schulz说,“我能在一台物理机上启动5-10个VM。而对于容器而言,我可能同时运行成百上千个轻量的实例。”
Docker还缺少数据保护上的本地存储特性,像是复制和快照。
数据持久性和可移植性上面的缺失也在阻碍容器技术在共享存储上的全面应用。