EN 联系我们加入我们
典型案例
您现在的位置:首页 > 典型案例
【案例分享】OpenStack云平台Linux系统数据迁移方案



一、项目背景



客户存储刷新项目是更换老旧存储,为业务系统提供更稳定、高性能的存储环境。本项目中OpenStack云平台存储直接连接到物理机,不便于扩容、数据压缩等管理,为解决这一问题,需将OpenStack云平台存储统一纳入到SVC下进行管理,并对底层老旧存储进行更新。


二、迁移方法



Linux系统在线迁移数据,更新存储,原则是保证用户业务连续性。

1、OpenStack平台操作步骤:

操作系统是Linux系统,磁盘使用通过lvm管理。

a.存储端获取被迁移卷的uuid ,如下图:

image001.png

b.登录到OpenStack平台控制节点,通过Cinder查看Volume信息:

# cinder show Volume-uuid

image002.png

image004.png

c.通过Server_id 查看虚拟机名称、IP、租户:

# nova show vm_uuid

image006.png


返回结果(截图只显示关注部分):

image008.png


d.获取租户信息:

# OpenStack project list|grep tenant_id

image010.png


e.从Web管理端登录,并切换到对应租户下:

image012.png

f.在Instances中通过IP找到对应的虚拟机:

image014.png


g、在Volume中选择新建卷(新建卷与被迁移卷大小一致,类型选择新存储,并挂载在虚拟机上):

image016.png


2、Linux 系统使用lvm管理的数据,利用pvmove做在线迁移

a.登录需迁移的虚拟数据查看pv信息

#pvs

image018.png

此处pv是/dev/vdb, vg是datavg;

#vgs

image020.png

此处vg是datavg。

b.迁移实施(以新增云硬盘/dev/vdd, 将/dev/vdb迁移到vdd上为例)。

lvm管理迁移方法:

1)  新建pv

#pvcreate  /dev/vdd

2)  将pv加入到vg

#vgextend datavg /dev/vdd

3)  数据迁移

#nohup pvmove /dev/vdb /dev/vdd & 

#ctrl + c

注:nohup命令:在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加"&”到命令尾部。

如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。

4)  查看数据迁移

# cat nohup.out

显示为100%,则迁移完成。


三、迁移结果


1、从vg中移除pv(注:务必数据迁移完成后进行此项操作):

# vgreduce   datavg /dev/vdb

2、删除pv:

 #pvremove /dev/vdb

3、从页面上卸载云硬盘。(注:务必确保从pvremove 成功后再卸载,可通过pvs查看pv中是否存在该盘。)


四、经验总结


1、SVC是整个SAN网络的控制器,将整个SAN网络中的各种存储设备整合成一个巨大的“存储池”,用户能够充分利用存储资源并可以按需分配存储空间、性能和功能;

2、此文档适用于操作系统是Linux系统,磁盘使用通过lvm管理,可在线用pvmove迁移本地磁盘、共享存储磁盘的数据,不影响机器的正常运行;

3、如果pvmove被中断(比如宕机),重新不带参数执行pvmove,重启上次最后检查点的任何move进程即可;

4、pvmove执行时,关闭中断窗口后,pvmove进程会被强制杀掉,从而导致lv的状态异常,无法重新进行pvmove和其他lvm镜像增加相关操作,可以通过如下方式修复:使用lvreduce命令:#lvreduce -m 0 lvname

命令执行成功后,lv的状态恢复正常,可继续进行未完成的pvmove操作;

5、一次可运行多个pvmove来迁移不同源PV,需在不同的目录下执行nohup pvmove/旧pv /新pv,这样会在当前目录下生成此pv迁移的进度日志nohup.out。


如欲了解更多,请登录安图特官方网站:www.antute.com.cn

版权所有 安图特(北京)科技有限公司 备案号:京ICP备17074963号-1
技术支持:创世网络