免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4480 | 回复: 7
打印 上一主题 下一主题

不同存储阵列之间的数据迁移[绝对原创] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-04 14:14 |只看该作者 |倒序浏览
最近在回顾以前做过的一些项目,看到前年做的一个数据迁移的项目,觉得比较实用,现在分享给大家:
背景:磁盘阵列替换,需要将数据从老的磁盘阵列中迁移至新的磁盘阵列,磁盘阵列为不同厂家品牌.
主机:HP-UX 11.11
方案要求:将存储A上的数据迁移到存储B上,原卷属性不得更改,并且需要有回退计划.
迁移步骤(下面是按照只有一台主机来进行操作,如果有大量主机的话,则需要写脚本来执行)
我们使用的是HP-UX的mirror软件进行数据迁移:
1. 划分新存储上面的lun,注意lun的大小最好和原来的存储上的lun一样大,因为要做mirror,否则会空间浪费.
2. 将划分好的lun分配到原有的VG组中,注意VG中的MAX PV的大小,当前的pv数必须<=MAX PV的一半,否则新增磁盘将无法加入,如果这样的话,则需要重新建立VG,修改参数。我们在实际操作中,遇到了少量的VG组没有满足条件,因此只能重建。
3、进行卷级的镜像操作:
     # lvextend -m 1 /dev/vg01/lv01 /dev/dsk/cxtxdx (/dev/dsk/cxtxdx 为新存储的lun)
4、等mirror完成后,进行分离。注意,考虑到回退,原卷不能马上删除。
     # lvsplit -s new /dev/vg01/lv01 ( 这步完成后,会形成一个新的卷,叫lv01new,此卷在新的存储上)
5. 此时,lv01在老存储上,lv01new在新的存储上,由于不能更改原卷的名称,因此需要将lv01new更改成lv01,而原lv01则更改成其他名称.
     # umountall -F vxfs
     # vgexport -s -p -v -m vg01.map vg01
     # 修改vg01.map文件,将文件中lv01new改成lv01,而将lv01改成lv01old
     # vgchange -a n vg01
     # vgexport vg01
     # mkdir /dev/vg01
     # mknod /dev/vg01/group c 64 0x010000
     # vgimport -s -m vg01.map vg01
     # vgchange -a y vg01
     # fsck
     # mountall -F vxfs
6. 总结:hp-ux 的mirror工具是一个很好的数据迁移工具,但同时又有诸多限制,特别是VG的参数一旦VG建立好了,要想改,只有重建VG,以前用过vgmodify(HP 内部工具),但发现出错率很高,不保险。另外,一些特殊的lv无法用mirror方式进行迁移,如lv 建立了stripe的方式等。因此,建议大家在使用mirror做迁移的时候,需要事先详细的检查自己目前环境下主机的一些LVM的设置。
VG 参数的一些限制:
MAX PV:该VG组中允许加入最大的PV数,这个在做mirror的时候很关键,如果太小,那无法加入新存储的磁盘。
MAX PE Per Pv :一般默认情况下建立的VG,这个值是按照PV SIZE/PE SIZE得出的,因此如果你加入的磁盘比原存储的磁盘大,那加入VG的时候,也会按照原磁盘的大小来使用,这样会浪费磁盘空间。解决方法,要么重建VG ,要么新磁盘大小=原磁盘大小。
LV STRIPE:那些建立了LV Stripe方式的卷,mirror无法进行迁移,只能通过导磁带的方式了。

以上是自己总结的一些经验,供大家参考!

绘图4.jpg (17.65 KB, 下载次数: 54)

绘图4.jpg

论坛徽章:
0
2 [报告]
发表于 2008-09-10 16:35 |只看该作者
好案例,学习。

论坛徽章:
0
3 [报告]
发表于 2008-09-11 06:09 |只看该作者
谢谢LZ分享

论坛徽章:
0
4 [报告]
发表于 2008-09-11 16:19 |只看该作者
学习学习

论坛徽章:
0
5 [报告]
发表于 2008-09-12 09:02 |只看该作者
现在写原创的东西都没人鼓掌了~~~,伤心啊~~~

论坛徽章:
0
6 [报告]
发表于 2008-09-14 10:52 |只看该作者
顶上去  不错

论坛徽章:
0
7 [报告]
发表于 2008-09-14 19:01 |只看该作者
热烈鼓掌,谢谢分享!

论坛徽章:
0
8 [报告]
发表于 2008-09-19 16:26 |只看该作者
写得很好。
有点建议是,在给用户做系统集成的时候,对于raw device 尽量创建软链,这样对数据库而言它只认软链了。

注意的是,针对oracle数据库,在oracle12g以后就不再支持raw device了。

[ 本帖最后由 czyf2001 于 2008-9-19 17:14 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP