查看原文
其他

某大型保险公司 SVC 存储虚拟化技术实例应用

来自社区交流活动,仅供学习参考,请勿用于商业用途

作者:王帅  资深系统工程师,在存储运维、存储自动化运维开发方面有丰富经验


目 录

1 为何需要存储虚拟化?

2 什么是 SAN 存储虚拟化?

3 存储虚拟化的价值 

4 SAN 虚拟化平台--IBM SVC 

4.1 SVC 硬件架构 

4.2 SVC SAN 组网架构 

4.3 SVC 逻辑架构 

4.4 SVC cache 

5 SVC 存储虚拟化应用示例 

5.1 应用示例 1: 形成统一的存储虚拟化环境 

5.2 应用示例 2:快照/clone 技术 

5.3 应用示例 3:数据保护和卷的在线迁移 

5.3.1 首先介绍一下 SVC  卷 (volume) 的类型 : 

5.3.2 应用示例 3.1: 跨存储的数据迁移和替换 

5.3.3 应用示例 3.2: 存储加入 SVC 虚拟化网关 

5.3.4 应用示例 3.3: 通过 SVC 进行异构存储间的数据迁移 

5.4 应用示例 4:存储虚拟化的扩展性 


1 为何需要存储虚拟化

数据的海量增长,存储设备数量每年都在急增。超过百套不同品牌(HDS、EMC、IBM、HP、NETAPP、HuaWei…)和不同型号。

中、高端 SAN 存储组成了“万国牌”。特别是非核心生产的存储数量和品牌都增加,可存储运维人员还是那几杆枪,运维“万国牌”存储,需要存储管理员同事熟练掌握HDS,EMC,IBM,HP,NETAPP,HuaWei 等中、高端存储日常操作,要都精通几乎成了不可能任务。

存在大量空间容量只有几十 TB 的中端小存储。缺乏统一的管理平台页面,在不同存储间登录切换的耗时耗力就让人懊恼不已。更重要的是单个存储容量盘子小,存储使用率不敢用的太高,导致 used%使用率一直比大容量存储的 used%低不少。累计加起来空间浪费情况十分严重。

各个品牌型号存储复制方案相互间无法兼容,每次都要针对新型号的存储重新开发一套完整的存储复制(copy services)自动化脚本,用来创建测试、开发、生产报表 DB,和进行数据备份。还要同时维护多套存储复制方案,耗时耗力,累到吐血。

每年有超过 1/3 工作量用在数据迁移和存储过保替换上。存储虚拟化前主要采用主机端卷组管理软件数据迁移方案,无法真正意义上做到 online 替换。

存储虚拟化主要为解决以下个问题:

1.  企业级存储复制方案(copy services)选型和平台统一。消除不同品牌型号存储间无法进行快照、clone、数据复制迁移、容灾复制等限制。

2.  存储资源整合和平台统一管理。将一个个“孤岛“存储打通连接,在虚拟化的技术下让这些”孤岛“组成一个大的资源池,对外提供存储服务。减小人员管理运维”万国牌“存储的运营成本,通过统一的管理平台大幅提升运维效率。

3.  便于不同品牌型号存储间的频繁数据迁移和存储过保替换。找寻一种在存储端就能实现 online 数据迁移并让主机和应用无感知的存储迁移解决方案。

4.  业务快速响应的需求,特别是非核心生产环境的大量存储服务交付压力。


2  什么是 SAN 存储虚拟化?

什么是虚拟化?

虚拟化——不受限于物理设备界定及限制的逻辑资源表示

•  在单独物理设备中创建更多的虚拟资源

•  超越单独物理设备界限—整合众多的物理及虚拟资源统一管理

•  活动动态变更及调整信息基础架构

如何存储虚拟化?

•  在物理存储系统和服务器之间增加一个虚拟层,它管理和控制所有存储并对服务器提供存储服务。

•  服务器不直接与存储硬件打交道,存储硬件的增减、调换、分拆、合并对服务器层完全透明。

        -隐藏了复杂程度

        -允许将现有的功能集成使用

        -摆脱了物理容量的局限

块存储虚拟化模型(Block-level virtualization overview):

说明:

Disk Subsystem 即单个独立的磁盘系统,比如传统 SAN 存储阵列。

Disk Subsystem 分盘/空间给虚拟化网关形成 Physical Disk (LUN/Mdisk)。

虚拟化网关将 Physical Disk (LUN/Mdisk) 格式化后创建 虚拟存储池(POOL)。并生成逻辑卷(Logical volume)map 给主机使用。

SVC 的存储虚拟化方案即是(A block-level virtualization solution)。


3  存储虚拟化的价值

根据多年来我司 SAN 存储虚拟化经验,总结如下几条存储虚拟化带来的好处:


