这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战”
数据迁移(SmartMigration)分为两种:LUN 迁移(SmartMigration for Block)以及FS 迁移(SmartMigration for File),接下来分别来介绍一下这两种方式。
LUN 迁移(SmartMigration for Block)
SmartMigration 特性通过把源 LUN 的数据完整的复制到目标 LUN,在复制过程中采 用源 LUN 和目标 LUN 双写、差异日志记录等技术,复制完成后采用 LUN 信息交换由 目标 LUN 接管源 LUN 业务,实现数据的在线迁移。 实现此过程的两个阶段:
数据同步
- 迁移前,客户需要配置迁移的源 LUN 和目标 LUN。
- 迁移开始时,数据由源 LUN 复制到目标 LUN。
- 主机此时可以继续访问源 LUN。主机写入源 LUN 数据时,系统首先在 DCL (Data Change Log)中记录差异日志。
- 写入的数据同时向源 LUN 和目标 LUN 双写。a. 如果双写成功,系统清除 DCL 上此次写入 LBA 的记录。b. 如果目标 LUN 写失败,存储侧将 DCL 上记录的未同步成功的数据拷贝至目 标 LUN,拷贝结束后返回主机写 I/O 完成; c. 如果源 LUN 写失败,返回主机写 I/O 失败,主机重新下发数据至源 LUN, 但不写入目标 LUN。
LUN 信息交换
具体原理如下图:
由于 LUN 信息交换是瞬时完成的,因此主机无需中断业务,实现了用户无感知情况下 的业务迁移。
FS 迁移(SmartMigration for File)
SmartMigration 特性通过把源 FS 的数据完整的复制到目标 FS,在复制过程中采用源 FS 和目标 FS 双写、差异日志记录等技术,复制完成后采用 FS 信息交换由目标 FS 接 管源 FS 业务,实现数据的在线迁移。FS 的实现过程分为两个阶段:
数据同步
- 在目标存储池创建目标文件系统;
- 将源文件系统的第一个快照的数据全量复制到目标文件系统,在此期间主机写请 求单写源文件系统并记录差异;
- 基于快照比对依次增量同步之后的快照到目标文件系统,每次同步完成后在从端 生成一个和主端名称相同的快照,直至所有快照同步完成,在此期间主机写请求 单写源文件系统并记录差异;
- 拷贝快照同步期间主机 IO 写源文件系统产生的差异数据,在此期间主机写请求双 写源和目标文件系统;
- 同步源文件系统的元数据,在此期间主机写请求双写源和目标文件系统; 6. 同步文件系统的配置信息(配额);
FS 信息交换
具体原理如下图:
由于 FS 信息交换是瞬时完成的,因此主机无需中断业务,实现了用户无感知情况下的 业务迁移。
存储系统中,每个文件系统具有唯一 ID 标识,在业务运行中,主机通过 FS ID 来 挂载,访问文件。要保持主机访问 NAS 文件系统的业务连续,文件系统 ID 在迁 移过程中不能改变。而每个文件系统的数据存放在数据卷中,FS 迁移就是先把数 据迁移到新的一个数据卷中,再将文件系统 ID 指向新的数据卷 ID 的过程。