第九章 经过 SMB 共享虚拟机

 

自 Windows Server 2012 起,微软引入了 SMB 3.0 的概念,经过 SMB 3.0,能够实现不少新的功能,包括咱们介绍过的"SMB 多通道",以及将虚拟机的存储安装在 SMB 3.0 的文件共享服务器上,实现另一种高可用性。 缓存

相对于硬件存储而言,搭建 SMB 的文件共享服务器成本更为低廉。将虚拟机部署在 SMB 3.0 上,能够实现基本等同于 Hyper-V 故障转移群集的效果。 安全

9.1 SMB 3.0 的特性

9.1.1 SMB 3.0 的部署和使用条件

SMB 3.0 是一项新技术,所以在带来新功能的同时,对部署环境和使用条件也有必定的限制。 服务器

  • 部署一个常见的 Active Directory 域环境,对于域中的林和域的功能级别,SMB 3.0 并无硬性要求。
  • 使用 SMB 3.0 的客户端和服务器均必须支持 SMB 3.0。如 Windows Server 2012/2012 R2,Windows 8/8.1。
  • 若是但愿应用于 Hyper-V 主机,则 Hyper-V 角色和 SMB 3.0 角色不能同时存在于一台主机上,SMB 3.0 不支持环回的配置。
  • 可使用非微软的文件共享服务器,但必须一样支持 SMB 3.0

     

9.1.2SMB 3.0 功能

SMB 3.0 相对于 Windows Server 2008 中存在的 SMB 2.0,增长了一些对于 Hyper-V 有用的功能: 加密

  • SMB 透明的故障转移,在 SMB 2.0 中,若是管理员对 SMB 群集进行维护,则客户端会中断链接,用户必须从新链接才能够继续使用服务。而在 SMB 3.0 中,这一状况获得了改变。
  • SMB 多通道,该功能要求客户端和服务器双方都必须支持 SMB 3.0,但其实现的功能也是很是有用的,能够对客户端和服务器之间的流量在不一样网卡之间分流、故障转移。
  • SMB 直通(RDMA),该功能只在 Windows Server 平台上使用,一样该功能要求客户端和服务器均需支持 SMB 3.0,同时须要主机拥有支持 RDMA 的网卡。
  • SMB 加密,在客户端和服务器均支持 SMB 3.0 的前提下,可使用 SMB 3.0 加密功能。

    SMB PowerShell,在 Windows Server 2012 和 Windows8 起,开始引入 SMB PowerShell。须要注意的是,SMB PowerShell 仅支持 Windows Server 2012 以上的操做系统,以前的版本还须要使用 net.exe 或其余 API 进行管理。 spa

9.2 部署 SMB 3.0

 

9.2.1 添加文件服务器角色

首先准备一台 Windows Server 2012 R2 的虚拟机,其 FQDN 为 fs.contoso.com。在生产环境中,为了保证良好的用户体验,可使用物理机来实现。 操作系统

第 1 步,依次打开"服务器管理器"→"添加角色和功能向导",在"安装类型"对话框中勾选"基于角色或基于功能的安装",如图 9-1 所示,点击"下一步"继续。 3d

9-1 添加角色和功能 code

第 2 步,在"服务器选择"对话框,点选所须要添加角色的服务器,如图 9-2 所示,点击"下一步"继续。 对象

9-2 选择须要添加角色的服务器 blog

第 3 步,在"服务器角色"对话框,勾选"文件和 iSCSI 服务"下的"文件服务器",如图 9-3 所示,点击"下一步"继续。

9-3 安装文件服务器角色

第 4 步,功能对话框不勾选任何选项,点击"下一步"进入到"确认"对话框,点击"安装"完成,如图 9-4 所示。

图 9-4 确认安装角色

若是使用 PowerShell 在 fs.contoso.com 本地进行安装,则能够以管理员方式运行 PowerShell,执行如下命令。

Install-WindowsFeature File-Services, FS-FileServer

若是使用 PowerShell 在远程服务器上安装,则可使用以下命令。

Invoke-Command -ComputerName fs -Command{Install-WindowsFeature -Name File-Services, FS-

FileServer }

 

9.2.2 添加共享文件夹

