容器存储中那些潜在的挑战和机遇

容器存储中那些潜在的挑战和机遇

作者:翻译:吴锦晟 2015-10-12 15:40:48

云计算 在容器内运行应用的想法并不新颖。是的,这是一个趋势,无数人研究容器这一热门主题,似乎发现了解决问题的方法。容器将解决一切。

原文作者:尼克格拉斯马托斯,FICO 云服务工程高级总监,致力如何为Docker卷和数据容器缺乏持久化存储提供解决方案。

在容器内运行应用的想法并不新颖。是的,这是一个趋势,无数人研究容器这一热门主题,似乎发现了解决问题的方法。容器将解决一切。

容器的起源实际上能追溯到大型机时代,这并不是一个新技术,这一技术最终开始成熟并以惊人的速度获得用户关注和认可。容器使多个应用并行运行在单个操作系统之上,不管其是直接部署在物理服务器还是虚拟实例之上。这个是通过提供在“用户空间”(即应用运行的平台、系统或运行在内核上的代码)上执行多次拷贝的功能来实现的。

容器的当前反馈来自于运行虚拟实例相关的问题和开销,每个实例必须有专用的内存和存储资源。它们通常过大或不够,当对这些资源需求迅速扩展时,它运行会变得缓慢。

虚拟实例的设计提供隔离和独立升级每个实例的能力,但在运行类似或相同版本的操作系统的大环境中,每个虚拟实例都运行相同的进程,内存占用和一个近似的启动卷。

面向一个基于Web可扩展的网络计算架构目标时,传统的虚拟化可以说是很低效的,浪费誓如内存、处理器、存储、机架空间、电力、冷却系统和通用资源(如管理系统、IP地址)等的物理资源。

容器提供一定程度的分离,因为它是独立于它的临近容器存在的,所以它看起来似乎自拥有整个操作系统。这种隔离允许它们与外部进行交互。

在2014年指数级的增长趋势下,2015年容器和整个生态系统在企业环境中获得巨大发展,但是它仍然远未普及。虽然有极少的备份软件供应商能够提供容器备份的支持,但是有没有办法能实现任何备份软件都能备份容器呢?

相比而言虚拟实例这种方式预计是短暂的。它应用于更好的存储分配,容器使用的功能被称为一个覆盖文件系统来实现一个写副本的过程中,与存储任何更新信息的主文件系统的容器相比,它是基于原始镜像。如果容器被删除,这些更改通常会丢失。因此容器默认不具有持久存储能力。

然而,类似Docker这种分布式方案提供两种特性用于访问持久化存储资源:Docker卷和数据容器。

一个Docker卷允许数据被存储在启动卷之外的容器中,在主文件系统中可以在几方面实现。一个容器可以通过提供一个共享名传给“-v”切换参数创建一个或多个卷。

Docker配置文件夹(/var/lib/docker)中创建一个实体代表该卷的内容。卷上的配置数据存储在/var/lib/docker/volumes文件夹,每个子目录代表一个基于通用唯一标识符(UUID)卷名。数据本身存储在/var/lib/docker/vfs/dir基于UUID命名的文件夹。

任何卷中的数据都能在主机操作系统中浏览和编辑及标准权限应用。然而,卷的使用有利有弊。由于数据存储在标准的文件系统中,它能被操作系统备份、复制、导入和导出。缺点还有卷的命名遵循UUID规范,这使它很难与容器名称联系在一起。Docker通过提供 “docker cp”命令解决了这个问题,通过指定容器的名称,即可将文件和文件夹从主机目录中拷贝到该容器目录中。这与rsync类似。

它将可能通过提供外部共享存储在一个NFS共享或LUN并通过提供卷选项来访问外部存储上创建的主机共享,虽然这是不推荐的。

一个Docker卷也可以与主机目录有关。这里要再次用到“-v”切换,格式如下:“-v /host:/container”。这种方法允许容器访问主机上的持久数据。

它将可能通过提供外部共享存储在一个NFS共享或LUN,并通过提供卷选项来访问外部存储上创建的主机共享。这种方法也可以用来备份由容器访问的数据。

Docker中管理数据的另一选择是Docker数据容器。这个概念是指一个或多个卷在内的一个休眠容器。这些卷可以导出到一个或多个其它容器中,当启动附加的容器时,使用‘-volumes-from’切换。数据卷容器就像是内部的Docker NFS服务器,从中心点提供访问容器的支持。

这种方式的优点是它从原始数据的位置抽象出来,让数据容器变为一个逻辑中心点。它还允许应用程序容器访问数据容器卷以在专用容器中保存数据持久性,并将其销毁。

在使用卷和数据容器中有一些问题需要了解。

独立存储

目前在没有删除相关卷的情况下是可以删除容器的。事实上,这是默认的行为,除非重写。最终它可以很容易地清楚没有相关引用容器中的独立卷。

清除独立存储是一项很艰巨的任务,因为它需要通过在容器配置文件去对容器及其相关的卷进行匹配。

安全

对于容器卷和数据,除了标准文件权限和配置“只读”或者“读写”访问,没有其他别的安全性问题。这意味着用户在容器上的文件访问权限需要匹配主机设置。

数据完整性

使用卷和数据容器共享数据,能够保护数据的完整性。如文件锁定需要容器本身的管理功能。这是一个额外的开销,必须添加到应用程序中。

容器没有提供数据保护设施,如快照或复制,因此数据管理必须由主机或容器来处理。

外部存储也缺乏支持。除了系统操作系统中提供的功能外,Docker并没有在外部存储中提供特定的支持。

容器卷默认存储在/var/lib/dockerdirectory目录中,这可能会成为一个性能瓶颈。然而,在Docker启动进程中转换容器卷默认存储位置是可行的。

***一个点突出了当前容器存储的问题:无法管理在单独的物理主机上运行的容器之间的数据共享。

数据卷可以置于外部存储中,但是当前的设计不具备使用卷从一台主机转移到另一台主机的能力。为了解决这个问题,Flocker提供的解决方案从ClusterHQ正在尝试解决卷移植带来的地址问题。也有提出改变类似Docker这种分布式方案中增加更多卷管理功能。

原文链接:http://dockone.io/article/725

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/263402.html<

(0)
运维的头像运维
上一篇2025-05-04 13:27
下一篇 2025-05-04 13:28

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注