Windows Server 2012:服務器虛擬化 學習筆記

Hyper-V 擴展比較


Windows Server
2008
Windows Server
2008 R2
Windows Server 2012
HW 邏輯處理器
支持
16 個 LP 64 個 LP 320 個 LP
物理內存支持1 TB 1 TB  4 TB
羣集擴展16 個節點,
最多 1,000 個 VM
16 個節點,
最多 1,000 個 VM
64 個節點,
最多 4,000 個 VM
VM 處理器支持最多 4 個 VP最多 4 個 VP最多 64 個 VP
VM 內存 最多 64 GB最多 64 GB最多 1 TB
實時遷移 不。僅快速遷移是,一次一個是,沒有限制
只要硬件允許
實時存儲遷移不。通過 SCVMM
快速存儲遷移
不。通過 SCVMM
快速存儲遷移
是,沒有限制
只要硬件允許
羣集中的服務器數16
16

64

VP:LP 比率8:18:1(服務器)
12:1(客戶端)(VDI)
沒有限制。
只要硬件允許


Windows Server 2012 新增了一些實時遷移選項:

無共享基礎結構實時遷移

使用 SMB 實時遷移

在羣集間實時遷移


實時遷移安全

默認情況下禁用實時遷移
實時遷移網絡安全:
物理安全
IPsec/其他加密選項
當涉及兩臺以上的計算機時,管理安全和身份驗證會
變得很複雜
有時即使只涉及兩臺計算機,也會很複雜


基本遷移原則

“虛擬機始終要處於運行狀態”

實際上是存在中斷時間的,只是此中斷時間不超過5秒


無共享基礎結構實時遷移 的條件:

需要在同一域中

需要千兆網絡

(實現整個虛擬機移動(VHD + 運行狀態),且不需要停機)

Hyper-V主機必須要加入域的移動技術有:實時遷移和羣集間遷移


遷移過程是,先做存儲遷移後做內存同步,所以前階段效慢,但後階段會相對較快。

遷移過程中文件拷貝不會中斷,但PING包會有中斷。


使用 SMB 實時遷移

由於不用遷移存儲,所以遷移速度相對比使用 SMB 實時遷移要快,在遷移時直接就跳到50%的進度,只需要做內存同步,同樣會有一至二個的PING包丟失。

不移動存儲,只運行虛擬機

類似於羣集中的實時遷移,但沒有高可用性

要求 SMB 3.0

用戶和計算機都需要訪問共享


在羣集間實時遷移

帶來的改進是,虛擬機在從羣集中刪除或添加到一個新羣集時無需將虛擬機關閉。

從而實現了在羣集間的實時遷移

其它原理與上兩項技術一樣,只是多了兩步,要先從現在的羣集中刪除出來,然後加入到新的羣集中去。


實時存儲遷移

對虛擬機性能的影響相當於在虛擬機上執行大文件拷貝時所產生影響類似。

在遷移速度上,相當於無共享基礎結構實時遷移的第一階段的存儲遷移。


虛擬機的導入導出改進:

不需要導出就可以導入

導入原始 XML 文件

不再要求導出步驟:UI 中的“導出”選項只是複製 XML 文件


使用Powershell操作時會有導入配置檢查和虛擬機兼容性報告,告知用戶應如何修復導入問題,如CPU核數的不足等。


虛擬機移動和保護技術

wKiom1MCNt-CVn1bAANaXz2x_3g290.jpg

Hyper-V複製

使用 Hyper-V 副本,便可在兩個託管服務器之間對 Hyper-V 虛擬機進行同步複製。這很容易配置,不需要共享存儲或任何特定的存儲硬件。可以在 Hyper-V 中虛擬化的任何服務器工作負載均可以被複制。複製可通過基於 IP 的任何普通網絡運行,並且複製的數據可以在傳輸期間進行加密。Hyper-V 副本將與獨立服務器、故障轉移羣集或與二者一起配合使用。這些服務器可以在物理上位於同一個位置,也可以在地理位置上相隔很遠。物理服務器無需位於同一個域中,或者甚至根本不需要加入任何域中。


此方案中,我們定義了兩個“站點”:一個是“主站點”,是虛擬化環境通常運行的位置;另一個是“副本站點”,是接受複製的數據的服務器位置。在主站點上,主服務器是託管一個或多個主虛擬機的物理服務器。同樣地,在副本站點上,副本服務器將託管副本虛擬機。

一旦配置並啓用了複製,主虛擬機中的數據初始副本則必須發送到副本虛擬機。我們稱之爲“初始複製”,你可以選擇直接通過網絡或通過將數據複製到物理設備並傳輸到副本站點來完成。

當複製正在進行時,主虛擬機中的一些更改將通過網絡定期傳輸到副本虛擬機。確切的頻率會根據完成一個複製週期所花費時間長度(反過來取決於其他因素中的網絡吞吐量)的不同而不同,但通常情況下複製大約每 5-15 分鐘發生一次。