4  SAN 虚拟化平台 -- IBM  SVC


4.1  SVC 硬件架构

NODE: SVC 节点

下图中包含 2 个 SVC controller 也叫 SVC node 。是定制化的 X86 服务器。

Node 详细英文解释如下:

Each SVC hardware unit is called a node. The node provides the virtualization for a set of volumes, cache, and copy services functions. The SVC nodes are deployed in pairs (cluster) and multiple pairs make up a clustered system or system. A system can consist of 1 - 4 SVC node pairs. Because the nodes are installed in pairs, each node provides a failover function to its partner node if a node fails.

I/O group: SVC 节点组,由 2 个节点组成,双活架构同时互为主备。

I/O group 详细英文解释如下:

Each pair of SVC nodes is also referred to as an I/O Group. An SVC clustered system can have 1 - 4 I/O Groups.A specific volume is always presented to a host server by a single I/O Group of the system.The I/O Group can be changed.

Cluster/System: SVC 集群,由 2-8 个节点组成。

Cluster/System 详细英文解释如下:

The system or clustered system consists of 1 - 4 I/O Groups. Certain configuration limitations are then set for the individual system. All configuration, monitoring, and service tasks are performed at the system level.

Configuration settings are replicated to all nodes in the system. To facilitate these tasks, a management IP address is set for the system.



一个满配的 SVC 集群 I/O group 和 node 关系图


4.2  SVC SAN 组网架构

说明:

Disk Subsystem 即单个独立的磁盘系统,比如传统 SAN 存储阵列。

Storage Zones: SVC 硬件和后端存储(Disk Subsystem) 间联通的 zone 。

Host Zones: SVC 和前端主机间联通的 zone。

通过 Storage zone 和 host zone 达到前端和后端 SAN 流量隔离的目的。


4.3  SVC 逻辑架构


说明:

Disk Subsystem 即单个独立的磁盘系统,比如传统 SAN 存储阵列,可以是不同品牌不同型号的存储。

Disk Subsystem 分盘/空间给虚拟化网关—SVC Clustered Systems 形成 MD (Manage disk)。

SVC 通过 MD 创建虚拟化存储池 POOL。单个 POOL 里面可以包含不同 Disk Subsystem 的 MD。

在 POOL 的基础上,SVC 存储虚拟化层创建卷(volume)并通过 I/O group map 给主机使用:

•  注意一个 volume 只能被一个 I/O group 进行管理,这个 I/O group 是这个 volume 的 owner I/O group。

•  主机 IO 访问 SVC volume 也是通过 I/O group 进行。

每个 I/O group 由 2 个 SVC node (X86 服务器)组成,这 2 个 node 是双活架构同时互为备份。


4.4  SVC cache

说明:

1.  主机端发起写 IO

2.  SVC – node1 cache 接收到写 IO,并将该 IO mirror 到 SVC-node2 cache

3.  IO 在 SVC-node 2 cache mirror 完成后,SVC 回复(act) 主机写操作完成。

4.  数据由 cache 落盘到 SVC 存储存储。(正常情况下一个卷 volume 只有有个 copy,对卷做 mirror 后产生 copy-2)


5  SVC 存储虚拟化应用示例


5.1  应用示例 1: 形成统一的存储虚拟化环境

将一个个”孤岛”存储设备连接打通,不同品牌和型号的 SAN 存储阵列统一接入 SVC 虚拟化网关,作为 SVC 的”硬盘”。在虚拟化的技术下让这些”孤岛“存储组成一个个大的资源池,对外提供存储服务。有效提升整体环境中存储容量的利用率。

减小人员管理运维”万国牌”存储的运营成本,通过统一的管理平台大幅提升运维效率。



5.2  应用示例 2:快照/clone 技术

通过 SVC 存储虚拟化层对外提供统一的数据复制(Enterprise-level Copy Services functions )功能:比如数据镜像(mirror),快照(flashcopy),克隆(clone),容灾复制等。(不再需要为这些存储单独购软件功能的 license。)

存储虚拟化需求——数据复制说明:

通过 SVC 存储虚拟化对应用提供统一的存储数据复制(Enterprise-level Copy Services functions )服务:

•  通过 SVC flashcopy 快照功能,对 DB 数据库应用进行整体快照复制,创建每日刷新生产报表数据库(每日大数据分析)。

•  通过 SVC flashcopy 快照功能,对 DB 数据库应用进行整体快照复制,创建部署(新版本发布验证)数据库(100%保证部署环境和生产环境一致)。

•  通过 SVC 克隆(clone)卷技术,创建开发、测试数据库应用,并支持按需求随时刷新开发、测试数据库和生产保持一致。

注:这里就不过多介绍容灾复制方案 Metric mirror 和 Global mirror 的示例了,因本人认为这个不是存储虚拟化的优势所在。

