本文主要是介绍存储技术介绍之“快照”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
“备份”想必大家都很熟悉了,在日常工作生活中也会经常用到。但是,大型数据集的完整备份可能需要很长时间才能完成,大型企业的数据流是源源不断的。如果用户将文件移动到已备份的目录中,则备份介质上将完全丢失该文件,因为在添加文件之前已进行了备份操作。
安全备份实时数据的一种方法是在备份期间暂时禁用对数据的写访问,方法是停止访问应用程序或使用操作系统提供的锁定 API来强制执行独占读访问。这对于低可用性系统(在台式计算机和小型工作组服务器上,定期停机是可以接受的)是可以容忍的。然而,高可用性24/7系统无法承受服务中断,而安全高效地备份实时数据的解决办法之一就是快照。
存储网络行业协会(SNIA)对快照的定义是:对指定数据集合的一个完全可用拷贝,该拷贝包含源数据在拷贝时间点的静态影像。快照可以是数据再现的一个副本或者复制。对于文件系统来说,文件系统快照是文件系统的一个即时拷贝,它包含了文件系统在快照生成时刻所有的信息,本身也是一个完整可用的副本。
创建快照所需的时间和 I/O 不会随着数据集的大小而增加;相比之下,直接备份所需的时间和 I/O 与数据集的大小成正比。在某些系统中,一旦获取数据集的初始快照,后续快照仅复制更改的数据,并使用指针系统来引用初始快照。与重复克隆数据集相比,这种基于指针的快照方法消耗的磁盘容量更少。
一些Unix系统具有具有快照功能的逻辑卷管理器。它们通过将更改的块复制到其他存储空间来实现对整个块设备的写时复制(就在它们将在“父”卷中被覆盖之前)到其他存储,从而保留块设备的自洽过去图像。此类快照映像上的文件系统稍后可以像在只读介质上一样安装。一些卷管理器还允许创建可写快照,通过将快照中修改的任何块与原始卷中的“父”块分离来扩展写时复制方法。这种方案也可以描述为执行由写入快照触发的额外的写时复制操作。在 Linux 上,逻辑卷管理器(LVM) 允许创建只读和读写快照。LVM2 引入了可写快照。
很多文件系统也都支持快照功能,免费是文件系统快照的优势之一,因为它集成在文件系统内部;另一个优点是非常好用,最新版文件系统的快照功能通常使用起来很简单。但存在的劣势是每个文件系统都必须独立进行管理,当系统数量激增时,管理工作会变得非常繁重。
快照技术是对传统数据备份与复制技术的重大革新,解决了备份窗口问题,有效拉近了恢复时间目标和恢复时间点目标,成为了事实上的存储行业标准。
快照技术发明以来,人们进行了大量意义重大的改进。快照窗口不断缩小,从几秒到瞬间完成;几乎可以在任意时刻创建快照,粒度越来越细,数量不断增大;快照性能大幅提升,对主机、应用的影响降低至微;快照灵活性、可扩展性、可管理性不断增强。然而,人们对技术的进步要求从来都是没有止境的。针对当前的各种解决方案,在综合性能、灵活性、管理性方面,快照技术仍然存在很大的改进空间。存储厂商不断推出新的快照存储产品或新的版本,是最有力的证明。
近年来,存储技术的发展日新月异,面向对象存储、固态硬盘、存储虚拟化、重复数据删除,新的存储架构、技术和解决方案不断涌现。这些可能会对快照技术的变革产生更加深远的影响,为快照技术的发展创造更加宽广的空间。我们可以预测,未来快照技术在空间效率、快照对象粒度(文件、文件集)、虚拟化存储支持以及性能和用户体验方面有长足的进步,在数据复制和备份领域将有更加广泛的应用前景。
这篇关于存储技术介绍之“快照”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!