Sumetho - Fotolia.
Docker存储和虚拟存储需求不同
Docker容器和虚拟化在存储存储时存在一些相同的挑战,但相同的Docker存储和虚拟存储系统可能不是答案。
像Docker这样的容器技术是新的虚拟机(VM),它们正准备席卷企业数据中心。容器化本质上是应用程序虚拟化,而不是服务器虚拟化。可以将容器视为虚拟机子集;它们可能是连接到应用程序或虚拟机的主实例的应用程序,甚至是应用程序的一部分。但是就像它们的VM一样,容器和Docker存储将需要独特的能力。
虚拟化问题
服务器虚拟化和桌面虚拟化当然可以工作,并且现在是大多数数据中心的标准应用程序部署。那么,为什么这些数据中心还要考虑Docker和其他容器技术呢?容器克服了虚拟化的两个基本问题:
- 在大多数情况下,虚拟机是矫枉过正的。数据中心需要的是在同一物理服务器上同时安全地运行多个应用程序的能力。地坑这些应用程序因此,一个应用程序中的错误代码不会导致其他应用程序崩溃是一个基本要求。另外,还需要能够分配主机服务器资源中央处理器,在这些实体之间谨慎地存储和存储。在虚拟化之前,它通过每个物理服务器运行一个应用程序进行此控件。虚拟化基本上将整个物理服务器重新创建为VM以运行一个应用程序。
- 虚拟化由虚拟机管理程序驱动。其责任是抽象主机服务器的资源,允许管理程序将它们分配给各种VM。这虚拟机监控程序开销管理这种抽象会消耗性能。
对于这两个问题,通常的解决方案是投入更多的硬件,通常以CPU功率的形式而不是裸金属服务器。同样,这种模式有效,特别是因为CPU功率很丰富。容器只提供更有效的替代方案。
容器的优势
容器更有效比VMS。它们而不是虚拟化和抽象整块硬件,而是抽象应用程序或应用程序的应用程序。这种更精细的虚拟化意味着资源不浪费抽象的冗余组件。它还导致降低CPU,内存和存储要求。
Docker利用A.即写即拷文件系统创建它的容器。通常,先创建一个主映像,然后从该主映像创建容器。大多数管理程序都具有类似的功能,但是映像必须是整个VM。与集装箱技术,这个图像可以更精确。容器可以是应用程序的分支,甚至是应用程序的子集。
Docker存储注意事项
的许多Docker存储注意事项与对虚拟化的担忧类似。但是,有一些关键差异。码头设计为使用的存储设备,,但是随着环境的成熟,需要使用不同的容器来跨主机共享信息并能够移动容器。共享存储支持高可用性、共享访问和容器移动。但是,与典型的虚拟服务器环境相比,共享存储必须能够处理更加多变的工作负载需求;从I/O的角度来看,Docker存储环境更类似于虚拟桌面基础设施,它有数百个依赖于链接克隆的桌面。
一个码头工人的环境可以从几十个容器中缩放到数百个,如果不是数千个容器,可以在几秒钟内缩放到几十多个。容纳此可变缩放将需要一个可以支持闪存和硬盘驱动器的混合的系统。该系统也可能需要在设计中缩放以适应容器增长。
今天,不像VMware和Hyper-V, Docker在存储能力方面几乎没有任何特性。功能的缺乏意味着存储硬件上的软件会需要坚强因此,企业可以访问它们用于的功能。Docker环境经常使用RESTful api实现自动化。通常会以编程方式创建,执行和删除容器。它是有道理的,然后存储系统本身通过RESTful API完全脚本。
由于Docker和Container Technologies在其初期内,未来几年将存在重大变化。假设Docker在管理存储时会更好地确认,添加新协议并提供存储服务是安全的。支持存储系统应该足够灵活以匹配这些变化支持多个协议并有能力关闭可能与添加到Docker的内容冲突的特定特性。
如今,Docker被用于支持应用程序开发和测试。越来越多的数据中心,当然也包括大多数企业数据中心,比以往进行了更多的开发工作。Docker非常适合这些环境。但正如虚拟化首先被用于实验室测试,从而进入商业领域一样,码头和容器在开始作为测试/开发工具之后,也可以在企业表中找到一个座位。