为了将 SMB 3.0 应用于 Hyper-V,还须要建立特定的共享文件夹方可以使用。和普通的共享文件夹应用不一样的是,Hyper-V 访问共享文件夹不是以"用户"的身份去进行访问,而是以"计算机"的身份进行访问,所以在配置共享文件夹时须要进行一些特殊的配置。第 1 步,依次点击"服务器管理器"→"文件和存储服务"→"共享",如图 9-5 所示。

9-5 共享管理界面

第 2 步,在"共享"对话框,点击"任务"按钮,选择"新建共享",启动"新建共享向导"。在"选择配置文件"对话框中,必须点选"SMB 共享-应用程序",仅此配置文件适用于 Hyper-V,如图 9-6 所示,点击"下一步"继续。

9-6 建立"SMB 共享-应用程序"

第 3 步,在"共享位置"对话框,点选"按卷选择"按钮,选择 D 盘,如图 9-7 所示,点击"下一步"继续。

9-7 建立"共享位置"

第 4 步,在"共享名称"对话框,依次输入"共享名称"和"共享描述",此处能够输入中文的名称和描述以方便识别。根据共享名称的不一样,系统会自动在所选的 D 盘下建立"share\共享名称"目录,同时将其共享为"\\服务器名\共享名称"。如图 9-8 所示,点击"下一步"继续。

9-8 建立"共享名称"

第 5 步,在"其余设置"对话框,能够配置"启用基于存取的枚举"、"容许共享缓存"、 "加密数据访问"功能是否开启。因为所选共享配置文件以及本例未安装 BranchCache 功能的缘故,所以上两项功能没法使用,如图 9-9 所示,不勾选任何选项,直接点击"下一步" 继续。

9-9 建立"其余设置"

第 6 步,在"权限"对话框,须要配置可以访问该共享目录的安全权限和共享权限。点击"自定义权限"进入配置界面,如图 9-10 所示。

9-10 建立"其余设置"

第 7 步,在"高级安全设置"对话框,于默认的"权限"选项卡下,点击"添加",如图 9-11 所示。

9-11 添加安全权限

第 8 步,点击"选择主体"按钮,于弹出的"选择用户、计算机、服务帐户或组"对话框中选择"对象类型",如图 9-12 所示。

9-12 选择对象类型

第 9 步,在"对象类型"对话框中,勾选"计算机"对象类型,点击"肯定"返回上一级窗口,如图 9-13 所示。

9-13 选中"计算机"类型

第 10 步,在"选择用户、计算机、服务帐户或组"对话框中,能够输入 hv2.contoso.com 的计算机名,如未进行过第 8-9 步的操做,则默认状况下没法选用计算机帐户。点击"肯定",如图 9-14 所示。

9-14 添加计算机帐户

第 11 步,返回至特定安全主体的权限配置页面,能够对 hv2.contoso.com 对该共享文件夹的访问权限进行设定。此处勾选"彻底控制",点击"肯定"完成配置。如图 9-15 所示。

9-15 为计算机帐户配置权限

第 12 步,依次对 hv3.contoso.com 和 hypervha.contoso.com(群集地址)添加相同的彻底控制权限。原则上有多少台须要访问该目录的计算机,就须要添加多少个共享权限。如图 9-16 所示。

9-16 重复配置计算机安全权限

第 13 步,检查"共享"权限配置是否正确,依次对 hv3.contoso.com 和 hypervha.contoso.com(群集地址)添加相同的彻底控制权限。原则上有多少台须要访问该目录的计算机,就须要添加多少个"共享"权限。如图 9-17 所示。

9-17 重复配置计算机安全权限

第 14 步,在"权限"对话框中,能够检查共享文件夹的安全权限配置是否正确。如图

9-18 所示,点击"下一步"继续。

9-18 检查安全权限的配置第 15 步,在"确认"对话框中,能够检查共享文件夹的总体配置是否正确。如图 9-19 所示,点击"建立"继续。

9-19 检查共享文件夹的总体配置

第 16 步,在"结果"对话框中,耐心等待共享文件夹的建立结束,如图 9-20 所示,点击"关闭"完成配置。

9-20 完成共享文件夹配置

第 17 步,回到"服务器管理器",能够"共享"下看到已建立的文件夹。如图 9-21 所示。

9-21 在服务器管理器中的共享文件夹