你可以選擇隨時將任何主虛擬機上的操作移到其相應的副本虛擬機,我們將此操作稱爲“計劃的故障轉移”。在計劃的故障轉移中,任何未複製的更改首先被複制到副本虛擬機上,並關閉主虛擬機,這樣就不會發生數據丟失。在計劃的故障轉移後,副本虛擬機將接管工作負載;若要爲目前處理工作負載的虛擬機提供同樣的保護,你可以配置“反向複製”,(一旦回到聯機狀態)便可將更改發送回主虛擬機。

如果主服務器發生意外故障(可能由於重大的硬件故障或自然災難而引起),你可以讓副本虛擬機接管工作負載—這就是“非計劃的故障轉移”。在非計劃的故障轉移中,有可能出現數據丟失的情況,這是因爲沒有機會對尚未複製的更改進行復制。


由於 Hyper-V 副本如此簡單靈活,它可以被使用在各種各樣複雜程度不同的潛在場景。一些示例如下:

總公司和分支機構

在此方案中,有兩個站點:處於主導的總公司和位於不同物理位置的一個或多個分支機構。利用虛擬化的工作負載,可以使用 Hyper-V 副本向分支機構提供災難恢復支持。任何一個站點中的服務器都可以是羣集的或獨立的。

這種情況下,可以在運行於總公司主服務器上的虛擬機上運行日常操作。每個分支機構都會有一個待命中的副本服務器,在主服務器出於任何原因必須脫機的事件中,接管工作負載。

此方案可以擴展至涉及擁有許多服務器的大型數據中心,而無需關於 Hyper-V 副本的任何不同的管理活動。

託管雲

此方案中,託管提供商在其數據中心設立一個副本服務器,它從在其各種客戶的經營場址運行虛擬化工作負載的一些主服務器接收復制數據。託管提供商的副本服務器從而可以爲訂閱它的客戶提供災難恢復能力。

爲確保客戶的安全,此方案會涉及基於證書的身份驗證,它使用很可能由託管提供商擁有的獨立證書服務器提供的證書。另外,副本的受信任組功能允許託管提供商分開來自每個客戶的複製數據,使用單獨的存儲位置和標記以阻止來自各種客戶的數據被混合。


硬件要求

只要任意兩個物理 Windows Server 2012 服務器支持 Hyper-V 角色,就可以設置 Hyper-V 虛擬機的複製。這兩臺服務器可以在物理上位於同一個位置,也可以位於完全獨立的地理位置。主服務器和副本服務器中的任意一臺(或同時兩臺)都可以稱爲故障轉移羣集的一部分,並且支持混合的獨立與羣集環境。

軟件要求

除 Windows Server 2012 外不要求特別的軟件。如果你計劃使用基於證書的身份驗證(在傳輸過程中給複製數據加密所必需的),你將需要一個合適的證書,既可以是本地的也可以是自簽名的,或者也可以由你部署中的一臺證書服務器提供。


實施步驟:

第一步,規劃

確定哪些VHD文件要複製,如頁面文件磁盤則不用複製。

配置防火牆允許複製流量的通過(啓用“Hyper-V 副本 HTTPS 偵聽器 (TCP-In)”規則),或規劃防火牆的位置

get-clusternode | ForEach-Object  {Invoke-command -computername $_.name -scriptblock {Enable-Netfirewallrule -displayname "Hyper-V Replica HTTP Listener (TCP-In)"}}

如果是在羣集中應用,還需要安裝Hyper-V副本代理

$BrokerName = “HVR-Broker”

Add-ClusterServerRole -Name $BrokerName –StaticAddress 192.168.1.5

Add-ClusterResource -Name “Virtual Machine Replication Broker” -Type "Virtual Machine Replication Broker" -Group $BrokerName

Add-ClusterResourceDependency “Virtual Machine Replication Broker” $BrokerName

Start-ClusterGroup $BrokerName

如複製流量是經過防火牆之外的,應配置證書加密

  1. 在主服務器上,本地複製 Makecert.exe 實用工具。

  2. 通過從提升的命令提示符運行以下命令來創建自簽名測試根頒發機構證書:

    makecert -pe -n "CN=PrimaryTestRootCA" -ss root -sr LocalMachine -sky signature -r "PrimaryTestRootCA.cer"

  3. 通過從提升的命令提示符運行以下命令來創建測試根頒發機構證書籤名的一個新證書,提供主服務器的 FQDN:

    makecert -pe -n "CN=<FQDN>" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "PrimaryTestRootCA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 PrimaryTestCert.cer

  4. 在副本服務器上,本地複製 Makecert.exe 實用工具。

  5. 通過從提升的命令提示符運行以下命令來創建自簽名測試根頒發機構證書:

    makecert -pe -n "CN=PrimaryTestRootCA" -ss root -sr LocalMachine -sky signature -r "ReplicaTestRootCA.cer"

  6. 通過從提升的命令提示符運行以下命令來創建測試根頒發機構證書籤名的一個新證書,提供副本服務器的 FQDN:

    makecert -pe -n "CN=<FQDN>" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "ReplicaTestRootCA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 PrimaryTestCert.cer

  7. 將文件 ReplicaTestRootCA.cer 從副本服務器複製到主服務器,然後使用以下命令將其導入:

    certutil -addstore -f Root "ReplicaTestRootCA.cer"

  8. 將文件 PrimaryTestRootCA.cer 從主服務器複製到副本服務器,然後使用以下命令將其導入:

    certutil -addstore -f Root "PrimaryTestRootCA.cer"

  9. 默認情況下,需要進行證書吊銷檢查;不過自簽名證書不支持吊銷檢查。使用以下命令編輯主服務器和副本服務器上的註冊表即可禁用檢查:

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\FailoverReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f

