不管你称其为数据引力还是数据惯性,从存储基础设施的一个位置移动数据到另一个位置是个艰难的过程。至少,过去是这样。而现在,在合适的工具和基础设施条件下,传统的数据迁移过程中涉及到的许多困难点都可以消除。采用的方法只是提前规划和采用恰当的技术。
为什么数据迁移在过去是个问题
一份***的Hitachi Data Systems报告详细的整理了来自IDC和451个集团公司的调研。报告表明数据迁移项目占据了大型企业IT项目的60%,并且,几乎一半的IT预算用于运维开销——一个明显的信号即数据迁移消耗了大部分的IT预算。据估计,迁移1TB数据的成本是1万5千美元,因此,数据迁移对很多IT部门来说是令人发憷的。而数据迁移困难之处,有许多原因。
数据迁移困难的一般原因包括:
复杂性。当今许多庞大的存储阵列已经变得很复杂,支持几千个LUN或卷,然后连接到许多主机。而这些主机通过光纤通道(FC),iSCSI和 FC over Ethernet 网络连接。阵列的高级功能部署包括了本地复制(快照、克隆)和远程复制(同步和异步的复制),同时也考虑了不同存储系统间应用的依赖性。当代磁盘阵列一般有多层存储,而且具有性能管理功能比如动态分层,以实现产品***I/O响应时间。
技术依赖。包含许多主机的存储阵列系统已经部署了多年,所以,硬件和软件设备,固件和设备驱动可能变化很大。在数据迁移时这些组件都可能需要升级或者刷新。在某些情况下,设备可能不再被支持,这就表明了一个风险项,或者表明需要投入成本来取代硬件。
运维依赖。大多数企业IT环境要求24/7运行,计划中的数据迁移停止是困难的,或者不可能。当复杂的服务器依赖存在以及业务连续性/灾难恢复等服务级目标需要保持时,就要面临这种情形。大量的时间花在了计划和再计划的数据迁移,以及对改变的组织进行协商。
存储容量规模。存储阵列可以存储大量的数据。***来自EMC和日立的单个大阵列的存储容量超过4PB。数据迁移速率限制也表明PB量级的数据迁移将花费很长时间来传输,在此期间,必须保证对生产应用没有或者很小的性能影响。
成本。数据迁移需要认真规划,并有效执行,从项目经理到存储架构师、应用开发者,都需要随时验证数据迁移成功完成与否。在迁移中也有成本,需要维护设备。所以,迁移所需时间越长,保持额外复制硬件的成本就越高。
当然,以上的这些问题仅仅影响设备到设备间的数据迁移。把应用或者数据移动到公共云上的这种数据迁移所遇到的问题就不同了。如果公司基于新的技术比如Hadoop构建大数据池,这种情况下的数据迁移还需要考虑其他问题。很明显,不同企业间的数据迁移也是个问题。
***,任何数据迁移策略的目的都是提高数据移动性。镇对上面已经讨论的宽泛的迁移类别,我们接下来就分析一些迁移技术和架构设计以其帮助我们解决一些常见的迁移问题。
阵列间迁移
数据迁移里最常见的一个需求就是在存储阵列间或者存储设备间移动数据。目前我们考虑块级别的协议数据的迁移,一般的方法有:
基于主机的迁移。数据在主机级别进行移动,通过卷到卷的数据拷贝进行,其中旧卷和新卷属于主机。拷贝过程可能很基础(比如工具Robocopy),也可能很复杂(使用逻辑卷管理器等)。基于主机的迁移提供了一个再次布局数据的机会 。
基于阵列的数据迁移。利用阵列级数据迁移工具在阵列间进行数据迁移。对于一致性传输(源和目标设备都是同一个厂商或者相同型号),可以使用原生的复制工具,尽管有一些限制。异质迁移就复杂了,虽然有一些工具比如EMC的Open Migrator或者HP 3PAR的Online Import 允许第三方存储阵列导入数据到自己的阵列中。
基于虚拟机监视器的数据迁移。服务器虚拟化的好处之一是增加了如VMware的 vSphere Storage vMotion和Mirosoft的Hyper-V Live Migration,即在线迁移虚拟机功能。这些工具可以实现虚拟机在不同存储阵列间的迁移,它提供了一个附加的好处,即能够实现跨协议数据迁移,例如在 vSphere情况下,可以从块协议迁移到NFS。采用虚拟机监视器进行数据迁移需要授权成本,但也确实减少了大量的数据迁移的运维问题。
基于虚拟化设施的数据迁移。进行数据迁移的一种高效方式是利用设施,比如IBM的SAN Volume Controller或EMC的 VPLEX,抽象主机的存储。这些产品虚拟化主机的底层存储阵列,提供了迁移工具,在不同物理位置间迁移数据,同时保持逻辑数据可用,对主机不造成影响。在数据路径中安装这个设施有可能需要业务暂停;在许多情况下,相对移动数据的时间,中断时间很小。许多IT部门选择***的运行虚拟化设施,使其处于就绪状态,这能够实现无缝管理未来的数据迁移,以及为了满足容量和性能需要而进行的数据再平衡。
基于虚拟磁盘阵列的数据迁移。日立的 Virtual Storage Platform的***版本G1000,提供一个可以虚拟化外部存储并在阵列间无缝迁移数据的功能。这使得虚拟化设施功能更进一步,允许数据移动到阵列中,并在一致性阵列间迁移而不需业务暂停。 G1000(HP的OEM版本是XP7)是个很独特的产品,因为它可以在两个单独的磁盘阵列间迁移数据而没有宕机时间,而且如果数据已经驻留在 G1000,进行数据迁移将不需要任何的业务暂停。
文件到文件级别的迁移
采用基于文件协议的数据迁移相当复杂。在大多数情况下,数据迁移的主要问题不是数据的传输,而是在迁移过程中和迁移后,不改变数据的逻辑位置而使数据对用户可用。文件共享名一般映射到服务器名或者UNC地址,这会在数据迁移到一个新的文件服务器后改变。对此,解决方案将是抽象数据位置,作为迁移过程的一部分或者在数据迁移前进行。这可以利用Microsoft’s Distributed File System,它是集成了活动目录的软件解决方案,或者Avere System的FXT filer appliance,一个硬件解决方案。在这两个例子中,使得无缝数据迁移成为可能的是抽象文件共享名和全局命名空间的应用。
迁移对象存储
对象存储越来越流行了,主要作为存档信息和二进制大对象(BLOB)比如媒体和医疗成像的数据存储库。迁移数据到对象存储和迁移出对象存储,都要基于 REST的API。大多数情况下,应用程序需要跟踪记录添加到对象存储中的存储项的一些信息。这意味着当数据在对象存储间进行移动时,应用程序需要知道这些信息。对象存储产品如Cleversafe的object store利用了数据分布方法纠错码在多个硬件组件间存储对象。纠错码的一个优势是通过远距离的物理节点来重建数据,允许对象存储的存储组件替换或者物理的重新更新存储组件位置而不造成数据中断。
迁移数据到公共云
公共云的使用越来越多,需要提供工具迁移数据到云提供商。有许多种迁移场景,包括移动整个虚拟机到云,或者以块或者文件级别移动数据到云。
许多云提供商都提供虚拟机导入功能。例如,亚马逊的VM Import功能允许从已经存在的vSphere, Hyper-V和 Citrix的虚拟机监视器中导入虚拟机镜像。令人失望的是,对可能导入的虚拟机的类型有很多限制;所以更现实的方法是导入数据到新生成的的虚拟机。
Zerto的套装的BC/DR replication 产品允许整个虚拟机迁移到云环境中。这个功能可以作为迁移任务,用来迁移整个虚拟机而不是仅仅作为备份工具。
利用云网关设施比如Nasuni和Avere 系统,基于文件的数据可以迁移到云中。这两个系统抽象了文件的表示,允许后端存储被这个设施管理。对于Nasuni,网关设施可以是物理服务器或者虚拟机,它具有虚拟文件设施的ID,提供了弹性和最小中断的恢复数据的存取能力。Avere Systems的设施不仅允许数据移动到云,而且可以在本地存储和云间进行复制,具有镜像和数据移动功能。
Mircrsoft的StorSimple平台允许块级别的数据移动到Azure云存储平台,扩展了本地存储资源的容量。Nasuni提供了类似的功能,还有AWS的存储网关。然而,只有亚马逊在其云计算平台里提供了以块存取数据的能力。
横向扩展存储和大数据
当代,云和传统的存储并不是唯一的数据存储平台。为了存储海量数据,出现了横向扩展存储解决方案和数据存储库(有时也叫做数据湖)。
开源平台如Ceph和Gluster,提供横向扩展的文件和块存储能力。其产品目前趋于成熟,数据迁移将会容易的解决。来自SolidFire 和Nimble Storage的横向扩展存储方案实现了集群规模按需增长和缩减。
Hadoop是现在最有名最普及的大数据平台。其内建工具DistCp可以用来在Hadoop集群间进行数据拷贝。当然,Hadoop构建一开始并没有考虑到数据迁移,所以从Hadoop集群里迁移进或移出数据并不像给用户一个文件系统接口或者LUN接口那么简单。
新架构跟新的迁移问题一样需要投入
Facebook 的经验表明,大数据池增长到一定规模,物理数据中心的存储空间就会遇到瓶颈,迁移集群要求大量仔细的规划和努力。在某方面,这个问题会导致我们回到刚才关于数据迁移和存储的讨论上。数据迁移问题早就很好的进行了阐述,解决方案可用,也可以减少成本。然而,相对管理数据迁移,新的存储技术仍然不成熟,而且随着这些新的存储技术变得越来越普遍,大量的精力需要投入。