第 18 步,在运行中输入\\fs 能够看到已建立的文件夹,右键点击该文件夹,选择"属性",能够看到其安全权限的配置,后续的权限修改也能够在此进行。如图 9-22 所示。

9-22 检查共享文件夹配置

9.3 SMB 3.0 上建立虚拟机

9.3.1 建立虚拟机

完成共享文件夹的建立后,可使用被容许的 Hyper-V 主机将虚拟机建立在该共享文件夹上。

第 1 步,远程登陆 hv2.contoso.com,打开"Hyper-V 管理器",如图 9-23 所示。

9-23 远程的登陆 hv2.contoso.com

第 2 步,经过"新建虚拟机向导"建立虚拟机,在"指定名称和位置"对话框,修改虚拟机的存储位置为上一阶段建立的共享文件夹:"\\fs\Hyper-V 存储共享\",如图 9-24 所示,点击"下一步"继续。

9-24 修改虚拟机存储位置。

第 3 步,依次进行其余配置,完成虚拟机的建立。如图 9-25 所示。

9-25 修改虚拟机存储位置。

第 4 步,在"Hyper-V 管理器"中,右键点击该虚拟机,选择"设置",能够检查该虚拟机的硬盘驱动器设置,可以发现其保存位置也确实在共享文件夹上。如图 9-26 所示。

9-26 检查虚拟机存储位置。

9.3.2 SMB3.0 上建立虚拟机的局限性

以上完成了在 SMB3.0 上建立虚拟机的操做,然而须要注意的是,若是仅仅是完成了以上操做,则只能登录相应的 Hyper-V 主机,方可在共享文件夹上建立虚拟机。如登录 hv2.contoso.com 后,只能在 hv2.contoso.com 上建立虚拟机,而没法使用"Hyper-V管理器" 在 hv3.contoso.com 上建立虚拟机。例如,在 hv1.contoso.com 上打开"Hyper-V 管理器",为 hv2.contoso.com 建立基于共享文件的虚拟机,则会出现以下错误提示,如图 9-27 共享文件夹上建立虚拟机的局限性。

图 9-27 所示。

9.4 权限委派

9.4.1 委派的意义

为了解决 SMB3.0 上建立虚拟机的局限性,须要引入一个新的概念"委派"。"委派"在Windows Server 中拥有久远的历史。其解决的是集中管理的问题,当只有少数的服务器时,服务器管理员能够远程登陆到每一台服务器上,发起相应的操做,服务器和服务器之间经过用户密码或其余凭据进行正常的通讯。如图 1 所示 9-28 所示。

9-28 无需使用委派的场景。

因为 Windows Server 默认只信任"本身"所发起的一些操做。当有人"表明"它进行操做时,默认是不成功的,这也就解释了默认状况下没法使用"Hyper-V 管理器"为其余 Hyper-V 主机建立虚拟机的问题,如图 9-29 所示。

9-29 不委派致使失败的场景。

然而当所须要管理的计算机愈来愈多时,每次都要登陆到相应的计算机去操做显然不现实。此时就须要使用"委派"来解决这个问题,"委派"就比如一个声明,又能够理解为"领导"对"员工"工做的具体指派:"我容许你访问 a 资源和 b 资源,我容许 b 主机访问 c 资源和 d 资源"。委派是域内使用的一种策略,其策略实施不须要被委派方的回应。当实施委派后,就能够进行相似 hv1.contoso.com 上的"Hyper-V 管理器"操做 hv2.contoso.com 或 hv3.contoso.com 这种操做了,如图 9-30 所示。

9-30 委派的场景。

9.4.2 委派的分类

委派分为两种方式,分别是"委派"和"约束委派",顾名思义,委派就是将全部权限都委派给某一台计算机,而约束委派则是将某个或某几个应用的权限委派给某一台计算机。相对而言,约束委派的安全性要更好一些。但操做也稍微复杂一些。本例将以约束委派进行示例进行讲解。

9.4.3 委派的配置

本例要实现的最终目标是,能够在 hv1.contoso.com 上用 "Hyper-V 管理器 " 在 hv2.contoso.com、hv3.contoso.com 以及 hypervha.contoso.com(群集地址)上建立虚拟机。

委派的前提是须要操做计算机处于域环境中,对于非域环境的计算机,没法使用委派功能。

