Hyper-V Server卸载数据传输(ODX)

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介:

在 SAN 驱动器之间复制和移动文件时,卸载数据传输(ODX)技术可将 CPU 与网络负担卸载给 SAN 硬件。该功能非常适合需要从虚拟机模板库供应新虚拟机的云环境,或触发虚拟磁盘操作后需要复制大量数据的场合,例如虚拟磁盘合并、存储迁移,以及实时迁移。执行这类操作的存储设备必须能够支持卸载(例如支持卸载的 iSCSI、光纤通道 SAN,或 Windows Server 2012 R2 文件服务器),借此 Hyper V 宿主机的处理器可用于处理更多虚拟机负载。

若不使用 ODX,客户可能需要耗费大量网络带宽,并使用大量 CPU 与内存资源才能执行某些与数据有关的任务,例如大文件复制或虚拟机存储迁移。这些任务的操作可能还需要耗费大量时间,就算在高速 10GbE 网络中,任务进行过程中也会导致性能大幅退化。

Windows Server 2012 R2 中的卸载数据传输(ODX)可供您更加充分地利用现有的外部存储阵列,直接在存储阵列间快速移动大文件和虚拟机,并降低宿主机 CPU 与网络带宽的使用率。通过配合支持卸载的 SAN 存储硬件使用,ODX 可在不占用 Hyper-V 宿主机 CPU 资源的情况下通过存储设备执行文件复制操作,由存储设备直接从一个存储位置读取数据,并写入到另一个位置。

ODX 使用基于令牌的机制在智能存储阵列内部或之间读写数据。此时不再需要通过宿主机中转所有数据,只需要在源与目标位置之间复制一个很小的令牌。这种令牌实际上代表了数据的时间点状态。例如,在存储位置(可能是存储阵列内部或之间)复制文件或迁移虚拟机时,复制的实际上是代表虚拟机文件的令牌,因此不再需要通过服务器复制底层数据。在基于令牌的复制操作中,将发生下图所示操作:

clip_image002

在支持 ODX 的 SAN 中,当用户将文件从一个卷复制到另一个卷时,会自动发生下列情况(甚至支持通过资源管理器进行的复制和粘贴操作):

1. 用户使用 Windows 资源管理器、命令行界面,或虚拟机迁移向导复制或移动文件。

2. Windows Server 2012 将该请求自动转换为 ODX(前提是存储阵列支持),并获得代表数据的令牌。

3. 在源服务器与目标服务器之间复制该令牌。

4. 将令牌提交给存储阵列。

5. 存储阵列在内部执行文件复制或移动操作,并为用户显示操作状态。

前提需求

要使用 Hyper-V 对 ODX 的支持,需满足下列条件:

1) Windows Server 2012、Windows Server 2012 R2、Hyper-V Server 2012 或 Hyper-V Server 2012 R2。

2) 虚拟磁盘文件保存在支持 ODX 的硬件上,并通过虚拟 SCSI 设备或直直通磁盘的方式连接到虚拟机。

3) 将 ODX 兼容的光纤通道 LUN 分配到虚拟机的虚拟光纤通道适配器。

4) 连接到虚拟 IDE 接口的 VHD 或 VHDX 虚拟磁盘不支持这种优化,因为集成式开发环境(IDE)不支持 ODX。

1. 要想使用新的ODX技术,首先需要收集有关存储阵列的复制管理器(操作系统)信息,这包括:

1) 复制管理器的名称和版本分别是什么?

2) 复制管理器是否支持 ODX?

3) 复制管理器是否支持来自相同供应商的多个存储阵列之间的 ODX 操作?

4) 不活跃计时器的默认值是多少?这指定计时器过期后复制管理器要等到多长时间才能使闲置的令牌失效。

5) 复制管理器的最大令牌容量是多少?

6) 最佳的传送大小是多少?这指示 Windows 如何发送大小最适宜存储阵列的“读”与“写”命令。

关于ODX本人了解的也不是很多,主要是通过TechNet官网

http://technet.microsoft.com/zh-cn/library/hh831487.aspx

2. 使用一下命令验证想使用的ODX的服务器是否支持ODX技术

以管理员权限查询注册表项以确定筛选器驱动程序是否已选择性加入 ODX 支持

get-itemproperty hklm:\system\currentcontrolset\services\<filtername> -name "SupportedFeatures"

clip_image004

3. 使用以下命令禁用服务器上的 ODX,并在代表性数据传输过程中创建系统性能报告,并建立性能基线

1) 以管理员身份打开 Windows PowerShell 会话

2) 检查目前是否已启用 ODX(它处于默认状态下),操作方法是验证注册表中的 FilterSupportedFeaturesMode 值是否等于 0

get-itemproperty hklm:\system\currentcontrolset\control\filesystem -name "FilterSupportedFeaturesMode"

clip_image006

3) 使用以下命令禁用 ODX 支持

