(轉載)深入探究 VMM 2012 中基於 SMB 的 Hyper-V 支持

在WindowsServer2012中,Hyper-V添加了在NAS設備託管的網絡共享上存儲虛擬機(VM)資源的功能,您可將其作爲SAN遠程存儲的一種替代方式。WindowsServer2012中的Hyper-V存儲堆棧現在可通過使用SMB協議中的“彈性句柄”功能,來增強這些虛擬機資源從網絡連接斷開的恢復支持。這基本上意味着諸如虛擬機配置文件、ISO文件、VHD文件和VHD快照文件等虛擬機資源現在可存儲於支持SMB2.2+協議的任何遠程SMB文件共享中。

SystemCenter2012VirtualMachineManager(VMM)中基於SMB功能的Hyper-V通過增強管理支持和新增NAS存儲管理的全面支持,進而構建了這一功能。用戶現可通過VMM進行從創建,到修改權限,再到刪除的整個網絡共享生命週期。這些網絡共享可駐留於WindowsServer2012(現已升級爲SMB3.0)文件服務器中,亦可駐留於實施了SMB2.2或更高協議的NAS設備中。就目前而言,VMM可爲支持符合SMI-S要求的存儲提供程序的NAS設備(NetApp和/或EMC)提供支持。

基礎知識

以下是在VMM中管理SMB共享的步驟:

1.添加存儲設備:首個步驟是將存儲設備或Windows文件服務器添加到VMM的管理中。此操作可通過使用構造工作區à存儲\提供程序節點à右鍵單擊並選擇“添加存儲設備”選項完成。爲Windows文件服務器選擇“本機WindowsWMI”,或爲符合SMI-SNAS要求的存儲提供程序選擇“SMI-SCIMXML”。使用對文件服務器具有管理員訪問權限的運行方式帳戶。VMM將使用這一指定的運行方式帳戶來執行今後其他文件共享的管理操作,如創建共享、修改共享權限,以及刪除共享。作爲此操作的一部分,VMM將發現所有位於存儲設備上的現有共享,並將它們添加到VMM管理中。VMM也將定期發現稍後(從WMM帶外)添加到存儲設備上的任何共享,並將其添加到VMM管理中。您也可使用Add-SCStorageProvidercmdlet來從PowerShell命令行添加存儲設備。

圖像

2.創建共享:您也可選擇使用構造工作區à存儲\提供程序節點à從適當的視圖或數據網格中選擇提供程序à選擇功能區操作來創建文件共享在此提供程序上直接創建文件共享。如果用戶指定了一個非位於文件服務器上的本地路徑,那麼VMM將自動爲您添加該路徑。New-SCStorageFileSharecmdlet也可用於從PowerShell命令行創建共享。

圖像

3.將共享註冊到主機或羣集:當共享被添加或發現時,您需要將其註冊到您希望創建可使用文件服務器遠程存儲的虛擬機的任何主機或羣集上。此操作可通過使用構造工作區à選擇主機或羣集à右鍵單擊“屬性”à“存儲”頁面(針對主機)和“文件共享存儲”頁面(針對羣集)à選擇“添加文件共享”選項完成。作爲此操作中的一部分,VMM將修改共享針對Hyper-V主機的必要權限,以訪問存儲。“我何時應手動修改共享的權限”部分提供了有關這些權限的額外詳細信息。Register-SCStorageFileSharecmdlet也可用於從PowerShell命令行註冊共享。

圖像

4.在SMB共享上創建包含虛擬機資源的虛擬機實例:當共享被註冊到主機或羣集後,您可將虛擬機VHD和/或虛擬機資源存儲於此共享上。在新虛擬機創建嚮導中,您可在“配置設置”頁面中選擇一個SMB共享:

a.您可選擇將所有虛擬機文件存儲於SMB共享上。您可選擇[Virtualmachinelocation](虛擬機位置)作爲註冊的SMB共享來完成此步驟。

圖像

b.您也可選擇僅將單個VHD文件放於SMB共享上。您可選擇[Transferthevirtualharddiskbyusingthenetwork](通過使用網絡來傳輸虛擬硬盤),然後選擇將源作爲一個庫共享,並將目標路徑作爲註冊的SMB共享來完成此步驟。

圖像

c.您也可選擇使用來自SMB共享中的一個現有VHD。您可選擇[Usethevirtualharddiskthatexistsatthedestination](使用存在於目標中的虛擬硬盤)選項,然後選擇將目標路徑作爲註冊SMB共享上的VHD的路徑來完成此操作。

圖像

5.從主機或羣集註銷共享註冊在刪除主機或羣集之前,我們建議您從主機或羣集註銷共享。這將清除針對Hyper-V主機的所有不必要共享權限。此操作可通過使用構造工作區à選擇主機或羣集à右鍵單擊“屬性”à“存儲”頁面à選擇“刪除文件共享”選項來完成。Unregister-SCStorageFileSharecmdlet也可用於從PowerShell命令行註銷共享。基於可選的用戶輸入–LeavePermissionsOnShare,用戶可選擇不修改共享權限。該選項僅在使用PowerShell命令行時可用。此選項的默認值是$false,即始終刪除共享的權限。

