自 Windows Server 2012 起,微軟引入了 SMB 3.0 的概念,經過 SMB 3.0,能夠實現不少新的功能,包括咱們介紹過的"SMB 多通道",以及將虛擬機的存儲安裝在 SMB 3.0 的文件共享服務器上,實現另一種高可用性。 緩存
相對於硬件存儲而言,搭建 SMB 的文件共享服務器成本更爲低廉。將虛擬機部署在 SMB 3.0 上,能夠實現基本等同於 Hyper-V 故障轉移羣集的效果。 安全
SMB 3.0 是一項新技術,所以在帶來新功能的同時,對部署環境和使用條件也有必定的限制。 服務器
SMB 3.0 相對於 Windows Server 2008 中存在的 SMB 2.0,增長了一些對於 Hyper-V 有用的功能: 加密
SMB PowerShell,在 Windows Server 2012 和 Windows8 起,開始引入 SMB PowerShell。須要注意的是,SMB PowerShell 僅支持 Windows Server 2012 以上的操做系統,以前的版本還須要使用 net.exe 或其餘 API 進行管理。 spa
首先準備一臺 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 }
爲了將 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 檢查共享文件夾配置
完成共享文件夾的建立後,可使用被容許的 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 檢查虛擬機存儲位置。
以上完成了在 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 所示。
爲了解決 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 委派的場景。
委派分爲兩種方式,分別是"委派"和"約束委派",顧名思義,委派就是將全部權限都委派給某一臺計算機,而約束委派則是將某個或某幾個應用的權限委派給某一臺計算機。相對而言,約束委派的安全性要更好一些。但操做也稍微複雜一些。本例將以約束委派進行示例進行講解。
本例要實現的最終目標是,能夠在 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 所示。此處有三個選項:
圖 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 管理器"遠端建立和維護虛擬機的問題。
在微軟的虛擬化和私有云中,委派還有另外兩個重要的做用,經過委派"Hyper-V Replica Service"和"Microsoft Virtual System Migration Service",能夠爲虛擬化環境帶來"實時遷移" 和"Hyper-V 副本"兩項重要的功能。配置如圖 9-39 所示,若是未正確配置委派,則這兩項功能沒法使用,和配置 cifs 的委派同理,該操做須要在全部涉及的 Hyper-V 主機上設置。
圖 9-39 配置委派 Hyper-V 副本和實時遷移功能
本章經過建立 SMB 文件共享和委派,實現了使用"Hyper-V 管理器"將虛擬機建立在共享文件夾上的操做。在 SMB 上建立虛擬機是一種廉價的高可用解決方案,無需企業擁有獨立的硬件存儲,配置方面也很是簡單。經過 SMB 文件共享,能夠實現接下來將要介紹的共享實時遷移。
而委派這項操做,儘管並不是實時遷移的必要準備條件。但未配置"Microsoft Virtual System Migration Service"委派的狀況下,就必須登陸到目標主機上進行操做,這將會極大的下降工做效率。所以實際的生產活動當中,委派能夠說是一項必備條件。