Veritas volume replication工作原理 下载本文

随着全球信息化时代的到来,信息数据越来越成为企业关注的焦点,即在各种自然灾害或者人为破坏的情况下,如何保证生产数据的安全和关键业务的不中断运行。传统的保护方法离线备份、备份介质异地保存在一定程度上可以解决上述问题,但为了能够对业务系统提供更高的实时性和可靠性,保证关键业务7x24不中断,应对激烈的市场竞争和提高客户满意度,企业必须在IT系统围绕“连续”(BC)主题进行构建,实施业务连续/容灾备份计划,包括业务连续性、高可用性管理、容灾、数据复制和恢复方案、安全等,下面就对数据复制技术做一个简单的介绍。

根据数据复制运行的位置,可以将数据复制方式分为以下四种:

基于存储(Storage-Based):代表厂商有EMC SRDF、IBM PPRC/GDPS 、HP BusinessCopy、HDS TrueCopy等,特点对主机透明,对应用系统的影响较小,技术成熟,有较多的成功案例,但是投资较大,对网络连接的要求也较高。 基于服务器(Host-based):代表厂商主要是Symantec公司的Veritas Volume Replicator (VVR),是存储卷的复制技术。需要占用主机一定的系统资源。

基于存储交换机(SAN-Based):运行于挂接在存储网络上的专用设备中,代表厂商有CISCO的SANTap,FalconStor IPStor,Topio SANsafe,DataCore SANsymphony, Asynchronous Internet Mirroring (AIM)等。

基于数据库/软件应用 :代表厂商有Oracle DataGuard,Quest SharePlex,IBM-DB2的远程Q复制,SYBASE的复制服务器(Replication Server) 等,这些技术都是对数据逻辑操作的复制,属于逻辑数据复制,而其它3种复制的是数据卷中的数据变化,属于物理数据复制。典型的逻辑数据复制是通过数据库日志实现的,优点是硬件投资小,对生产系统的影响比较小,对主、备用系统的硬件平台没有选择性;可以在广域网范围内使用。但它对数据库系统有严格的要求,并且主、备用系统必须使用相同的数据库版本。

上面介绍的主要的各厂商方案和产品可以参见下图:

本文主要介绍基于主机和逻辑卷的数据复制VVR。

VERITAS的VVR(Veritas Volume Replicator)是用于有效的灾难恢复的数据复制软件,可以连续对应用数据进行一个或者多个的拷贝保护。具有的优点主要有:高性能,距离不限,支持异构的存储和操作系统,对数据的连续保护,支持同步和异步复制。 VVR系统架构如下图:

VVR具有的系统特性如下:

(1) 最高支持32个远程节点,可以通过基于IP的LAN或者WAN网络;

(2) 通过对逻辑卷的同步和异步复制模式,保证数据的完整性和一致性; (3) 确保备用节点和主节点的数据具有相同的写入顺序; (4) 支持对网络带宽的管理和定义,支持多链路的连接;

(5) 支持对备用节点的脱机操作,以便在备用节点进行查询(例如DSS决策支持系统)或者数据备份;

(6) 易管理:同时支持命令行和图形界面(VEA);

(7) 主备节点之间支持多种异构存储; (8) 支持不同操作系统平台之间的复制;(注:在本文中,因为设计到Oracle数据库的复制,所以主备操作系统必须同一类型,比如必须都是Solaris平台,版本完全相同的Oracle版本) (9) 支持主流关系数据库系统,包括Oracle,DB2,Sybase和Informix,数据文件的存放格式包括逻辑卷(裸设备)或者文件系统;

(10) 支持共享的集群环境中的逻辑卷复制,比如Oracle RAC (Real Application Clusters) (注:本文中采用的是单节点Oracle复制);

(11) 支持Veritas volume set;

(12) 支持PDC (Portable Data Container)环境的数据复制;

VVR数据复制系统主要由下面五个组件组成: ■ Replicated Volume Group (RVG) 复制卷组

RVG是位于VxVM 磁盘组(DG)内的一组逻辑卷,RVG隶属于磁盘组的一部分,通过定义这些逻辑卷,

