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

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

作者:翻译:吴锦晟 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

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

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