,便为很多不同的用户场景都提供了精妙的,考虑周全的API。持久化卷是由新API的接受引入的特性。持久化卷让用户可以为便构建数据库框架,便可以在任何不可预见的故障和错误发生并且影响整个系统时,使数据持久化。本文选自《用便框架构建分布式应用》。
直到最近,便都仅仅能够运行无须向磁盘存储数据的服务。这是因为没有方法预留所需的磁盘块。从便0.23版本开始,可以预留磁盘了。
我们可以将便当作一个部署系统。如果MySQL数据库能够自动将自身备份,并且按需创建新的副本,是不是很好呢?或者如果拥有一个简单的,自服务的REST API,能够创建新的Riak和卡桑德拉集群,又会怎么样呢?为便构建数据库框架的工作从2014年就开始了。这些框架的问题是每个主机都必须创建特别的数据分区,并且在便之外加以管理。使用持久化卷,类似Apache棉花(MySQL所用)以及卡桑德拉和Riak便框架的项目就都能够独立启动和维护了。
在便的设计里,磁盘空间是短暂的,并且是按任务隔离的。这通常是一件好事,除非用户想要持久地保存数据。要解决这个问题,便引入了一个新的磁盘资源的子类型,称为volume.volume是分配给一个任务的磁盘块,并且挂载在特定位置,完成这一功能的API和挂载主机卷的马拉松API(详见“挂载主机卷”部分),几乎完全一致。用户甚至可以创建不持久的卷,这在想将多个独立磁盘暴露给便时会很有用。
下面研究一下如何创建并且使用持久化卷。
有两个接受手术用来创建以及销毁持久化卷。不出意外地,它们称为创建和摧毁。仅仅能够在已经被预留的磁盘资源上创建持久化卷。通常,用户会预留资源,创建卷,并且在单个接受里启动任务,如下面示例所示。