存储实验:华为异构存储在线接管与在线数据迁移(Smart Virtualization & Smart Migration 特性)

目录

  • 目的
  • 实验环境
  • 实验步骤
    • 参考文档
    • [1. 主机安装存储多路径](#1. 主机安装存储多路径)
    • [2. v2存储创建Lun,映射给主机;主机分区格式化,写数据](#2. v2存储创建Lun,映射给主机;主机分区格式化,写数据)
    • [3. 将v2存储映射该成映射到v3存储上(v3存储和v2之间链路搭建,测通,远端设备)(SmartVirtualization前置)](#3. 将v2存储映射该成映射到v3存储上(v3存储和v2之间链路搭建,测通,远端设备)(SmartVirtualization前置))
    • [4. v3存储创建edevlun(SmartVirtualization特性)](#4. v3存储创建edevlun(SmartVirtualization特性))
    • [5. 主机连接v3,v3创建主机、主机组、映射视图](#5. 主机连接v3,v3创建主机、主机组、映射视图)
    • [6. 主机切换写入路径](#6. 主机切换写入路径)
    • [7. v3存储做Pair对(Smart Migration)](#7. v3存储做Pair对(Smart Migration))
    • [8. 迁移v2存储上的预留信息](#8. 迁移v2存储上的预留信息)
    • [9. v3存储 分裂 Pair对,v2存储删除与主机的映射关系](#9. v3存储 分裂 Pair对,v2存储删除与主机的映射关系)
    • [10. 主机测试](#10. 主机测试)

目的

实现数据存储从旧存储(Oceanstor V2)迁移至新存储(OceanStor V3)的数据迁移实验。

该实验是在线数据迁移

注意1:该实验依托华为存储Smart特性实现,其他厂商存储具有不同的特性,请仔细阅读产品文档

注意2:该实验以提前确定过迁移前后系统的兼容性情况,遇到真正的异构厂商存储迁移or未知的厂商存储迁移,请阅读兼容性手册询问原厂支持

注意3:数据无小事,涉及到生产请反复验证、备份保证业务连续性和健壮性。

实验环境

主机 网段/IP 作用
Centos8 172.117.0.0/16 运维管理网段,远程连接(可以不配)
Centos8 172.118.0.0/16 存储业务网段,对接存储业务口(仅在ens22上配置该ip即可)
OceanStorV2 172.1.0.41:8088 旧存储管理地址,webPortal
OceanStorV2 172.3.0.41-44 旧存储业务地址,通过172.118.0.0路由连接
OceanStorV3 172.1.0.61:8088 新存储管理地址,webPortal
OceanStorV3 172.3.0.61-64 新存储业务地址,通过172.118.0.0路由连接
vSphere 172.1.0.130 vCenter webui地址,用于启停快照Centos

实验步骤

参考文档

可以参考官方的产品文档,我参考的是OceanStor 5x10系列 产品文档

本次在线接管的步骤在该文档的以下部分:

1. 主机安装存储多路径

本次实验用华为厂商的UltraPath存储多路径

具体的存储多路径实验内容可以看我以前的一片笔记:存储实验:FC-SAN实验与光交配置(GUI&CLI)

  1. 上传多路径软件(可以到华为官网下载,本次使用的是UltraPath31.3.0
  2. 解压UltraPath
shell 复制代码
 unzip OceanStor_UltraPath_31.3.0_CentOS.zip
  1. 进入目录执行安装脚本(选择系统位于本地安装)
bash 复制代码
cd CentOS/
sh install.sh
#选择系统安装路径
1
#安装完毕选择重启
Y

2. v2存储创建Lun,映射给主机;主机分区格式化,写数据

略,详细可以看我上一篇笔记:存储实验:Smart Virtualization & Smart Migration 特性实现离线数据迁移

  • 存储映射视图

  • 主机连接LUN

shell 复制代码
#连接存储
[root@localhost iscsi]# iscsiadm -m discovery -t st -p 172.3.0.41
172.3.0.41:3260,8199 iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41
[root@localhost iscsi]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41, portal: 172.3.0.41,3260]
Login to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41, portal: 172.3.0.41,3260] successful.


# 扫存储LUN
[root@localhost iscsi]# hot_add
Begin to delete LUNs whose mappings do not exist
Begin to delete LUNs whose mappings are changed.
begin scan host0
begin scan host1
begin scan host10
begin scan host11
begin scan host12
....

# 查看硬盘
[root@localhost iscsi]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   20G  0 disk
├─sda1        8:1    0  600M  0 part /boot/efi
├─sda2        8:2    0    1G  0 part /boot
└─sda3        8:3    0 18.4G  0 part
  ├─cl-root 253:0    0 16.4G  0 lvm  /
  └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
sdb           8:16   0    1G  0 disk
up-1        252:1    0    1G  0 disk

# 测试
[root@localhost iscsi]# touch /mysqldata/tes{1..5{
[root@localhost iscsi]# touch /mysqldata/tes{1..5}
[root@localhost iscsi]# ls /mysqldata/
tes1  tes{1..5{  tes2  tes3  tes4  tes5
  • 主机通过多路径视图查看LUN
bash 复制代码
# 查看LUN信息
[root@localhost iscsi]# upadmin
UltraPath CLI #0 >show vlun type=all
--------------------------------------------------------------------------------------------------------------------------------------------------------------
 Vlun ID  Disk      Name                  Lun WWN               Status  Capacity  Ctrl(Own/Work)  Array Name  Dev Lun ID  No. of Paths(Available/Total)
    0     sdb   0816-v2-test  69c37f4100814c0e6d2ddfed0000002b  Normal   1.00GB       0B/0B         wuhan         43                   1/1
--------------------------------------------------------------------------------------------------------------------------------------------------------------


# 查看版本
UltraPath CLI #1 >show version
Software Version   : 31.03.031
Driver   Version   : 31.03.031

# 查看v2存储的SN号,用于下一步创建eDevLUN时使用
UltraPath CLI #2 >show array
-------------------------------------------------------------------------
 Array ID  Array Name        Array SN        Vendor Name  Product Name
    0        wuhan     210235G7KW10F5000012    HUAWEI       S2600T
-------------------------------------------------------------------------

3. 将v2存储映射该成映射到v3存储上(v3存储和v2之间链路搭建,测通,远端设备)(SmartVirtualization前置)

远端设备配置略

  • v2存储新建映射视图,将上一步创建的LUN再次映射给v3存储的存储主机组

4. v3存储创建edevlun(SmartVirtualization特性)

  • v3存储创建eDevLUN

    在这里选用基本伪装即可,不同的伪装用于什么类型的异构也可以在产品文档找到。

不同伪装的使用场景:

在DeviceManager界面创建eDevLUN时,可以设置"接管类型"为"离线"和"在线"。

  • 当设置为"离线"接管时,自动匹配的伪装属性为不伪装。
  • 当设置为"在线"接管时,根据异构存储的类型是华为异构存储或第三方异构存储,自动匹配为基本伪装或第三方伪装接管。当用户需要采用扩展伪装接管时,只能通过CLI命令create lun_takeover general进行接管。

在线接管第三方厂商异构存储系统时,eDevLUN的伪装属性为"第三方",仅支持对应用服务器操作系统自带多路径的环境进行接管操作,并且环境中不能同时存在华为UltraPath、赛门铁克SF DMP和Veritas Storage Foundation等能够接管华为存储系统的多路径软件。同时,只支持部分应用服务器操作系统和集群软件。

  • 观察eDevLun和远端Lun的关系
    • eDevLun的wwn:
    • 远端Lun的wwn(就是v2存储的Lunwwn):

5. 主机连接v3,v3创建主机、主机组、映射视图

  • 主机连接
bash 复制代码
[root@localhost iscsi]# iscsiadm -m discovery -t st -p 172.3.0.61
172.3.0.61:3260,8196 iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61
[root@localhost iscsi]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61, portal: 172.3.0.61,3260]
Login to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61, portal: 172.3.0.61,3260] successful.
  • v3存储映射视图

  • 主机测试

bash 复制代码
# 扫盘
hot_add

# 查看磁盘
[root@localhost iscsi]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   20G  0 disk
├─sda1        8:1    0  600M  0 part /boot/efi
├─sda2        8:2    0    1G  0 part /boot
└─sda3        8:3    0 18.4G  0 part
  ├─cl-root 253:0    0 16.4G  0 lvm  /
  └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
sdb           8:16   0    1G  0 disk
└─sdb1        8:17   0 1023M  0 part /mysqldata
up-1        252:1    0    1G  0 disk

# 进入UltraPath查看,出现两个LUN,分别是不同的存储提供的不同的LUN
[root@localhost iscsi]# upadmin

UltraPath CLI #0 >show vlun type=all
--------------------------------------------------------------------------------------------------------------------------------------------------------------
 Vlun ID  Disk      Name                  Lun WWN               Status  Capacity  Ctrl(Own/Work)  Array Name  Dev Lun ID  No. of Paths(Available/Total)
    0     sdb   0816-v2-test  69c37f4100814c0e6d2ddfed0000002b  Normal   1.00GB       0B/0B         wuhan         43                   1/1
    0     sdb   eDevLUN0816   69c37f4100814c0e6d2ddfed0000002b  Normal   1.00GB       0B/0B           v3         111                   1/1
--------------------------------------------------------------------------------------------------------------------------------------------------------------
UltraPath CLI #1 >show array
-------------------------------------------------------------------------
 Array ID  Array Name        Array SN        Vendor Name  Product Name
    0          v3      2102350BVD10H1000043    HUAWEI       S2600T
    1        wuhan     210235G7KW10F5000012    HUAWEI       S2600T
-------------------------------------------------------------------------
UltraPath CLI #5 >show iostat vlun_id=0 type=all
=====================================================================================
                             IO Performance Information
=====================================================================================
                     IOPS                      KB/S                 response time(ms)
            Total   |Read    |Write   Total   |Read    |Write   Total   |Read    |Write
VLUN 0      0       |0       |0       0       |0       |0       0       |0       |0
Lun  Array 2102350BVD10H1000043
Controller 0A
Path 0     :0       |0       |0       0       |0       |0       0       |0       |0
Lun  Array 210235G7KW10F5000012
Controller 0A
Path 1     :0       |0       |0       0       |0       |0       0       |0       |0

6. 主机切换写入路径

此时其实我们没有做SmartMigration,多路径软件会根据外部和内部LUN自动判定这是一个Migration的vlun

bash 复制代码
# 主机查看migration vlun状态,可以看到vlunid=0的lun上的两个lun wwn都是相同的,都是v2LUN的wwn。
# v3是伪装出的lun
UltraPath CLI #6 >show vlun type=migration
--------------------------------------------------------------------------------------------------------------------------------------------------------------
 Vlun ID  Disk      Name                  Lun WWN               Status  Capacity  Ctrl(Own/Work)  Array Name  Dev Lun ID  No. of Paths(Available/Total)
    0     sdb   eDevLUN0816   69c37f4100814c0e6d2ddfed0000002b  Normal   1.00GB       0B/0B           v3         111                   1/1
    0     sdb   0816-v2-test  69c37f4100814c0e6d2ddfed0000002b  Normal   1.00GB       0B/0B         wuhan         43                   1/1
--------------------------------------------------------------------------------------------------------------------------------------------------------------

UltraPath CLI #7 >show vlun id=0 type=migration
=======================================================
                  VLUN#0 Information                  # 表示虚拟LUN(VLUN)编号为0的相关信息
=======================================================
Disk                  : sdb                          # 指定与此VLUN关联的物理磁盘,设备名为 sdb
Manual IO Suspension  : Off                          # 手动I/O挂起状态,当前处于关闭状态
Aggregation Type      : Migration                    # 聚合类型为迁移,表示涉及数据从一个设备迁移到另一个设备
Aggregation Specific Attribution                     # 描述接下来的聚合相关的具体属性
    IO Direction      : Source                       # I/O方向为源设备,表示数据从此设备读取或迁移出去
    Rollback          : Disable                      # 回滚功能被禁用,意味着无法撤销迁移
Aggregation Member#0 Infomation                      # 表示第一个聚合成员(目标设备)的信息
    Name              : eDevLUN0816                  # 目标设备的名称为 eDevLUN0816
    Status            : Normal                       # 设备状态正常
    Capacity          : 1.00GB                       # 设备容量为1.00GB
    Aggregation Specific Attribution : Target Device # 设备被标记为迁移的目标设备
    LUN WWN           : 69c37f4100814c0e6d2ddfed0000002b  # 逻辑单元号 (LUN) 的全球唯一标识符
    Array Name        : v3                           # 设备所在存储阵列的名称为 v3
    Array SN          : 2102350BVD10H1000043         # 存储阵列的序列号
    Driver            : Vendor-specific(DEFAULT)     # 使用供应商指定的默认驱动程序
    Product Name      : S2600T                       # 存储产品名称为 S2600T
    Vendor Name       : HUAWEI                       # 供应商名称为华为
    Owning Controller : 0B                           # 设备的所属控制器为 0B
    Working Controller: 0B                           # 设备当前工作的控制器为 0B
    Num of Paths      : 1                            # 设备到控制器的路径数为 1
    Controller 0A                                    # 下方列出控制器 0A 的相关信息
    Path 0 [34:0:0:1] (up-0)  : Normal               # 路径0的信息,状态为正常
Aggregation Member#1 Infomation                      # 表示第二个聚合成员(源设备)的信息
    Name              : 0816-v2-test                 # 源设备的名称为 0816-v2-test
    Status            : Normal                       # 设备状态正常
    Capacity          : 1.00GB                       # 设备容量为1.00GB
    Aggregation Specific Attribution : Source Device # 设备被标记为迁移的源设备
    LUN WWN           : 69c37f4100814c0e6d2ddfed0000002b  # 逻辑单元号 (LUN) 的全球唯一标识符
    Array Name        : wuhan                        # 设备所在存储阵列的名称为 wuhan
    Array SN          : 210235G7KW10F5000012         # 存储阵列的序列号
    Driver            : Vendor-specific(DEFAULT)     # 使用供应商指定的默认驱动程序
    Product Name      : S2600T                       # 存储产品名称为 S2600T
    Vendor Name       : HUAWEI                       # 供应商名称为华为
    Owning Controller : 0B                           # 设备的所属控制器为 0B
    Working Controller: 0B                           # 设备当前工作的控制器为 0B
    Num of Paths      : 1                            # 设备到控制器的路径数为 1
    Controller 0A                                    # 下方列出控制器 0A 的相关信息
    Path 1 [33:0:0:1] (up-1)  : Normal               # 路径1的信息,状态为正常
------------------------------------------------------- # 表示信息展示结束

# 切换存储路径
UltraPath CLI #8 >start migration vlun_id=0 direction=target rollback=enable

UltraPath CLI #9 >show path
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Path ID                               Initiator Port                                Array Name  Controller                                   Target Port                                   Path State  Check State  Port Type   Port ID
    0     iqn.1994-05.com.redhat:0816test::3137:322E:3131:382E:342E:3130:3000:0::34      v3          0A      iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61::0    Normal        --         iSCSI    CTE0.A.H0
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Path ID                               Initiator Port                                Array Name  Controller                                  Target Port                                   Path State  Check State  Port Type   Port ID
    1     iqn.1994-05.com.redhat:0816test::3137:322E:3131:382E:342E:3130:3000:0::33    wuhan         0A      iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41::0    Normal        --         iSCSI    ENG0.A1.H0
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

7. v3存储做Pair对(Smart Migration)


8. 迁移v2存储上的预留信息

在上一步中,实际执行到最后会报错:

原因是,还有部分v2存储上的预留信息没有被迁移到v3存储上。

需要登录v3存储(新存储)的命令行进行解决:

  1. 登录到v3存储后台:
  2. 查看v3存储上,需要迁移的Lun的编号
bash 复制代码
#show lun_takeover general命令用于查询存储系统中存在的接管LUN的信息。
xxx:/>show lun_takeover general

  ID   Name                  Pool ID  Capacity  Health Status  Running Status  Type   WWN                               Is Add To Lun Group  DIF Switch  Takeover LUN Type  Takeover LUN WWN
  ---  --------------------  -------  --------  -------------  --------------  -----  --------------------------------  -------------------  ----------  -----------------  --------------------------------
  16   xxx  					0         5.000GB  Normal         Online          Thick  618ded7100c077ff07c9f38400000010  Yes                  No          BASIC              69c37f4100814c0e07c931150000000a
  39   xxx           			2        10.000GB  Normal         Online          Thick  618ded7100c077ff1a0c731d00000027  Yes                  No          BASIC              69c37f4100814c0e18c2fc1e00000014
  40   xxx              		2         5.000GB  Normal         Online          Thick  618ded7100c077ff1a0c739d00000028  Yes                  No          BASIC              69c37f4100814c0e18c3072a00000015
  41   xxx           			2        10.000GB  Normal         Online          Thick  618ded7100c077ff1a0c73d500000029  Yes                  No          BASIC              69c37f4100814c0e18c2fbd200000013
  107  xxx           			0         5.000GB  Normal         Online          Thick  618ded7100c077ff6c6495280000006b  Yes                  No          BASIC              69c37f4100814c0e6c60a1970000002b
  111  eDevLUN0816          	 0         1.000GB  Normal         Online          Thick  618ded7100c077ff6d34652d0000006f  Yes                  No          BASIC              69c37f4100814c0e6d2ddfed0000002b


xxx:/>change protocol service operation_code=relocate operation_object_type=lun_reservation operation_object_id=111
Command executed successfully.

developer:/>change lun_takeover finish_switch_path lun_id=111

至此,重新执行步骤7

9. v3存储 分裂 Pair对,v2存储删除与主机的映射关系



v2存储删除与主机的映射关系略

主机删除与v2存储的iscsi连接:

shell 复制代码
[root@localhost ~]# iscsiadm  -m session
tcp: [1] 172.3.0.41:3260,8199 iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41 (non-flash)
tcp: [2] 172.3.0.61:3260,8196 iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61 (non-flash)

[root@localhost ~]# iscsiadm -m node -u -T iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41
Logging out of session [sid: 3, target: iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41, portal: 172.3.0.41,3260]
Logout of [sid: 3, target: iqn.2006-08.com.huawei:oceanstor:21009c37f4814c0e:icarus:22006:172.3.0.41, portal: 172.3.0.41,3260] successful.

[root@localhost ~]# iscsiadm -m session
tcp: [4] 172.3.0.61:3260,8196 iqn.2006-08.com.huawei:oceanstor:210018ded7c077ff:iqn2006:22003:172.3.0.61 (non-flash)

[root@localhost ~]# upadmin

UltraPath CLI #0 >show array
-------------------------------------------------------------------------
 Array ID  Array Name        Array SN        Vendor Name  Product Name
    0          v3      2102350BVD10H1000043    HUAWEI       S2600T
-------------------------------------------------------------------------

UltraPath CLI #1 >show vlun type=all
-------------------------------------------------------------------------------------------------------------------------------------------------------------
 Vlun ID  Disk     Name                  Lun WWN               Status  Capacity  Ctrl(Own/Work)  Array Name  Dev Lun ID  No. of Paths(Available/Total)
    0     sdb   eDevLUN0816  69c37f4100814c0e6d2ddfed0000002b  Normal   1.00GB       0B/0B           v3         111                   1/1
-------------------------------------------------------------------------------------------------------------------------------------------------------------

10. 主机测试

bash 复制代码
[root@localhost ~]# touch /mysqldata/{1..5}.txt
[root@localhost ~]# ls /mysqldata/
1.txt  2.txt  3.txt  4.txt  5.txt  tes1  tes{1..5{  tes2  tes3  tes4  tes5
相关推荐
逢生博客3 小时前
Mac 搭建仓颉语言开发环境(Cangjie SDK)
macos·华为·鸿蒙
青柠_项目管理4 小时前
PMP证书持有者,在华为、腾讯一般能拿多少薪资?
华为·pmp
小强在此7 小时前
【基于开源鸿蒙(OpenHarmony)的智慧农业综合应用系统】
华为·开源·团队开发·智慧农业·harmonyos·开源鸿蒙
Reuuse9 小时前
【HCIA-Datacom】华为VRP系统
服务器·网络·华为
PlumCarefree10 小时前
基于鸿蒙API10的RTSP播放器(四:沉浸式播放窗口)
华为·harmonyos
中关村科金14 小时前
中关村科金推出得助音视频鸿蒙SDK,助力金融业务系统鸿蒙化提速
华为·音视频·harmonyos
繁依Fanyi14 小时前
828 华为云征文|华为 Flexus 云服务器部署 RustDesk Server,打造自己的远程桌面服务器
运维·服务器·开发语言·人工智能·pytorch·华为·华为云
小强在此17 小时前
基于OpenHarmony(开源鸿蒙)的智慧医疗综合应用系统
华为·开源·团队开发·健康医疗·harmonyos·开源鸿蒙
奔跑的露西ly1 天前
【鸿蒙 HarmonyOS NEXT】popup弹窗
华为·harmonyos
繁依Fanyi1 天前
828华为云征文|华为Flexus云服务器搭建OnlyOffice私有化在线办公套件
服务器·开发语言·前端·python·算法·华为·华为云