set-itemproperty hklm:\system\currentcontrolset\control\filesystem -name "FilterSupportedFeaturesMode" -value 1

clip_image008

clip_image010

4) 打开服务器管理器,点击右上角工具,选择性能监控器

5) 展开“数据收集器集”和“系统”,右键单击“System Performance系统性能”,然后单击“开始”。性能监控器将花费 60 秒收集数据

clip_image012

6) 展开报告,展开系统,展开System Porformance,点击生成的性能报告,查看CPU 使用率、网络使用率、磁盘字节/秒相关数据

clip_image014

4. 启用ODX并验证性能

1)以管理员身份打开 Windows PowerShell 会话并键入以下命令

set-itemproperty hklm:\system\currentcontrolset\control\filesystem -name "FilterSupportedFeaturesMode" -value 0

clip_image016

2)再次执行上述步骤,展开“数据收集器集”和“系统”,右键单击“System Performance系统性能”,然后单击“开始”。

3)当评估ODX的性能时,应查看在禁用 ODX 时创建的基线的不同之处

a) CPU使用率应较低(仅比数据传输之前略高)。这表明服务器无需管理数据传输。

b) 网络使用率应较低(仅比数据传输之前略高)。这显示数据传输绕过了服务器。

c) 磁盘字节/秒的值应较高。这反映出在阵列或 SAN 内部直接传输的性能有所提高。

clip_image018

启用(或重新启用)ODX,重复基线测试和比较结果。如果ODX符合预期,CPU和网络利用率应该是更低的,因为服务器的CPU和网卡端口不直接处理转移工作;磁盘活动性应该是更高的,因为数据正在更有效地执行磁盘-磁盘(而不是磁盘-服务器-磁盘)。如果结果相反,需要确认ODX是否完全启用并重新检查Windows服务器、存储数组、存储协议和其他需求的配置是否正确。定期重复ODX基线测试,可以发现任何性能恶化迹象,这时可能需要故障诊断,优化或升级。

通过避免服务器干涉直接在存储位置之间移动数据,卸载数据传输提高了存储效率。但ODX支持目前尚不普遍,用户必须考虑硬件和软件兼容性需求。最好是在实验室环境中对ODX配置和性能优势,特别是混合存储阵列硬件或Windows服务器和存储过滤驱动程序的版本等进行测试。制定计划和测试可以避免当存储系统意外被迫返回到非ODX操作时付出昂贵的性能代价。




     本文转自 徐庭 51CTO博客,原文链接:http://blog.51cto.com/ericxuting/1590827,如需转载请自行联系原作者



相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
Client:TSocketConnection 和Server: Scktsrvr关系----压缩数据传输方案
Client:TSocketConnection 和Server: Scktsrvr关系----压缩数据传输方案 一直用SocketConnection和服务端的传输数据在三层数据库中,从来没有注意到它们之间的数据传输,只是想着,管它了,网络的事,前段时间在Delphi中的Demos中发现Demos/Midas/Intrcpt.dpr例子,呵呵,再看了半天的VCL发现可以将Client端发送
1043 0
|
28天前
|
SQL 分布式计算 监控
在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
【2月更文挑战第32天】在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
17 6
|
1月前
|
存储 SQL NoSQL
数据传输DTS同步问题之同步失败如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
|
1月前
|
Cloud Native NoSQL 关系型数据库
数据传输DTS校验问题之校验报错如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
293 0
|
3月前
DTS数据传输延迟可能有多种原因
【1月更文挑战第16天】【1月更文挑战第79篇】DTS数据传输延迟可能有多种原因
54 2
|
3月前
|
NoSQL Redis 数据库
数据传输DTS中金融云跨账号同步Redis,增量校验报错了
【1月更文挑战第16天】【1月更文挑战第80篇】数据传输DTS中金融云跨账号同步Redis,增量校验报错了
64 1
|
4月前
|
弹性计算 关系型数据库 MySQL
数据传输DTS腾讯云上的mysql同步到阿里云上的mysql可以操作吗?
数据传输DTS腾讯云上的mysql同步到阿里云上的mysql可以操作吗?
238 0
|
4月前
|
监控 关系型数据库 MySQL
数据传输DTS腾讯云上的mysql同步到阿里云上的mysql可以操作吗?
数据传输DTS腾讯云上的mysql同步到阿里云上的mysql可以操作吗?
225 0
|
28天前
|
SQL 数据库
在数据传输服务(DTS)中,当SQL数据迁移报告对象名 'dbo.VQD_Rpt_Report' 无效时
【2月更文挑战第32天】在数据传输服务(DTS)中,当SQL数据迁移报告对象名 'dbo.VQD_Rpt_Report' 无效时
11 1
|
1月前
|
监控 数据处理 数据库
数据传输DTS迁移问题之总数与已完成条数不一致如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。

热门文章

最新文章