370 likes | 524 Views
ä¿¡æ¯å˜å‚¨ä¸Žç®¡ç†. å›½å®¶å¤©æ–‡å° ï¼ˆç§‘æŠ€å¤„ï¼‰ä¿¡æ¯ä¸Žè®¡ç®—ä¸å¿ƒ. 第å三讲. 本地å¤åˆ¶. 主讲人:崔辰州. Copy. å¤åˆ¶æ˜¯æŒ‡åˆ›å»ºæ•°æ®çš„一个完全相åŒçš„副本的过程。 创建生产数æ®çš„一个或者多个副本是ä¿è¯ä¸šåŠ¡è¿žç»æ€§ï¼ˆ BC ï¼‰çš„ä¸€ç§æ–¹å¼ã€‚. Copy. å¤åˆ¶çš„主è¦ç›®çš„æ˜¯ä¿è¯å½“éœ€è¦æ¢å¤æ•°æ®æ—¶ï¼Œç”¨æˆ·èƒ½ä»Žæ£ç¡®çš„地方获得处于æ°å½“状æ€çš„æ•°æ®ï¼Œä»¥æ»¡è¶³æ¢å¤çš„需è¦ã€‚ æ•°æ®å‰¯æœ¬åº”该满足 坿¢å¤æ€§ å’Œ å¯é‡å¯æ€§ çš„è¦æ±‚。 坿¢å¤æ€§æ˜¯æŒ‡å½“æ•°æ®ä¸¢å¤±æˆ–æŸå事件å‘生åŽï¼Œå¯ä»¥åˆ©ç”¨å‰¯æœ¬æŠŠæ•°æ®æ¢å¤åˆ°ç”Ÿäº§å·ã€‚ å¯é‡å¯æ€§æ˜¯æŒ‡å‰¯æœ¬ä¸Šçš„æ•°æ®å¿…é¡»ä¿è¯ä¸€è‡´æ€§ï¼Œè¿™æ˜¯èƒ½å¤Ÿåˆ©ç”¨è¯¥å‰¯æœ¬æ•°æ®é‡å¯ä¸šåŠ¡æ“ä½œçš„å¿…è¦æ¡ä»¶ã€‚. Copy.
E N D
信息存储与管理 国家天文台 (科技处)信息与计算中心
第十三讲 本地复制 主讲人:崔辰州
Copy • 复制是指创建数据的一个完全相同的副本的过程。 • 创建生产数据的一个或者多个副本是保证业务连续性(BC)的一种方式。
Copy • 复制的主要目的是保证当需要恢复数据时,用户能从正确的地方获得处于恰当状态的数据,以满足恢复的需要。 • 数据副本应该满足可恢复性和可重启性的要求。 • 可恢复性是指当数据丢失或损坏事件发生后,可以利用副本把数据恢复到生产卷。 • 可重启性是指副本上的数据必须保证一致性,这是能够利用该副本数据重启业务操作的必要条件。
Copy • 复制可以分成两大类: • 本地复制:在同一个阵列内或者同一个数据中心内复制数据 • 远程复制
复制与备份copy vs. backup • 复制是将某事物通过某种方式制作成相同的一份或多份的行为。 • 在信息技术与数据管理领域,备份指将文件系统或数据库系统中的数据加以复制; 一旦发生灾难或错误操作时,得以方便而及时地恢复系统的有效数据和正常运作。 • 复制是保留原有的文件格式;备份根据备份软件的不同,会被打包成不同的备份文件格式,只能用备份软件恢复过来,不能直接使用。 • 复制是备份的一种方式,你可以通过复制来达到 备份的目的。备份有时候专指通过备份软件来达到保护数据的 方式。备份软件备份的数据的存储格式可能和原来格式不一样,而且也常常这样,他摈弃了文件系统中的格式文件,压缩存储,恢复的时候再给你还原。 • 复制的目的是“用”,备份的目的是“保存”
copy vs. backup • 复制的好处: • 可以快速启动数据而不需要进行恢复,复制主要用于实时要求比较高的系统。但是复制的最大问题是不能保证数据的逻辑性,当源数据出现问题的时候也会把错误复 制到目标数据。 备份的好处: • 可以长期保存,数据可以保存有很多的版本。缺点是备份有专用的格式,必须经过恢复才可用。 • 因此,备份是数据保护的基础,而备份+复制将可以同时提供物理+逻辑的数据安全。
源和目标 • 生产主机 • 源 • 目标/副本
本地副本的用途 • 替代源用于备份 • 使用本地副本进行备份,能够将备份窗口长度大大缩短 • 备份窗口指源可用于数据备份的一段时间 • 快速恢复 • 决策支持活动 • 测试平台 • 数据迁移
数据一致性 • 一致的副本必须保证在创建副本时,主机上缓存的数据已经被恰当地记录到磁盘上。 • 数据一致性是所有复制技术中最基本的要求。 • 复制文件系统的一致性 • 复制数据库的一致性
复制文件系统的一致性 • 如果在创建副本前文件系统已经被卸载,则缓存会被自动写入磁盘,从而能够保证一致性。 • 如果挂载中的文件系统被复制,一些层次的恢复操作(例如fsck or log replay)就需要在副本系统上执行。
数据库复制的一致性 • 复制可以在数据库在线或离线进行 • 离线复制,可以保证一致性 • ARP、宇宙驿站 • 在线复制,数据库的事务将持续地更新数据,数据库上的修改必须被同步到备份复制上 • 大部分数据库支持一定形式的在线备份(热备份) • 热备份模式,日志活动显著增加
热备份的基本顺序 • 首先发起一个数据库检查点,将缓存同步到磁盘,并将数据库切换至热备模式 • 获取PIT时间点(point in time)复制后,数据库脱离热备模式 • 把收集到的日志信息应用到副本 • 当副本被创建时,所有对源设备的写操作必须由副本设备捕获到以保证数据的一致性
另一种保证一致性的方式是保证在创建副本的过程中阻塞所有对源设备的写操作另一种保证一致性的方式是保证在创建副本的过程中阻塞所有对源设备的写操作 • I/O阻塞时间过长则可能导致数据库或应用程序发生超时错误
本地复制技术 • 两种主要技术 • 基于主机 • 文件系统复制 • 基于LVM的复制 • 基于存储 • 全卷镜像 • 基于指针的全卷复制 • 基于指针的虚拟复制
基于主机的本地复制 • 由逻辑卷管理器(LVM)或者文件系统执行本地复制过程 • 基于LVM的复制 • 一个程序写一个逻辑分区其实是通过LVM设备驱动写两个物理分区,也称为LVM镜像 • 镜像支持分离,分离后的数据即可独立使用
LVM复制优缺点 • 优点 • 不依赖于特定的存储设备厂商。通常LVM是操作系统的一部分,无需额外许可便可以部署LVM镜像 • 局限性 • 由于要同时写两个磁盘,给主机的CPU带来了额外的负载,会降低应用程序的性能 • 对镜像进行跟踪修改并执行增量的同步操作也是个问题,所有LVM都不支持增量同步
文件系统快照 • 文件系统快照是一种基于指针的副本,它占用源文件系统使用空间中的一些片段, • 这种快照可以由文件系统或LVM实现 • 当快照创建时,在快照文件系统的元数据中,一个位图(bitmap)和一个块图(blockmap)被创建。 • 位图跟踪记录生产文件系统中被修改的块 • 块图用于指出当访问快照文件系统时所读取数据的准确地址 • 当快照创建后,快照上所有读写操作实际上都是对生产文件系统的数据读取。
基于存储阵列的复制 • 由阵列操作系统执行本地复制过程,在复制过程中不占用主机资源,不会增加本机的负载 • 但会影响IO性能 • 基于存储阵列的复制可以分为: • 全卷镜像 • 基于指针的全卷复制 • 基于指针的虚拟复制
全卷镜像 • 当同步完成后目标可以脱离源,并可用于业务连续性操作 • 经过这种脱离后对源和目标的修改仍可以在预设的粒度上被跟踪,从而实现增量的再同步(从源到目标) • 通常,用位图实现对修改的跟踪,一个位和一个数据块绑定
基于指针的全卷复制 • 可以采用初次访问时复制(CoFA)或全复制模式 • 复制操作激活后,目标立即可用 • 激活的时间点决定了源的PIT副本 • 激活时,源设备上为所有数据创建一个用于保护的位图;指针初始化为将目标上的空数据块映射到源设备相应的原始数据块。之后根据激活的模式,数据从源复制到目标。
初次访问时复制(CoFA) • 当发生如下事件时数据从源复制到目标 • 源上的某个地址第一次被写操作访问 • 目标上某个地址第一次被读或写操作访问 读目标 写目标
基于指针的全复制 • 在后台,源的所有数据都被复制到目标,数据复制和访问无关。若需要访问一个还没有被复制的块,该块将优先复制到目标。
基于指针的全复制与全卷镜像的区别: • 全复制模式,目标激活后立即可用 • 全卷镜像,对目标的访问需要同步完成并脱离源之后 • 两种复制技术都需要目标设备的容量至少和源设备一样大。
基于指针的虚拟复制 • 操作被激活时,目标包含了指向源上的数据位置的指针,任何时候目标都不保存原始的数据,因此目标被称为虚拟副本。 • 激活后第一次写源,该地址的原始数据就被复制到阵列中一处事先定义好的区域,该区域被称为保存区,目标中的指针更新为保存区中的该数据,之后该写操作才更新到源。
基于指针的虚拟复制 写源
激活后第一次写目标时,原始数据从源复制到保存区,指针更新为指向保存区中的数据,在保存区创建原始数据的另一个副本,再将写操作更新到保存区激活后第一次写目标时,原始数据从源复制到保存区,指针更新为指向保存区中的数据,在保存区创建原始数据的另一个副本,再将写操作更新到保存区
读目标时,若所读的块自激活以来未被修改过,则直接从源读取。若修改过,从保存区读取。读目标时,若所读的块自激活以来未被修改过,则直接从源读取。若修改过,从保存区读取。 • 基于指针的虚拟复制采用CoFW技术,后续对源或目标上的同一数据块的写操作不会再触发复制操作。 • 目标上的数据是源上未修改过的数据和保存区数据的结合,源设备不可用则导致目标数据不可用。 • 目标设备的物理容量可以只是源设备的一小部分 • 保存区容量由预期的数据变化量决定
恢复和重启 • 副本可以用于生产设备逻辑损坏时的数据恢复 • 逻辑损坏: • 意外删除 • 错误的数据项 • 对已有数据的错误更新 • ……
生产设备物理损坏时,可以利用最新的副本数据重启生产设备物理损坏时,可以利用最新的副本数据重启 • 使用副本重启应用程序前,应先保护副本 • 全卷副本(全卷复制和基于指针的全复制模式)可以被恢复到原始的源设备或已被替换后的源设备上 • 基于指针的虚拟复制和CoFA模式下的基于指针的全卷复制,副本的访问性依赖于源数据的可访问性。
跟踪源和目标的修改 • 若本地复制的主要目的是为修复操作保持可用的时间点副本,则目标设备不能被修改 • 若是用于非业务连续性的操作,则目标设备可以被修改
克隆 • 数据在后台进行复制,逐磁道的复制,使目标成为源卷的一个克隆 • 属于全卷复制,需要与源相同大小的空间
快照(snapview) • 基于指针,所需空间大小只是源磁盘空间大小的一部分 • 不是生产卷的完整复制,而是在快照创建时间点上源生产卷的逻辑视图
小结 • 本地副本有诸多用途 • 复制是日常操作必须的部分 • 复制消除了备份窗口 • 本地复制 • 基于主机的复制 • 基于阵列的复制 • 使用本地副本的数据冗余保证了高可用性 • 将副本分散到不同站点增强了数据的安全性 • 远程复制
下一讲更精彩 第十四讲 远程复制 储王伟