这个应该各家都有丰富的实践,存储迁移第一要素是保障数据完整性。对于集中式架构的存储来看,如果本身接入存储网关,借助存储网关迁移自然是很理想的方案。下面从应用场景来说一下一些实践过的迁移方案:
1、存储用于数据库场景:可以使用操作系统层面的LVM Mirror(AIX平台则可以用mirrorvg,splitvg等)、类似ORACLE数据库层面的ASM或者ADG迁移;
2、存储用于X86虚拟化场景:可以使用虚拟化平台层面的Storage Vmotion实现;
3、存储用于NAS等非结构化场景:可以用厂商的存储同步复制、异步复制等技术。
收起主要的是存储虚拟化迁移方式,这种方式相对成熟,如果已经采用了存储网关,可以直接利用虚拟化的q在线lun迁移方式,安全方便。如果没有网关,可以将旧存储虚拟化到新存储,这也是存储设备利旧的主要方式。
还有采用数据库和文件迁移方式,在新环境搭建新的新的数据库和文件系统,采用数据库adg方式搭建新库,文件进行恢复。
这个一般来讲是视场景定方案。但总的来说,通过存储虚拟化方式迁移可以实现对业务透明迁移,先把原存储从主机移除(涉及停业务),然后虚拟化方式挂接在目标存储后端,之后新存储映射给主机后,恢复业务,后续就是存储后端的在线迁移了。如果不用存储侧的迁移方案,比如说业务场景是oracle数据库,使用的是asm,那么可以用磁盘组扩容和缩容的方式,通过磁盘组在线rebalance实现数据迁移。对于lvm vg的场景可以采用mirrorvg/unmirrorvg的方式来迁移。也可以灵活使用migratepv基于单个磁盘的数据迁移方案。总之,在做数据迁移方案选择时,最重要的是数据安全,包括迁移前,迁移过程中和迁移过程后,迁移前做好方案的编制和评估,过程中做好数据迁移监控,过程后对原数据要做好留存,以便快速回退。
收起1,存储层方案:使用存储设备或者存储网关设备的复制功能进行数据迁移
2,虚拟化层方案:使用虚拟化平台迁移功能例如VMware的storage vmotion,容灾复制等功能进行数据迁移
3,操作系统层方案:使用lvm建立镜像拆除镜像功能就行数据迁移
4,数据库层方案:使用数据库备份恢复,数据库复制等技术就行数据迁移
5,应用层方案:由研发团队根据应用业务逻辑设计数据迁移方案
存储层方案:SAN存储可以通过lun镜像拷贝,NAS存储可以snapMirror,原理上就是先同步拷贝数据,再拆除数据拷贝关系,一般来说,迁移效率最高;
服务器层方案:物理机可以做磁盘对磁盘拷贝,VMware可以虚拟机做迁移存储的VMotion;
操作系统层方案:在操作系统层做LVM镜像;
应用层方案:数据库可以做ADG,OGG等数据复制,文件目录可以使用rsync工具同步,基于备份软件的备份复制方案,基本是把源数据读出来,再拷贝到目的存储上,一般花费时间最长。
这些方案各有侧重点,可以从迁移效率,停机或在线迁移,迁移安全性等多个方面评估选择方案。
聊几个自己做过的,不停机,或极短停机的:
1. 基于存储的,用v7000的vdm做迁移,其他厂商也有类似的。好处的停机时间短,改下拓扑映射后面就可以在线做了
2. 基于os的,前些年的aix lvm,不需要停机,完全在线做。
3. 基于VMware的storage vmotion,也是不停机的迁移。
4. Oracle数据库,使用asm添加删除磁盘的方式,也是做了在线迁移,选了业务低峰时段做的
5. 基于复制技术的,ogg
其他停机时间长的:
基于备份软件或手工的备份恢复;跨平台数据库的导入导出。
1、通过存储自身能力,例如lun拷贝,存储网关拷贝等;
2、通过应用软件自身的拷贝和迁移,例如数据库ADG,vmware VDR等;
3、通过操作系统进行vg镜像,lv mirror等;
4、离线备份恢复,例如nbu