欢迎光临,这里是 gOxiA=苏繁=SuFan 独立的个人博客。
本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!

logo_winserver2012

Windows Server 2012 使用 SMB 共享存储的实时迁移

live_migration_with_smb_shared_storage

        前几天 gOxiA 与大家分享了“Windows Server 2012 无需共享存储的实时迁移”,当我们了解了无需共享存储的实时迁移之后,对于 Windows Server 2012 使用 SMB 共享存储的实时迁移学习和实践起来就更加容易了!还记得之前的迁移过程中有一个步骤是让我们选择要移动的虚拟机项目吗?!其中“仅移动虚拟机”这个选项就是基于共享存储的实时迁移。

5

        既然是使用共享存储的实时迁移,那么文件共享是必须具备的前提条件,需要注意的是虽然是文件共享,但是我们必须使用基于 SMB 3.0 协议的文件共享服务器,大家可参考上一篇日志“Windows Server 2012 Hyper-V over SMB”进行准备工作。

        测试环境大致说明,两台 Hyper-V 主机已经加入到活动目录(AD),并在名为 Hyper-V 的主机上启用了 SMB 共享,为了确保使用 SMB 共享存储的实时迁移正常工作,我们需要做 Kerberos 委派,与“Windows Server 2012 无需共享存储的实时迁移”中提到的委派设置相同,添加 CIFS 委派即可,否则就会 出现如下图一样的错误。

12

        由于 SMB 共享是建立在一台 Hyper-V 主机上的,所以我们需要特别设置一下共享权限,将目录权限和共享权限都添加 everyone 有完全控制权限,否则在迁移时会出现错误,如下图所示。

13

        因为本机在访问位于本机共享资源的UNC时,会使用 user 权限进行验证,如果按照“Windows Server 2012 Hyper-V over SMB”中推荐的安全规范进行设置,会导致主机访问共享失败。

        一切准备就绪后,就可以开始迁移了,在 Hyper-V 移动向导过程中选择“仅移动虚拟机”,过程就是这么简单!对于此类的实时迁移,因为虚机的磁盘文件(VHD)始终位于基于 SMB 3.0 的文件服务器上,虚机的迁移只是将运行状态从一台主机迁移到另一台主机,当然 SMB 存储的链接也会被迁移过去,但是 VHD是绝不会被移动的。

5

logo_winserver2012

Windows Server 2012 Hyper-V over SMB

        Windows Server 2012 Hyper-V over SMB,即:基于 SMB 的 Hyper-V,简单理解就是将 Hyper-V 的配置文件、虚拟磁盘(VHD)、快照等文件以共享文件存储的方式来进行存储和使用。要实现这一特性,需要使用 Windows Server 2012 的 SMB 3.0 文件共享作为 Hyper-V 的共享存储器。

        Hyper-V over SMB 的主要优势:

  • 易于设置和管理,基于文件共享方式相比较专用的存储结构和LUN,更加容易设置和管理。  
  • 较高的灵活性,Hyper-V over SMB 同样支持 Windows Server 2012 Hyper 的实时迁移技术。  
  • 减少成本投资,因为无需专用存储,所以我们可以依靠 SMB 在现有的网络上为 Hyper-V 部署存储,不仅减少了在设备上投资,而且无需专门的存储知识。

        要部署 Hyper-V over SMB,我们必须了解其必备的条件!AD(Active Directory 活动目录)作为基础架构是必须的,但是 DC 不需要运行 Windows Server 2012 系统;Hyper-V 主机必须是 Windows Server 2012 系统;对于文件服务器,除了 Windows Server 2012 以外,还可以选择支持 SMB 3.0 协议的非 Microsoft 文件服务器。常见的部署方式有三种:

hyper-v_over_smb

        主要区别就是 SMB 服务器的节点数量,对于测试和实验这类的非生产环境,我们可以使用单节点文件服务器的部署结构,对于要求高的则可以使用多节点或带有群集功能的文件服务器结构。在微软官方的手册中明确说明 Hyper-V over SMB 不支持回环配置,就是说不支持将 Hyper-V 主机节点用于存储服务器,但是在 gOxiA 测试“使用 SMB 共享存储的实时迁移”时还是仅使用了两台 Hyper-V 主机实现了 Hyper-V over SMB,不过也仅局限于测试,因为我们需要将共享存储的安全性降到最低,这样一来此种方式的部署则会显得没有任何意义,如果你当前的测试环境设备比较紧张,也可以尝试!只需要将共享目录的共享权限设置为:everyone 有完全控制的权限;同时目录安全性配置也配置为:everyone 有完全控制的权限。

        在开始 Hyper-V oever SMB 实践之前请再确认一下测试环境的准备情况,以 gOxiA 为例:一台 DC;两台 Hyper-V 主机,都加到 AD 并安装了文件共享服务。

image

        首先,使用 ADUC 创建两个组“HyperVHosts”和“HyperVAdmins”,将两台 Hyper-V 主机添加到“HyperVHosts”组,将用于管理 Hyper-V 的账号添加到“HyperVAdmins”,这样做是出于安全管理规范考虑,当然如果是测试环境,可以暂不考虑安全配置。

         然后,通过服务器管理器打开共享管理,并添加“SMB 共享 - 应用程序”类型的共享。