6.刪除共享:您也可使用VMM來從文件服務器上徹底刪除共享。此操作可通過使用構造工作區à存儲/提供程序節點à從數據網格中選擇提供程序à選擇共享à選擇功能區操作“刪除”來完成。請注意,這將永久從文件系統中刪除共享。但這不會刪除共享的文件。Remove-SCStorageFileSharecmdlet也可用於從PowerShell命令行中刪除共享。

有關這些步驟的其他詳細信息,請訪問TechNet庫並查看基於SMB的Hyper-V支持。

常見問題解答

我應何時手動修改共享權限?

VMM將爲您更新所有要求的共享權限。您不需要手動修改任何權限來讓Hyper-V訪問文件共享。

圖像

1:文件服務器管理

VMM將向共享權限添加以下運行方式帳戶:

a)Hyper-V主機管理員帳戶。這是在添加主機或羣集時使用的管理域帳戶。

b)主機的計算機帳戶。在使用羣集的情形中,VMM服務器將添加羣集所有節點的計算機帳戶。當新節點被添加到羣集時,VMM將自動更新針對註冊到羣集,並作爲羣集定期刷新一部分的所有共享的權限。

對於Windows服務器SMB文件共享,VMM將爲上述所有帳戶添加以下共享:

a)共享權限:Acce***ights.Fullb)NTFS權限:FileSystemRights.Modify|FileSystemRights.ChangePermissions|FileSystemRights.DeleteSubdirectoriesAndFiles

圖像

對於符合SMI-SNAS要求的存儲提供程序,VMM將爲上述帳戶提供以下權限:

a)5(讀取)、6(寫入)和更改權限(14)的CIM_AssociatedPrivilege。您唯一需要爲共享修改權限的情況是未管理的共享。VMM中未管理的共享,是一個與提供程序或文件服務器無關聯的共享。VMM也可以管理此類共享,但其功能僅限於在這些共享上創建虛擬機,而不共享ACL管理。

憑據委派:VMM爲什麼不需要爲Hyper-VSMB存儲約束委派?

圖像

2:憑據委派

在首次調用SMB共享時,Hyper-V將模擬已經啓動VHD安裝操作的用戶(在此示例中爲CONTOSO\AdminH)。此操作的目的在於驗證調用用戶是否擁有訪問SMB共享上VHD文件的適當權限。如果此調用成功,那麼在以下調用中,Hyper-V將使用Hyper-V主機的計算機帳戶憑據(在此示例中爲CONTOSO\HyperVHost$)。

當VMM服務器/客戶端或任何其他管理客戶端嘗試遠程管理Hyper-V虛擬機或SMB共享時,身份級別令牌將發送到Hyper-V(首個躍點),在默認情況下,這將導致(上述)模擬後的SMB共享(第二個躍點)SMB身份驗證失敗。此身份驗證失敗是由於身份級別令牌無法被除創建此令牌的任何其他計算機使用所造成的。爲了避免這一問題,您必須在Hyper-V服務器和SMB共享服務器之間設置約束委派,以允許AN接受Hyper-V服務器上的身份令牌來驗證SMB服務器,或者VMM必須將完整的交互式令牌傳遞到Hyper-V,以進行(CredSSP提供的)操作。

使用約束委派的首個選項不僅需要在域中進行更高級別的授權,而且由於構造(Hyper-V主機/羣集)將隨着時間的推移而變化,因此其還需要不斷更新。進行憑據委派的第二種替代方式是使用CredSSP。Hyper-V遠程API(WinRM)允許使用CredSSP身份驗證來委派調用方的憑據。VMM將使用CredSSP,並在主機代理WinRM調用上啓用CredSSP。

爲啓用CredSSP,VMM將自動爲您進行以下操作:

1.VMM服務器設置:VMM服務器設置將配置計算機的組策略設置,以允許WinRM使用CredSSP身份驗證提供程序。

o啓用WinRM客戶端GPO:ComputerConfiguration\Administrativetemplate\WindowsComponents\WindowsRemoteManagement(WinRM)\WinRMClient

[AllowCredSSPauthentication]=true

命令行:winrmsetwinrm/config/client/auth'@{CredSSP="true"}'

o啓用憑據委派GPO:ComputerConfiguration\AdministrativeTemplates\System\CredentialsDelegation

[AllowFreshCredentials]="WSMAN/*"

2.主機代理設置:

o啓用WinRM服務GPO:ComputerConfiguration\Administrativetemplate\WindowsComponents\WindowsRemoteManagement(WinRM)\WinRMService。

[AllowCredSSPauthentication]=true

命令行:winrmsetwinrm/config/service/auth'@{CredSSP="true"}'

3.VMM的WinRM通信通道:WinRM僅允許“全新憑據”的委派。這需要VMM在創建WinRM會話時顯式傳遞有效憑據。(請注意,由於WinRM並不支持“默認憑據”,因此我們無法使用VMM服務帳戶)。我們將在針對這一目的添加主機或羣集時使用分配的運行方式帳戶。以下所有針對主機的WinRM調用都將使用運行方式帳戶來管理主機。因此,請務必利用運行方式帳戶來添加主機和/或羣集,而非僅僅提供直接憑據,進而讓VMM來使用這些保存的憑據進行委派。

希望本篇博文對您有所幫助。歡迎您在博文底部提供反饋,並/或在VMM論壇上提問。另外,請訪問VMM2012TechNet庫瞭解信息!

謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章