应用对逻辑卷的写操作都可以保持以主节点上同样的顺序,来写到备用节点上。

对于多数数据库系统来说,都是由一些特定的进程完成对磁盘的写操作,比如Oracle系统中的LOWR

和DBWR进程,而这些写操作总是依照着一定顺序,从而来保证实例恢复中数据的一致和完整。比如

数据库变化通常在写入日志文件后才会写入数据文件,所以当日志文件和数据文件属于要复制的不同

逻辑卷的时候,它们必须被定义到同一组RVG中。 每组RVG最多可以包括2048个数据卷。 下面介绍SRL和RLINK,它们也包括在RVG中。 ■ Storage Replicator Log (SRL)

SRL用于记录RVG中数据写操作的日志,并循环被使用。每个RVG包括一个SRL。数据在写入RVG中的卷之前,首先要写到主节点的SRL中。

从VxVM的角度来看,SRL是一个单独的卷,因为所有的写操作首先要写到SRL中,这个卷需要有较好的写性能,所以多数情况下需要对这个卷进行条带化,并且在不同的盘上mirror以保护数据,同时数据卷和SRL卷最好分布在不同的物理磁盘上以得到更好的性能。 不允许人工直接对SRL进行访问。 ■ Replication Link—RLINK

用于连接主RVG和备用RVG之间的一个“链接”,一个主的RVG最多可以有32个RLINK。可以定义RLINK

的多个属性来调整数据复制的参数,比如指定复制的网络。 ■ Data Change Map (DCM) ■ Replicated Data Set (RDS)

一个RDS包括了所有的主节点和备用节点的复制卷组(RVG)。RDS不是一个具体存在的对象,而是一个VVR复制技术中的一个概念。

在异步模式下VVR的数据复制和数据流向

在同步模式下VVR的数据复制和数据流向

另外,VVR是Veritas Volume Manager (VxVM)的一个单独的option,需要单独的license。

Veritas Volume Replicator 的安装

主备节点硬件和软件配置和版本如下: 主节点 机器名:lxsfrac01

Sun Microsystems Sun Fire X4100 Server 操作系统 solaris10u4 x86_64

VVR版本: Veritas Volume Replicator 5.0 GA Oracle 版本: Oracle 10gR2 Enterprise Edition 磁盘阵列:SAN/ HDS AMS 1000

Public网卡:e1000g0 私有(复制)网卡:e1000g1 备用节点机器名:lxsfrac02 软硬件环境与主节点相同

两个节点分别安装VVR和vxfs,安装方法相同,以lxsfrac02为例:

放入安装介质,一般Solaris都由vold进程自动mount CD,

如果需要手工mount:mount –F hsfs –o ro /dev/dsk/c0t6d0s2 /cdrom

root@lxsfrac02 # cd ./volume_replicator/ root@lxsfrac02 # ls

copyright docs installvvr pkgs release_notes scripts tools uninstallvvr root@lxsfrac02 # ls -l total 24

-rw-r--r-- 1 root root 476 Dec 15 2006 copyright drwxrwxr-x 2 root root 512 Jun 21 10:13 docs -rwxr-xr-x 1 root root 2283 Apr 14 2007 installvvr drwxrwxr-x 3 root root 1024 Jun 21 10:13 pkgs

drwxrwxr-x 2 root root 512 Jun 21 10:13 release_notes drwxrwxr-x 3 root root 512 Jun 21 10:13 scripts drwxrwxr-x 3 root root 512 Jun 21 10:13 tools -rwxr-xr-x 1 root root 2283 Apr 14 2007 uninstallvvr root@lxsfrac02 # ./installvvr lxsfrac02

Veritas Volume Replicator 5.0 Installation Program

Copyright (c) 2007 Symantec Corporation. All rights reserved. Symantec, the Symantec Logo are trademarks or registered trademarks of Symantec Corporation or its affiliates in the U.S. and other countries. Other names may be trademarks of their respective owners.

The Licensed Software and Documentation are deemed to be \