1

        在“共享位置”配置中,选择我们要存储虚拟机文件的卷,如:“E:”;“共享名称”设置中,在“共享名称”框中输入共享名,如:“SMB”,默认向导会在 E盘下自动创建一个 Share 目录,同时在其下创建 SMB 子目录,并将其设为共享,如:“hyper-vsmb”;“其他设置”选项中保持默认即可。

2

3

4

        之后进入权限设置,根据实际的情况,我们需要重新自定义权限,以确保 Hyper-V主机以及相关用户有适当的访问权限。

5

在“权限”选项中,首先禁用继承,并添加 Hyper-V 主机对该目录有完全控制权限,如下图所示:

6

        再切换到“共享”选项,添加 Hyper-V 主机和 Hyper-V 管理用户有完全控制的共享访问权限!注意:在两 Hyper-V 主机节点测试环境下,请将目录权限和共享权限都改为 everypne 有完全控制权限,否则在以后的 SMB 共享存储的实时迁移过程中会出现错误。

7

        完成 SMB 的设置后,我们便可以为 Hyper-V 主机上的虚机添加基于共享文件存储的虚拟磁盘(VHD),如下图所示:

8

9

10

        总结, Hyper-V over SMB 的配置操作其实非常简单,并没有特别需要设置的地方!只需牢记,文件服务器必须是支持 SMB 3.0 的文件服务器,如:Windows Server 2012;Hyper-V 主机必须是 Windows Server 2012 并加入到活动目录(AD),出于安全考虑可以单独创建安全组用于之后的权限分配。之所以要单独拿出来讲一讲,是便于学习下一篇“使用 SMB 共享存储的实时迁移”时,可以给 SMB 共享存储部分有一个参考!

        Hyper-V over SMB 部署的详细文档,可以参考:http://technet.microsoft.com/zh-cn/library/jj134187

logo_winserver2012

HOWTO: 解决 Windows Server 2012 Hyper-V 实时迁移时遇到的 0x80090303 故障

        当我们在测试 Windows Server 2012 Hyper-V 实时迁移(如:无需共享存储的实时迁移)过程中可能会遇到 0x80090303 故障,错误如下图所示:

0x80090303

        具体内容大致为“迁移源上的虚拟机迁移操作失败。无法验证源主机上的连接:指定的目标未知或无法达到(0x80090303)。”由于 0x80090303 故障与之前日志中提到的 0x8009030E 故障极为相似,如果不加注意我们便会按照实时迁移时 kerberos 权限委派的步骤进行排错解决,去为主机委派设置添加“Microsoft Virtual System Migration Service”服务类型。gOxiA 当初就走入了这个误区,当使用 ADUC 为 Hyper-V 主机去做委派时发现在主机委派服务类型中并未找到“Microsoft Virtual System Migration Service”。

        检查 Hyper-V 主机事件日志发现在“应用程序和服务日志”-“Microsoft”-“Windows”-“Hyper-V-VMMS”-“Admin”下记录有错误的事件ID:14050,来源为:Hyper-V-VMMS。具体内容是“无法注册服务主体名称“Microsoft Virtual System Migration Service”。”

image

        此外,还包含其他几个相关的 SPN(服务主体名称)错误日志:“Hyper-V Replica Service”、“Microsoft Virtual Console Service”。之后使用 setspn –l hostname 进行检查,发现当前主机确实缺少这些 SPN,而“Microsoft Virtual System Migration Service”是我们迁移虚机所必须的。

        那么什么是 SPN 呢?!引用一篇微软官方 Blog 的解释:SPN 即“服务主体名称”,是一种名称,唯一标识一个服务实例。用来验证 Kerberos 身份验证的 SPN 的必须正确设置。SPN 是 Active Birectory 属性,但不暴露在 AD 的管理单元。那么 SPN 的作用是什么呢?!gOxiA 推荐这篇微软 Blog http://blogs.technet.com/b/crmchina/archive/2010/01/29/crm-spn.aspx 供大家参考,虽然与 Hyper-V 没有直接关系,但他们之间的概念是相通的,便于我们更好的理解该故障发生的原因。

        要解决该实时迁移过程中遇到的 0x80090303 故障,我们只需要手工在 Hyper-V 主机上对“Microsoft Virtual System Migration Service”进行 SPN 注册即可。为此,我们需要用到 setspn –s spnname/hostname(and FQDN) NetBIOSName 命令行,参考命令行如下:

setspn –s “microsoft virtual system migration service/hv3”hv3

setspn –s “microsoft virtual system migration service/hv3.contoso.com”hv3

        完成“Microsoft Virtual System Migration Service”的 SPN 注册后,我们便可以正常执行实时迁移,0x80090303 故障消失!按理说 SPN 的注册应该是自动的,但是为什么在 gOxiA 的实验环境下出现失败注册,可能跟 DC 是 SBS2011 有关,因为网上能找到类似的故障都是使用的 SBS2011 作为域控。当然也不排除其他可能存在的因素,在微软的 KB2761899 中就提及到了这个事件 ID,如果你也遇到这个问题,并排除 SBS2011 的原因,那么可以参考:http://support.microsoft.com/kb/2761899?wa=wsignin1.0 解决!

        关于 SPN 自动注册失败的原因及解决办法,gOxiA 会继续关注,一有答案便会跟大家分享!目前的办法只有使用 setspn 命令手工注册来解决!

分页: 10/20 第一页 上页 5 6 7 8 9 10 11 12 13 14 下页 最后页 [ 显示模式: 摘要 | 列表 ]