第 1 步,使用域管理员帐号登陆域控制器,打开"Active Directory 用户和计算机",在相应的 OU 下找到须要操做的计算机帐户,本例中专门建立了一个 OU"物理主机",默认状况下,全部计算机帐户位于"Computers"下。如图 9-31 所示。

9-31 打开"Active Directory 用户和计算机"

第 2 步,右键点击须要委派的计算机帐户,选择"属性",如图 9-32 所示。

9-32 选择计算机帐户的属性

第 3 步,在"属性"对话框中,切换至"委派"选项卡,如图 9-33 所示。此处有三个选项:

  • 不信任此计算机来委派:默认值,表示不启用委派。
  • 信任此计算机来委派任何服务(仅 Kerberos):即"委派",表示该计算机拥有"表明"其余计算机的全部权限。相对而言,使用"委派"所需的鼠标点击操做较少,但由于安全风险的缘故,不建议轻易使用。
  • 仅信任此计算机来委派指定的服务:即"约束委派",表示该计算机能够对部分指定的应用或服务拥有"表明"的权限。

图 9-33 委派选项卡

第 4 步,点击"仅信任此计算机来委派指定的服务",默认点选"仅使用 Kerberos"。点击右下角的"添加"按钮。如图 9-34 所示。

9-34 指定"仅信任此计算机来委派指定的服务"

第 5 步,点击"用户或计算机",在弹出的"选择用户或计算机"对话框中,输入 hv2 或 hv2.contoso.com(须要委派的第一台 Hyper-V 主机),如图 9-35 所示,点击"肯定"。

图 9-35 指定需委派的计算机

第 6 步,在弹出的"添加服务"对话框中,能够选择须要添加的各种服务,按下"Ctrl" 键可进行复选。本例中选择 cifs 便可。即表示容许 hv1.contoso.com 对 hv2.contoso.com 进行 cifs(Common Internet File System 通用 Internet 文件系统,即微软自家的 SMB 共享)的相应访问操做。如图 9-36 所示,点击"肯定"。

图 9-36 委派 cifs 服务

第 7 步,除了 hv2.contoso.com 外,还须要依次添加 hv3.contoso.com 和

hypervha.contoso.com 的相应委派权限,以及须要访问的文件共享服务器(fs.contoso.com)的相应委派权限,如图 9-37 所示,点击"肯定"完成约束委派的设置。

9-37 依次添加全部涉及的服务

第 8 步,在生产中,为了后期操做方便,而不局限于只能在 hv1.contoso.com 上管理,能够依次对其余所涉及的 Hyper-V 主机委派相应的权限,如图 9-38 所示。

9-38 依次对全部涉及的 Hyper-V 主机进行相同操做

第 9 步,在"Active Directory 用户和计算机"上完成委派后,策略可能不会即时生效,如遇这种状况,须要重启所涉及的 Hyper-V 主机,并刷新组策略方可生效。

委派生效后,便可解决未配置委派时,没法用"Hyper-V 管理器"远端建立和维护虚拟机的问题。

9.4.4 委派的其余做用

在微软的虚拟化和私有云中,委派还有另外两个重要的做用,经过委派"Hyper-V Replica Service"和"Microsoft Virtual System Migration Service",能够为虚拟化环境带来"实时迁移" 和"Hyper-V 副本"两项重要的功能。配置如图 9-39 所示,若是未正确配置委派,则这两项功能没法使用,和配置 cifs 的委派同理,该操做须要在全部涉及的 Hyper-V 主机上设置。

9-39 配置委派 Hyper-V 副本和实时迁移功能

9.5 小结

本章经过建立 SMB 文件共享和委派,实现了使用"Hyper-V 管理器"将虚拟机建立在共享文件夹上的操做。在 SMB 上建立虚拟机是一种廉价的高可用解决方案,无需企业拥有独立的硬件存储,配置方面也很是简单。经过 SMB 文件共享,能够实现接下来将要介绍的共享实时迁移。

而委派这项操做,尽管并不是实时迁移的必要准备条件。但未配置"Microsoft Virtual System Migration Service"委派的状况下,就必须登陆到目标主机上进行操做,这将会极大的下降工做效率。所以实际的生产活动当中,委派能够说是一项必备条件。

相关文章
相关标签/搜索