目录
- 目的
- 实验环境
- 实验步骤
- 参考文档
- 1. 主机安装存储多路径
- 2. v2存储创建Lun,映射给主机;主机分区格式化,写数据
- 3. 将v2存储映射该成映射到v3存储上(v3存储和v2之间链路搭建,测通,远端设备)(SmartVirtualization前置)
- 4. v3存储创建edevlun(SmartVirtualization特性)
- 5. 主机连接v3,v3创建主机、主机组、映射视图
- 6. 主机切换写入路径
- 7. v3存储做Pair对(Smart Migration)
- 8. 迁移v2存储上的预留信息
- 9. v3存储 分裂 Pair对,v2存储删除与主机的映射关系
- 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)
- 上传多路径软件(可以到华为官网下载,本次使用的是UltraPath31.3.0
- 解压UltraPath
unzip OceanStor_UltraPath_31.3.0_CentOS.zip
- 进入目录执行安装脚本(选择系统位于本地安装)
cd CentOS/
sh install.sh
#选择系统安装路径
1
#安装完毕选择重启
Y
2. v2存储创建Lun,映射给主机;主机分区格式化,写数据
略,详细可以看我上一篇笔记:存储实验:Smart Virtualization & Smart Migration 特性实现离线数据迁移
-
存储映射视图
-
主机连接LUN
#连接存储
[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
# 查看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):
- eDevLun的wwn:
5. 主机连接v3,v3创建主机、主机组、映射视图
略
- 主机连接
[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存储映射视图
-
主机测试
# 扫盘
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
# 主机查看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存储(新存储)的命令行进行解决:
- 登录到v3存储后台:
- 查看v3存储上,需要迁移的Lun的编号
#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连接:
[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. 主机测试
[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