實(shí)時遷移是微軟向Windows Server 2012 Hyper-V添加的最重要的功能,通過實(shí)時遷移功能,無需在Hyper-V主機(jī)之間移動虛擬機(jī)(VM)進(jìn)行停機(jī),同時在正常維護(hù)Hyper-V主機(jī)時,還可以將它托管的所有VM全部移走,等到維護(hù)結(jié)束后,再移回來,并且在這整個過程不用擔(dān)心會引起業(yè)務(wù)中斷。
此外,利用實(shí)時遷移功能還可以更好地動態(tài)調(diào)整主機(jī)資源利用率,將繁忙的Hyper-V主機(jī)上的部分VM移動到相對空閑的Hyper-V主機(jī)上,這樣可以確保即便在業(yè)務(wù)高峰期也能給終端用戶提供很好的性能。本文主要介紹Windows Server 2012 Hyper-V的實(shí)時遷移功能(Live Migration)。
一、約束委派設(shè)置的兩種方法
1. 通過GUI界面設(shè)置
在我們進(jìn)行實(shí)時遷移設(shè)置前,首先要進(jìn)行配置約束委派,因?yàn)镠yper-V實(shí)時轉(zhuǎn)移提供了兩種驗(yàn)證通信協(xié)議,預(yù)設(shè)為CredSSP,另一種是Kerberos委派。不過相對比較安全的Kerberos委派可以阻絕任何不明啟用的服務(wù)器使用委派,所以建議使用。如果使用Kerberos委派來驗(yàn)證實(shí)時遷移,那就必須要先設(shè)定限制委派,然后才可以繼續(xù)其余的步驟,而且還要必須使用Domain Administrators群組成員的賬戶在Active Directory的Computers設(shè)置限制委派。如果使用CredSSP,那就不需要進(jìn)行設(shè)定委派。
步驟1 打開“Active Directory 用戶和計算機(jī)”管理單元。從服務(wù)器管理器 (SM) 中執(zhí)行該操作,打開“Active Directory 用戶和計算機(jī)”管理單元。從導(dǎo)航面板中選擇域,然后雙擊“Computers”文件夾。在“Computers”文件夾中,右擊源服務(wù)器的計算機(jī)賬戶,然后在彈出的快捷菜單中選擇“屬性”命令。
步驟2 在接下來彈出的“屬性”對話框中,單擊“委派”選項(xiàng)卡。在“委派”選項(xiàng)卡下選擇“信任僅委派到特定服務(wù)的計算機(jī)”。在該選項(xiàng)下面,選擇“僅限使用 Kerberos”。單擊“添加。
步驟3 在接下來彈出的“添加服務(wù)”對話框中,單擊“用戶或計算機(jī)”按鈕。
步驟4 在“選擇用戶或計算機(jī)”對話框中的“輸入對象名稱來選擇”文本框中鍵入目標(biāo)服務(wù)器的名稱,單擊“檢查名稱”按鈕以驗(yàn)證你輸入的名稱是否正確,若無誤,則單擊“確定”按鈕。
步驟5 在“添加服務(wù)”對話框,在可用服務(wù)列表中執(zhí)行以下步驟,然后單擊“確定”。要移動虛擬機(jī)存儲器,請選擇 cifs。如果要同時遷移存儲器與虛擬機(jī),而且僅遷移虛擬機(jī)的存儲器,則需要執(zhí)行此步驟。如果將該服務(wù)器配置為使用Hyper-V的SMB存儲器,則應(yīng)首先選中該選項(xiàng)。要遷移虛擬機(jī),選擇“Microsoft 虛擬系統(tǒng)遷移服務(wù)。
步驟6 在“屬性”對話框的“委派”選項(xiàng)卡上,確定上一步選定的服務(wù)列在目標(biāo)計算機(jī)可以為其提供委派證書的服務(wù)中,然后單擊“確定”按鈕。
委派要在域中的每臺Hyper-V主機(jī)中都要添加相應(yīng)的委派,否在會在遷移過程中報錯。如在Hyper-V02中,就需要信任Hyper-V01中的Kerberos協(xié)議,并指定相應(yīng)的服務(wù)類型。操作步驟與之前的相同。如果只設(shè)定一方,那就只能將虛擬機(jī)遷移過去,但卻無法遷移過來。
2. 通過Powershell命令設(shè)置
下面我們用Powershell的方式進(jìn)行委派,但是Powershell方式的委派非常麻煩,幸運(yùn)的是在TeachNet Blogs中有提供了一個Set-KCD.ps1腳本文件,該腳本簡化了煩瑣的委派步驟,其地址為:http://blogs.technet.com/b/matthts/archive/2012/06/10/configuring-kerberos-constrained-delegation-for-hyper-v-management.aspx
從Blogs上我們可以下載到Set-KCD腳本文件,下載之后解壓后會有兩個文件,一個是Set-KCD.ps1和Set-KCD.Zip。在解壓Set-KCD.Zip后,會發(fā)現(xiàn)里面還有個Set-KCD.ps1,第二個Set-KCD.ps1文件大約9.2KB,第一個Set-KCD.ps1大小則為3KB,其實(shí)兩種Set-KCD.ps1都能實(shí)現(xiàn)同樣的效果,差別就是文件較大的Set-KCD.ps1文件包含服務(wù)類型的名稱。
首先我先看大小為3KB的Set-KCD.ps1文件,其代碼如圖所示。
接下來我們看大小為9.2KB的Set-KCD.ps1文件,由于代碼過長,這里只給出了部分代碼,可自行下載后查看,其代碼如圖所示。
了解了Set-KCD腳本文件,在準(zhǔn)備執(zhí)行Set-KCD.ps1腳本文件之前,還需要進(jìn)行一步操作,否則會在執(zhí)行的過程中會出下無法加載文件的情況。
遇到這種事情是由于Set-KCD不是Windows Powershell內(nèi)建的指令,所以必須要解除限制,設(shè)定為無限制才能執(zhí)行。設(shè)置完成后,我們還可以恢復(fù)Windows Powershell內(nèi)建的指令限制。首先使用Powershell命令Set-ExecutionPolicy Undefined,目的是降低Windows Powershell安全性,當(dāng)執(zhí)行完成后,可以使用Powershell命令Set-ExecutionPolicy RemoteSigned恢復(fù)其安全性。
下面我們就來設(shè)置mabofeng.com域中的Hyper-V01信任委派Hyper-V02的服務(wù)類型CIFS。將9.2KB大小的Set-KCD.ps1文件拷貝到C盤下,使用的Powershell命令為
.\SetKCD.ps1 –TrustedComputer Hyper-V01 –TrustingComputer Hyper-V02 –ServiceType CIFS –Add
如果要將3KB大小的Set-KCD.ps1文件拷貝到C盤下,使用的Powershell命令為:
.\SetKCD.ps1 –AdDN “cn=Hyper-V01,cn=computers,dc=mabofeng,dc=com” –HostFQDN Hyper-V02.mabofeng.com –Service CIFS –Add
接下來設(shè)置mabofeng.com域中的Hyper-V01信任委派Hyper-V02的服務(wù)類型Microsoft Virtual System Migration Service。將9.2KB大小的Set-KCD.ps1文件復(fù)制到C盤下,使用的Powershell命令為:
.\SetKCD.ps1 –TrustedComputer Hyper-V01 –TrustingComputer Hyper-V02 –ServiceType “Microsoft Virtual System Migration Service” –Add
如果要將3KB大小的Set-KCD.ps1文件復(fù)制到C盤下,使用的Powershell命令為:
.\SetKCD.ps1 –AdDN “cn=Hyper-V01.cn=computers,dc=mabofeng,dc=com” –HostFQDN Hyper-V02.mabofeng.com –Service “Microsoft Virtual System Migration Service” –Add
復(fù)制完成后,進(jìn)行設(shè)置信任委派,我們可以使用如下命令:
Get-AdObject “cn=Hyper-V01,cn=computers,dc=mabofeng,dc=com” –Properties msDSAllowedToDelegateTo
在域控中設(shè)定完成委派后,接下來就是設(shè)定轉(zhuǎn)移的來源和目的地Hyper-V主機(jī)了。設(shè)定來源和目的地服務(wù)器目的是,讓它們可以傳送和接收實(shí)時遷移。當(dāng)設(shè)置服務(wù)器的時候,有兩種方案可供選擇:在任何可用網(wǎng)絡(luò)允許實(shí)時遷移的流量或只在指定網(wǎng)絡(luò)上允許實(shí)時遷移的流量。最安全做法就是指定專用的網(wǎng)絡(luò)負(fù)責(zé)實(shí)時遷移的網(wǎng)絡(luò)流量。要在非群集Hyper-V主機(jī)上開啟實(shí)時遷移,只要在Hyper-V主機(jī)的Hyper-V設(shè)置中進(jìn)行設(shè)置即可。
Azkaba內(nèi)置的任務(wù)類型支持command、java Command類型單一job示例 1、創(chuàng)建job描述文件 vi command.job command.job type=command command=echo ‘hello’ 2、將job資源文件打包成zip文件 zip command.job 3、通過azkaban的web管理平臺創(chuàng)建project并上傳job壓縮包 首先創(chuàng)建pr...
概述 2.1.1為什么需要工作流調(diào)度系統(tǒng) 一個完整的數(shù)據(jù)分析系統(tǒng)通常都是由大量任務(wù)單元組成: shell腳本程序,java程序,mapreduce程序、hive腳本等 各任務(wù)單元之間存在時間先后及前后依賴關(guān)系 為了很好地組織起這樣的復(fù)雜執(zhí)行計劃,需要一個工作流調(diào)度系統(tǒng)來調(diào)度執(zhí)行; 例如,我們可能有這樣一個需求,某個業(yè)務(wù)系統(tǒng)每天產(chǎn)生20G原始數(shù)據(jù),我們每天都要對其進(jìn)行處理,處理步驟如下所示: ...
Hadoop Archives指南 概述 Hadoop archives是一種歸檔文件。按照官網(wǎng)的說法,一個Hadoop archive對應(yīng)一個文件系統(tǒng)目錄。 那么為什么需要Hadoop Archives呢?因?yàn)閔dfs并不擅長存儲小文件,文件在hdfs上以block的形式存儲,而這些block會在namenode中保存其索引等元數(shù)據(jù),這些元數(shù)據(jù)在namenode啟動后被加載至內(nèi)存。如果存在...
摘要: spark的優(yōu)勢:(1)圖計算,迭代計算(訓(xùn)練機(jī)器學(xué)習(xí)算法模型做廣告推薦,點(diǎn)擊預(yù)測,同時基于spark的預(yù)測模型能做到分鐘級)(2)交互式查詢計算(實(shí)時) spark的主要應(yīng)用場景:(1)推薦系統(tǒng),實(shí)時推薦 (2)交互式實(shí)時查詢 spark特點(diǎn):(1)分布式并行計算框架(2)內(nèi)存計算,不僅數(shù)據(jù)加載到內(nèi)存,中間結(jié)果也存儲內(nèi)存(中間結(jié)果不需要落地到hdfs) 還有一個特點(diǎn):Spark在做...
fatal error: json-c/json.h: No such file or directory ---解決方法: sudo apt-get install libjson-c-dev 然后重新執(zhí)行./autoconf ./configure make 即可
1、java.lang.OutOfMemoryError: GC overhead limit exceeded 分析:因?yàn)閟treaming是長進(jìn)程服務(wù),如果當(dāng)初分配堆太小,運(yùn)行很長時間后會出現(xiàn)GC overhead limit exceeded問題,查看driver進(jìn)程gc信息發(fā)現(xiàn)老年代使用率達(dá)到99.6%,故處理方法是提高driver堆大小,同時提高老年代大小。 處理:設(shè)置spark....