说明: SVC 快照技术为 COW(copy-on-write)。


5.3  应用示例 3:数据保护和卷的在线迁移

5.3.1 首先介绍一下 SVC 卷(volume)的类型:

SVC 的卷(volume) map 给主机后,在主机端就看到一个个硬盘了。

•  Striped volume 普通条带卷: 后端存储分 LUN map 给 SVC,SVC 识别到这些 LUN 后将其命名为 Mdisk(manage disk)。多个 Mdisk 组成资源池 POOL。在资源池里面创建跨多个 Mdisk 的 striped volume。

•  Image volume 镜像卷: 后端存储分 LUN map 给 SVC,SVC 识别到这些 LUN 后将其命名为 Mdisk(manage disk)。

此时不将该 Mdisk 加入资源池 POOL。而是通过将这一整个 Mdisk 直接做一个整卷 map 给主机使用。

该模式下后端存储可以收回该 LUN 对 SVC 的 map 关系,之后直接将此 LUN map 给主机使用,其上数据直接可以用。感觉就像是数据盘从 SVC 直接 image 复制到后端存储一样。

Image mode 的英文解释:

Image mode volumes are used to migrate LUNs that were previously mapped directly to host servers over to the control of the SVC. Image mode provides a one-to-one mapping between the logical block addresses (LBAs) between a volume and an MDisk. Image mode volumes have a minimum size of one block (512 bytes) and always occupy at least one extent.

An image mode MDisk is mapped to one, and only one, image mode volume.

The SVC also supports the reverse process, in which a managed mode volume can be migrated to an image mode volume. If a volume is migrated to another MDisk, it is represented as being in managed mode during the migration, and is only represented as an image mode volume after it reaches the state where it is a straight-through mapping.

•  Mirrored volumes: 即对该 volume 做了一份实时的数据镜像 mirror。一般情况下会将镜像 copy 放在在另外一台存储所在的存储池。

5.3.2 应用示例 3.1:跨存储的数据迁移和替换

数据迁移场景 1: 旧的 source 存储(数据源)已经接入 SVC 网关。新的 target 存储(目标) 也已经接入 SVC 网关。将应用数据从旧存储在线(应用无感知)迁移到新存储,迁移完成之后旧存储过保下线。整个过程中主机应用无感知。

数据迁移场景 2: 旧的 source 中端存储(数据源)已经接入 SVC 网关。新的 target FLASH 存储(目标) 也已经接入 SVC 网关。

将应用数据在线(应用无感知)迁移切换到新的 FLASH 存储,完成针对该应用由中端存储到 FLASH 存储的替换升级。

以下是一个数据迁移示例,供参考:

5.3.3 应用示例 3.2:存储加入 SVC 虚拟化网关

将存储接入 SVC 虚拟化网关:

•  source 存储(数据源)已经分盘给主机在使用并未接入 SVC 网关。

•  将旧存储上的盘直接从主机端 unmap 之后 map 给 SVC 网关。

•  SVC 网关将这些盘转换成 image volume 再 map 给主机直接拉起来使用。完成将 source 存储接入 SVC 虚拟化网关的过程。

•  虚拟化完成后可根据需求使用 volume mirror 方式将数据再迁移到其他存储。

注:整个过程需要一次应用停机窗口,并不涉及数据同步和复制。主要是一个对 LUN unmap 和再 map 的过程。并且可以随时停止迁移动作,只要 source 存储将该 LUN 从 SVC 收回然后重新 map 给主机就完成了整个回退操作了。

存储退出 SVC 虚拟网关: 此过程和存储接入 SVC 过程刚好相反,就不过多叙述了哈。

以下是一个将存储接入 SVC 虚拟化网关示例:

5.3.4 应用示例 3.3:通过 SVC 进行异构存储间的数据迁移

异构存储平台间的数据迁移适用场景:

•  Source 存储(EMC VNX5400) 为接入 SVC 虚拟化网关,其上已经生产应用在跑。

•  当前需求仅仅是将该应用数据迁移到新的 target 存储(HDS VSP) ,target 存储不需要进行存储虚拟化。迁移完成后要求应用 IO 直接由新的 target 存储(HDS VSP)来提供。

说明:整个迁移过程需要 2 次应用停机窗口。

利用 SVC 虚拟化网关进行跨平台存储迁移示例如下:


5.4  应用示例 4:存储虚拟化的扩展性

通过扩展虚拟化平台网关的数量来增强前端应用可使用的存储性能

在线扩展虚拟化平台所管理的物理容量(接入更多后端存储)来支持数据的快速增长


欢迎点击阅读原文下载原文档


相关资料:

SVC 高分资料和实用干货 12 篇


长按二维码关注公众号

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存