存储数据迁移方案
随着计算机技术和网络技术的飞速发展和在各个领域中广泛应用。近几年来由于计算机的数据信息成爆炸性的增长,几乎所有的企业均面临海量数据存储的需要。而在真正要部署一个能无限满足企业数据存储需要的存储解决方案是一项非常专业技术,因为这需要预算企业每天的存储增长的同时还要考虑到存储的可扩展性和可用性。数据迁移分级存储管理技术正是在这样情况下应运而生得。而分级存储管理技术的发展大致经历了两个历程。第一个历程也就是采用最传统人工手动方法进行数据的迁移和调度,具体方法如下:将不常用的数据按照一定的人工策略迁移至其它存储设备,如大容量的磁带库和磁带机中。这种方法对于专业化的网络数据管理来说,具有安全可靠的优点。然而,将数据从非在线设备(大容量磁带库)迁移回到在线设备(硬盘)时,需要有专业网管人士进行操作。第二个阶段就是现在的智能的分级存储管理技术。这种技术是实现计算机系统大容量存储数据的方法之一。它将高速、高容量的非在线存储设备(如大容量磁带库)作为硬盘的下一级设备,然后将硬盘中常用的数据按指定的策略自动迁移到磁带库等二级大容量存储设备上。当需要使用这些数据时,分级存储系统会自动将这些数据从后级存储设备调回到硬盘上。对于用户来说,上述数据迁移操作完全是透明的。用户可能会感到访问硬盘的速度稍慢一点,但会明显感觉其逻辑硬盘的容量大大提高。相对传统的数据管理模式,这种技术的解决方案所带来的优势是显而易见的。
我们提供分级存储技术为各企业提供性能卓越存储解决方案,该方案能提供在有限的存储投资下满足海量的数据存储需求,同时也使得系统整体容灾能力。
方案简介
从原理上来讲,分级存储是从在线系统上迁移数据的一种方法。文件由数据迁移(HSM)系统选择进行迁移,然后被拷贝到HSM介质上。当文件被正确拷贝后,一个和原文件相同名字的标志文件被创建,但它只占用比原文件小得多的磁盘空间。以后,当用户访问这个标志文件时,HSM系统能将原始文件从正确的介质上恢复过来。
在HSM软件中提供多种的数据迁移的策略,通过高水位、低水位及清除位来作到存储原则的标识,当数据达到高水位时HSM软件则会将数据迁移至二级存储设备中或三级存储设备中直至到底水位时停止,并将在一级存储设备中的存储空间释放出来,但是对于用户是透明的。另外,还可以自己建立相应数据迁移策略,比按文件访问的时间、大小等原则。
在HSM软件中带有介质管理的功能,通过此模块HSM软件可对磁带库、光盘库进行管理从而实现数据的多层复制功能。同样他还提供自动的数据迁移时间按排,实现灵活方便的数据迁移日程控制。
数据迁移系统包括以下几个部分:
数据迁移服务器
数据迁移服务器顾名思义就是负责整个存储网络中数据迁移的服务器。它主要担当整个存储网络中的数据管理员身份,当数据达到某一事先规定的标准时,此服务器便将数据从一级存储设备(磁盘阵列)向下一级存储设备(光盘库和磁带库)复制,并且释放出一级存储设备中的存储空间。同时,此服务器管理所有数据迁移策略的制定和磁带库设备驱动和管理。
存储系统
存储系统按照数据操作层次不同可分为:近线存储系统(系统盘、磁盘阵列)和离线存储系统(光盘库和磁带库)。所谓近线存储就是提供实时的数据存储的设备,它必须始终是在线的。而离线存储系统就是它并不需要提供实时的存储服务,只在某一时刻才涉及数据的存储,这种设备所保存的数据可进行离线管理。
客户端
其实就是在网络中的一台计算机系统。而这台计算机上有许多数据需要通过数据迁移服务器来完成数据从其本地磁盘复制到数据迁移服务器上,并释放其本地磁盘空间。
分级存储的工作
原理是:将所有可移动的存储设备,逻辑捆绑在一起进行管理,它将某个逻辑硬盘与磁带库连在一起,并对该逻辑硬盘实行分级存储。
具体操作时,本方案提供各种数据迁移策略的选择,如自上次访问以来的最短时间、最短文件长度、文件类型、磁带设备容量与硬盘容量的比例等,条件可有复合的选择,在满足条件的前提下,然后,系统会自动进行迁移操作。转移后的文件被用很小的“占位”文件取代,由该占位文件指向原文件被转移后的新位置。因此该文件对于应用和用户仍是可见的。一旦系统接收到对被转移文件的请求,它会从最快捷的途径进行检索,以透明的方式恢复该文件。部分文件高速缓存使应用可以立即访问文件中的某一部分;而同时系统则取回整个文件。
当用户需要访问被迁移文件时,系统会将磁带设备上的相应数据调回到硬盘供用户访问。本方案中,文件系统的备份只需写入被转移文件的占位文件即可。同时,您也可以对系统进行配置,使文件在转移时被写入备份系统。这样,您所有的数据都可以随时恢复,而且备份的速度大大提高。
方案特点
无人值守的自动转移――数据迁移系统不断对关键网络服务器的磁盘存储空间进行监控。当磁盘空间达到预定的饱和度(“高水位”)时,数据迁移软件开始将不常使用的文件转移到二级存储设备中。转移过程持续进行,直至磁盘的占用率达到预定的下限(“低水位”)为止。这时,磁盘空间已足够使用。如果管理员预计在特定时间内将有大量新的数据进入,也可手工启动转移过程。转移后的文件被用很小的“占位”文件取代,由该占位文件指向原文件被转移后的新位置。
灵活的配置――管理员可以利用大量的参数来确定可转移的文件。例如,管理员可选择不对某种关键的文件类型进行转移。其它转移参数包括最短文件长度和自上次访问以来的最短时间等。
对被转移数据的透明访问――在主磁盘上会留下一个占位文件。因此该文件对于应用和用户仍是可见的。一旦数据迁移软件接收到对被转移文件的请求,它会从最快捷的途径进行检索,以透明的方式恢复该文件。部分文件高速缓存 (目前仅适用于UNIX系统)使应用可以立即访问文件中的某一部分;而同时数据迁移软件则取回整个文件。
多层次转移――可以采用光学存储设备和磁带库来创建两层转移方案。文件首先被转移到光学存储系统中。经过一段时间,如果仍未被访问,或光学存储系统已经饱和,则将其转移到磁带库中进行长期存储。利用这种策略,最旧的、访问次数最少的文件仍可保留,且被存放于最经济有效的介质之中。
与基于大型机的存储进行集成――可以利用大型机数据中心被集中维护的存储设备,存储从分布式应用中转移的数据。采用这种配置时,数据迁移服务器本身不需要任何二级存储设备。
与数据备份系统集成,实现更快速的备份――不断增加的存储意味着每次备份工作所耗费的时间越来越长。通过减少每次备份时要写入的数据量,数据迁移系统可以帮助您减少备份的时间。如果与VERITAS的NetBackup和Backup Exec集成,任何文件系统的备份只需写入被转移文件的占位文件即可。同时,您也可以对数据迁移系统进行配置,使文件在转移时被写入备份系统。这样,您所有的数据都可以随时恢复,而且备份的速度大大提高。
ASM是10g版本后oracle大力推荐的一种数据文件存储方式,也是以后的一个重点方向.尽管现在asm在稳定性和一些操作上还存在不少问题,但已经有越来越多的企业把核心系统部署架构到上面.
本文重点不在于探讨ASM的优劣问题,爱青菜与爱白菜的人总有自己的理由支持自己的喜好.
朋友有套系统需要更换存储,数据库文件部署在asm上,需要尽量短的停机时间完成此次存储更换。由于不涉及异构的迁移转换,迁移起来也不难,无需借助三方的工具来完成这次高可用切换.当然,ASM下的一些特性也为我们做迁移提供了更多的选择方案.
针对该环境,列几种选择方案(以下操作都在新存储已挂载在主机上的情况下).
1.利用ASM的热添加和删除磁盘的方式完成存储迁移.
该方案充分发挥了asm管理磁盘数据的能力.
简要步骤:
(1).划分raw或者asm disk,并检查或更改asm参数,例如asm_disktring,使得新存储的asm disk对ASM实例可识别
(2).将新存储disk添加到现有的asm diskgroup中.
SQL>alter diskgroup < asm_group_name > add disk '< asm_disk_path >';
(3).删除旧存储对应的asm disk
SQL>alter diskgroup < asm_group_name > drop disk < asm_disk_name >;
注意:以上2步,通过观察v$$asm_operation视图来判断数据重组的进度,注意删除disk的时候,确保整个diskgroup有足够的空间。如果asm disk比较多,可以一个一个的分步执行减缓系统压力.有点可惜的是,在10g版本中,oracle不支持asm diskgroup冗余类型的转换, 也没有直接提供删除failgroup的方法,否则以添加镜像failgroup的方式来完成这次数据迁移,个人觉得有更强的可控性和更低的风险.
优缺点:
该方案可以实现迁移过程中系统的零停机,但整个操作进度不可控,数据重组过程中我们无法把握进度和风险,如果你对ASM产品足够信任,该方案不失一用
2.利用Switch copy的方式完成存储迁移
Switch copy并不是只能在ASM下才能用,但asm对数据文件的管理使得switch copy变得异常简单,免去了手工输入大量脚本的工作。
简要步骤:
(1).在新存储上创建新的diskgroup
SQL>create diskgroup < asm_group_name > external redundancy disk '< asm_disk_path >';
(2).整库在线backup copy到新diskgroup上
RMAN> backup as copy database format '+< asm_group_name >';
(3).修改参数文件control_files,停db并启动到nomount状态,迁移controlfile到新diskgroup,mount做switch copy
RMAN>restore controlfile from '+< old_asm_diskgroup_name >/...';
RMAN>alter database mount;
RMAN> switch database to copy;
RMAN> recover database;
RMAN>alter database open;
(4).迁移temp和logfile
在新diskgoup上创建新的temp表空间;添加新logfile到新diskgroup,删除旧的temp、logfile.
(5).其他善后
修改db_create_file_dest、db_create_online_log_dest_*、archive_log_dest_*等参数/卸载旧diskgroup等
注意:需要注意保留日志的完整性,从backup copy开始到switch copy这段时间的归档日志/在线日志不能丢失,recover需要这部分日志,recover的时间决定了整个迁移的停机时间.
优缺点:
该方案风险可控,但需要评估从backup copy开始到switch copy这段时间的日志生成量,如果这段时间窗产生了大量的日志(有可能backup过程比较久而且db一直很忙,有很多事务和日志产生,或者 backup之后并不是马上做switch,这期间也产生了很多日志),那势必会增加迁移过程的停机时间.如果这段时间日志生成量有限,整个停机时间也会相当短.
3.一般方法:
利用物理datagurd等.
该方案风险最小,失败最容易回退.操作上整个停机时间一般不会超过10分钟.
SOFTEK TDMF开放系统版本是一个基于网络的卷复制产品,目前可支持Solaris, HP/UX 以及Windows NT/2000 操作系统平台。TDMF 可实现数据交换和数据同步功能,可用于本地应用程序之间,或异地的数据共享以及灾难恢复等。
SOFTEK TDMF 专用于从主系统设备至次系统设备间复制基于磁盘的数据实况,它可以跨越任意支持TCP/IP 的网络连接。数据保持原来的顺序近乎实时地被复制,即使发生硬件故障、自然灾害或人为错误,亦可确保两个系统的一致性。利用checkpoint机制,存放在次系统的某个时间点的数据拷贝,可随时为次系统的应用所读取。这样,用户可对复制的数据机型备份、执行数据分析,或用于启动其他应用,如Web 服务。
当主系统发生故障时,次系统可即时提供对当前关键业务数据的访问。主系统和次系统都必须具备充足的磁盘存储空间和足够的网络带宽以承载数据流。SOFTEK TDMF 可与Solaris 和HP/UX 操作系统所支持的所有磁盘子系统一起运行。不需要修改标准的内核二进制程序,SOFTEK TDMF可兼容UFS、NFS、VxFS、VxVM和其它通用的文件系统、卷管理器、数据库管理系统以及磁盘实用工具。
在UNIX 环境中,每个磁盘按照特定操作系统的要求进行分区和访问。使用SOFTEK TDMF,用户可以轻松执行数据库或文件系统数据的复制。用户所做的只是将这些数据所存放的设备或卷定义到SOFTEK TDMF 的配置中。无需对磁盘重新进行分区或格式化,也不用对文件系统重新进行初始化,甚至不用将数据导入/导出。SOFTEK TDMF 结合了多层恢复软件,以确保用户可以获得对可用数据的无间断访问。SOFTEK TDMF 不会以任何方式篡改或损坏用户数据。与镜像或其他复制系统不同,SOFTEK TDMF 是将有变化的数据连续发送至远程站点,这样,在发生灾难时,可以将数据损失和恢复时间都降低到最小。
该软件产品的一个设计原则是使尽可能地降低数据复制过程对主系统的影响,并提供调节手段,可根据业务需求来分配网络带宽。
SOFTEK TDMF的应用
SOFTEK TDMF 软件是唯一一个定位于计划内和计划外事件的数据管理解决方案。下面简要介绍它的一些应用。
服务器迁移
当从一个数据中心向另一个数据中心进行服务器迁移时,通常的做法是,一边安装和准备目的服务器,而现有的服务器仍继续提供服务。在新的服务器上安装操作系统和应用程序过程中保证无间断的业务运行相对比较容易,然而在数据迁移中,即使是更新频率较低的应用请求,也会导致宕机时间的延长。这其中的过程包括:主服务器停止,将所有数据备份到磁带,将磁带运输到新的数据中心,然后将数据从旧服务器恢复到新服务器中。使用SOFTEK TDMF 可免除这样的宕机时间:TDMF 可将数据复制到新的数据中心,然后持续地将数据更新传送到新的服务器,等待用户进行最终的应用切换。
SOFTEK TDMF 还可大大降低数据迁移中的风险,使用SOFTEK TDMF的迁移方式中,用户可随时执行checkpoint操作,然后对迁移至目的端的数据进行试运行。而且这个过程对生产系统不会有任何影响。
测试
通常在升级新版本的操作系统时,也会相应的要求新的服务器硬件提供支持,例如需要升级网卡,增加内存,有时还可能要更新整套的服务器。传统的操作模式是直接将数据复制到新服务器所连接的新的存储设备上。即使不迁移应用程序,这样的过程也具有相当的风险,需要对生产卷中的数据卷预先进行严格的测试。
使用SOFTEK TDMF,用户可以在进行实际切换操作之前,就可获得完整的生产数据以进行新版本操作系统和应用软件的测试。这在很大程度上降低了应用升级的风险。另外,SOFTEK TDMF 的集成机制允许多个测试同时进行,减小了重新同步数据时对系统的影响。
脱机处理
在业务运行过程中,很少能够宕机进行“卷”一级的数据备份或数据库备份。连续地不断采集大量实时数据也会给系统造成较严重的负担。
SOFTEK TDMF 的“checkpoint”功能可用于与应用程序或基于时间的事件协同,进行数据的瞬时拷贝。这意味着在获得与生产系统数据一致的瞬时拷贝的同时,对生产运行影响极少。得到的数据拷贝可用于那些非常耗费资源的报告程序或数据分析功能,而这些功能一旦运行起来系统就几乎不能再运行别的应用。当备份程序或其它应用程序完成对次系统上的数据的访问时,同位于次系统上的TDMF 记录下的数据更新将迅速释放到TDMF 的目的设备,以保证最新的数据,所有这些过程不会增加任何影响给生产系统。
备份
用于数据分析的瞬时拷贝也可用于生成卷一级或文件级的备份。如果是备份数据库,有标准的数据库备份工具可用于一般的数据库备份。在生产数据出现问题时,可以利用这些备份将对象或数据直接恢复到生产系统中。
SOFTEK TDMF 补充了传统的应用程序级磁带备份。通过使用位于远程服务器上被复制的数据,在备用场所执行磁带备份的同时,主场所的关键业务的资源仍将保持可用。由于SOFTEK TDMF 基于TCP/IP网络进行操作,因此它也简化了生成离线数据拷贝的处理过程。
系统维护
SOFTEK TDMF 可用于临时将数据和应用程序迁移到备用系统,以便对主系统进行正常的系统维护工作,例如:升级操作系统或应用程序软件,增加存储空间和内存,甚至把主系统换成一个全新的型号。
在这种情况下,根据替代服务器运营事件的长短以及更新活动的总量,被升级的服务器的数据可以非常容易地重新保持同步。如果出现数据改变量大的情况,例如升级话费了数天或数周,这时也可以干脆将主系统与备用系统的角色对换。这时,可以执行到新服务器的完全的数据拷贝。
灾难计划及恢复
SOFTEK TDMF 提供了一个简单而又可靠的机制,以实现在远程灾难恢复中心可存有最新的数据拷贝。当与其他灾难恢复产品或程序一起使用时,可极大改善恢复时间,并可提供尽可能新的数据。SOFTEK TDMF 采用经由网络不断传送数据拷贝的方法大大减少了灾难发生时的数据丢失,而且还极大地简化了恢复的操作。同时,对主系统的影响也降至最低,而对网络的影响则可通过可调节的参数来控制。
SOFTEK TDMF体系架构
SOFTEK TDMF 在真正的磁盘设备驱动器或卷管理设备驱动器之上安装了一个特别的设备驱动器,而其在体系架构上位于文件系统或应用程序之下。因此,任何Solaris 或HP/UX 等UNIX 支持的基于磁盘的文件系统,以及那些直接使用裸磁盘设备的应用程序都与SOFTEK TDMF 兼容。SOFTEK TDMF 使用设备驱动器将数据更新同时写入到本地数据设备和内存缓冲中。
SOFTEK TDMF 在主系统上使用一个核心的基于内存的缓冲存储器,记录所有写往本地数据设备的更新。数据写入本地数据设备的同时,同样的信息也会存放到位于物理内核内存的内存缓冲中接着,主镜像进程(PMD)将从内存缓冲中读取条目,并通过网络传送到备用系统上的远程镜像进程(RMD)。PMD 是一个运行在主系统上的后台守护程序,SOFTEK TDMF 将对每个逻辑组创建一个PMD。RMD 是一个负责将通过网络从主系统接收到的数据写入到远程设备的守护进程。远程设备位于次系统,对应主系统上每一个本地数据设备,都有一个远程设备。SOFTEK TDMF 设备提供到一个特定的本地数据设备和其对应的远程设备的映射和管理。用户可定义一组设备作为一个统一的单元,这称为逻辑组。每个逻辑组有各自独立的一对PMD/RMD 进程。
在正常运行期间,数据更新将直接写入备用系统的复制设备。SOFTEK TDMF 不会对数据进行任何形式的转化、篡改和破坏。对于每个逻辑组,在备用系统上配置有相应的日志文件分区目录,它将用来处理传送的数据不是按更新顺序的情况,例如在一个smart refresh 操作期间。如果将这些数据直接应用到复制的设备上,将会使备用系统在一个较短的时间段内处于不可恢复的状态。SOFTEK TDMF 将确保备用系统上的数据总是可恢复的。
此外,在复制设备进入checkpoint 期间,备用日志同样也积极地接收数据更新。checkpoint 允许你将备用卷与SOFTEK TDMF 脱机,使之可用于其他应用的只读访问。在标准配置下,SOFTEK TDMF 将磁盘更新都收集在BAB 中,这个动作与发送这些更新到次系统的动作是独立的。这种模式称为异步模式。这种模式的优点是应用程序仍可获得近乎完全的I/O 性能的基础上,守护进程可最优地使用网络带宽。你也可以配置SOFTEK TDMF 运行在同步模式和半同步模式。
throttle 调节和可调参数
SOFTEK TDMF 包含一个throttle 调节系统,它不断地进行系统的评估,以便可以动态调整其操作,从而将对生产操作的影响降至最低。例如:网络流量的频率和尺寸可动态地调整,白天联机交易时间,发送尺寸小的数据而且发送频率较低,而在此后数小时后发生大批量数据更新时则采用尺寸大的数据块。
此外,SOFTEK TDMF 还有许多可调参数,通过设置这些参数,SOFTEK TDMF 可更贴近业务的需要。例如:一些应用可能要求以接近同步的状态维护被复制的拷贝,而对于其他应用来说却不是那么严格。可调参数使得它们可以控制,以满足应用程序恢复或性能的要求。
共存
为了与外部事件协同,SOFTEK TDMF提供了一系列脚本和API,它们可实现为自动操作事件。例如当一个数据库系统要求一个瞬时拷贝时,通过执行checkpointpre(前)和post(后)脚本,该拷贝可与数据库的停顿保持同步。实际上,这些脚本可用于安装(mount)文件系统、启动诸如报告复制拷贝上的应用程序和备份等的处理。脚本和API 的目标是在与现有系统共存之时,即保持影响最小又提供足够的灵活性。
SOFTEK TDMF 软件是一个与硬件和供应商独立的复制解决方案,它提供了跨越TCP/IP 网络的不间断的数据同步。这对于服务器的移植或集中,对于备份或off-host 处理采用瞬时拷贝,以及灾难恢复等尤为可用。
通过使用杠杆调节和可调参数,使SOFTEK TDMF 对现有的基础设施影响极小,而又具有完善的错误处理及控制能力
本产品也一体化了许多接口和API,这样可与其他应用程序产品交互并与应用程序事件协调行动。
SOFTEK TDMF应用案例
在本案中,多个服务器连接到一个大型的存储器阵列。数据存取非常频繁,数据量也不断增长;系统资源也十分繁忙,而且对系统资源的要求也在增长。存储器阵列已接近其最大容量,因此客户决定将四个大型服务器改为连接到一个新的大型存储器阵列,使得每个服务器能够访问约250Gb 的数据。每台服务器都不允许有长时间的停机时间。
硬件解决方案可从存储器阵列制造商处获得,然而这种解决方案的费用将十分昂贵,而且由于采用低层的微码方法,会使系统停止一段时间。于是,在四个服务器上安装了SOFTEK TDMF。TDMF 也将连接到新的存储器阵列。用TDMF 的术语,即采用了“回路(loopback)”的模式,在这种模式中,本地系统与远程系统的是同一系统。
逐个服务器地进行数据迁移,直到将原阵列上的全部数据都迁移到新的阵列,然后对每台服务器将存储切换到新的阵列。切换期间,停止应用,关闭服务器,配置新阵列,以恢复mount point 和设备名,然后重启服务器。在这种情况下,应用程序的停机时间均不超过一个小时。