第二步:啓用複製

  1. 在Hyper-V管理, 點擊動作面版的Hyper-V設置.

  2. 在Hyper-V設置對話框中點擊配置複製.

  3. 在詳細面版中點擊將服務器啓用爲復***務器.

  4. 在驗證與端口欄裏確定驗證方法,證書或域驗證。

  5. 如選擇了證書驗證,則填寫證書信息。

  6. 在驗證和存儲欄中確定複製的存儲位置。

  7. 點擊OK完成。

$portmap=@{"Recovery1.hoster.com"=8081; “Recovery2.hoster.com"=8082; "Recovery3.hoster.com"=8003, “HVR-Broker.hoster.com”=8080}

$ReplicaServer = “Recovery1.contoso.com”
$RecoveryPort = 8080
$PrimaryVM1 = “CRMVM”
$PrimaryServer = “Primary1.contoso.com”

Set-VMReplicationServer -ReplicationEnabled $true -AllowedAuthenticationType Certificate -ReplicationAllowedFromAnyServer $true -CertificateThumbprint "<CertThumbprint>” -DefaultStorageLocation “<Storage Location>” -CertificateAuthenticationPort <Listenerport>

Start-VMInitialReplication –VMName $PrimaryVM1

Enable-Netfirewallrule -displayname "Hyper-V Replica HTTPS Listener (TCP-In)"

Get-ClusterNode | ForEach-Object  {Invoke-command -computername $_.name -scriptblock {Enable-Netfirewallrule -displayname "Hyper-V Replica HTTPS Listener (TCP-In)"}}

  1. 啓用虛擬機複製,右擊虛擬機,點啓用複製

  2. 指定剛纔指定的復***務器

  3. 設定連接參數

  4. 選擇要複製的VHD

  5. 設定還原點數目

  6. 準備初始複製

  7. 完成複製嚮導

Import-Module Hyper-V

$ReplicaServer = “Recovery1.contoso.com”
$RecoveryPort = 8080
$PrimaryVM1 = “CRMVM”
$PrimaryServer = “Primary1.contoso.com”

Set-VMReplication -VMName $PrimaryVM1 -ReplicaServerName $ReplicaServer -ReplicaServerPort $RecoveryPort -AuthenticationType Integrated -CompressionEnabled $true -RecoveryHistory 0

Start-VMInitialReplication –VMName $PrimaryVM1

第三步:測試複製Failover

1. 的Hyper-V管理,右擊虛擬機點複製...->測試Failover

2. 選擇恢復點

3. 停止Failover測試

$ReplicaVM1 = “CRMVM”

$TestReplicaVM1 = Start-VMFailover -AsTest -VMName $ReplicaVM1

Start-VM $TestReplicaVM1

Stop-VMFailover –VMName $ReplicaVM1

第四步:進行計劃內複製Failover

1. 右擊虛擬機,點複製,點計劃內Failover

2. 自動開始將虛擬機的變更同步到復***務器

3. 結束計劃內複製Failover後,主服務器重新開機後,復***務器會進行反向複製,將變更同步會主服務器上,前提是主服務已經配置了反向複製(與設置復***務器相同的方法)

Stop-VM $PrimaryVM1
Start-VMFailover -VMName $PrimaryVM1 –prepare

$ReplicaVM1 = “CRMVM”
Start-VMFailover -VMName $ReplicaVM1
Set-VMReplication -reverse -VMName $ReplicaVM1
Start-VM $ReplicaVM1

第五步:計劃外複製Failover

1. 計劃外複製Failover,需要手動去啓動復***務器上的虛擬機,右擊復***務器上的虛擬機,點複製,Failover...

2. 此時複製虛擬機會以之前配置好的連接信息進行啓動,也可以使Power Shell修改連接參數。

3. 右擊複製虛擬機,點複製,點反向複製,可以將變更復制回主虛擬機

$NetworkAdapter = Get-VMNetworkAdapter -VMName $ReplicaVM2 -Name $VMNetworkAdapterName
$NetworkAdapter | Set-VMNetworkAdapterFailoverConfiguration -IPV4Address 172.20.31.100 -IPV4SubnetMask 255.255.255.0 -IPV4DefaultGateway 172.20.31.1 -IPV4PreferredDNSServer 172.20.31.101 -IPV4AlternateDNSServer 172.20.31.102

Complete-VMFailover -VMName $ReplicaVM2

Set-VMReplication -reverse -VMName $ReplicaVM2





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