以前老王曾經在WSFC2008R2跨羣集遷移WSFC2012R2一文中提到過虛擬化遷移,可是因爲不是專門寫虛擬化遷移的文章,因此寫的不是很詳盡,本文咱們將詳細討論微軟虛擬化的跨版本遷移web
微軟Hyper-V於2008發佈,經歷過2008,2008R2,2012,2012R2,2016等五個版本,其中目前國內使用最多的是2008R2,2012R2兩個版本,可能大多數用戶使用2008R2 Hyper-V用做過嘗試測試,或者以爲2008R2 Hyper-V的性能不能知足需求,2012R2 Hyper-V能夠說是一個真正能夠在企業裏面部署的企業級虛擬化產品,能夠提供並不遜色於其它虛擬化廠商的性能,最主要的是該有的企業級功能都已經具有,所以隨着企業瞭解,我相信會有愈來愈多的企業採用2012R2 hyper-v虛擬化,在採用過程當中避免不了要面臨遷移的問題,可能公司已經在先有2008R2上面部署了一些虛擬機,如何遷移到新的平臺,有哪些方法能夠選擇,怎麼遷移停機時間最少,這就是咱們今天須要討論的話題服務器
2008R2到2012R2遷移的最大一個問題就是2012R2 hyper-v不能向下兼容 2008R2 hyper-v,便是說,2008R2並不能直接把虛擬機以實時遷移的方式遷移到2012R2,因此,若是2008R2是單機狀況下,遷移時須要關閉虛擬機,進行遷移,2008R2單機遷移到2012R2單機,或遷移到2012R2羣集,方法大致有如下幾種網絡
直接拷貝2008R2虛擬機VHD,到2012R2上面基於VHD新建虛擬機:這個方法的好處是,若是在網絡帶寬足夠大的狀況下,你能夠很快的把VHD文件拷貝到2012R2服務器,而後新建,開機,一系列過程下來,對於技術要求並不會很高,沒有什麼操做風險,你只須要選擇一個合適的時間點,關機虛擬機拷貝文件便可,這種方式的宕機時間是從關閉虛擬機+拷貝VHD到2012R2+建立開機虛擬機,直到最終建立完成虛擬機,才能夠從新對外提供服務,這種方法的弊端,不適合網絡帶寬不足的企業環境,若是帶寬不足,拷貝文件的時間會很長,將延長宕機時間,其二,只適合簡單的虛擬機,便是說對於虛擬機並無過多的設置,例如設置多個網卡,每一個網卡設置了不一樣的參數功能,咱們若是隻是拷貝VHD,這些虛擬機設置是不會帶過去的,你須要手動記下來,而後新建虛擬機的時候按照記錄進行調整,不支持avhd,即不支持差別磁盤和快照,只支持vhd文件架構
此場景咱們假定2008R2和2012R2使用不一樣存儲,若是是使用相同存儲的狀況下,能夠將現有2008R2存儲添加一個目標給2012R2,而後直接把全部2008R2上面虛擬機的設置記錄,移除2008R2存儲目標,關閉2008R2虛擬機,在2012R2上面基於設置新建虛擬機,宕機時間是存儲目標從2008R2移除+虛擬機關閉+虛擬機建立開機ide
2.虛擬機導入,雖然2012R2不能支持2008R2直接實時遷移,可是能夠支持2008R2的虛擬機經過導入的方式,添加到2012R2的環境,不一樣的是2012R2能夠虛擬機實時導出,2008R2只能關機導出,這種虛擬機導入導出的方式,好處就是能夠導出虛擬機全部配置+磁盤,導入時會把配置和磁盤一塊兒導入,不須要管理員進行額外記錄,壞處就是,2008R2時代對於虛擬機導出導入限制太多,例如被導出的虛擬機MAC地址都設置爲靜態,使用標準網絡適配器,不能包括快照等等,並且有時候導出失敗須要進行排錯,較爲麻煩,有時導出時間比直接拷貝VHD的時間要長不少,所以我給你們的建議,若是虛擬機沒有太多的設置,單機場景下直接拷貝VHD新建最好,若是虛擬機有不少單獨的設置,則能夠採用導入導出的方式進行操做性能
3.VMM遷移,VMM2012R2支持添加2008R2,2012,2012R2 Hyper-V,也支持跨版本互相遷移,跨單機羣集互相遷移,須要注意Hyper-V 2008R2 雖然能夠在VMM被跨版本遷移到2012,2012R2,但實際上背後走的是導入導出,並不是直接遷移,便是說2008R2虛擬機也須要知足導出的需求才能夠被VMM遷移,與單獨的虛擬機導入導出和直接拷貝VHD對比,最大的一點不一樣是,經過VMM的跨版本遷移,當虛擬機被導入到2012或2012R2時,會自動爲虛擬機升級集成組件,而咱們採用單獨導入導出和直接拷貝VHD都須要過後手動或腳本針對虛擬機升級集成組件。VMM須要單獨付費購買。測試
總結來看,微軟自家的2008R2單機遷移到2012R2大致分爲兩種,1.直接拷貝VHD,2.導入導出。兩種辦法都避免不了宕機時間,虛擬機必須關閉被導出,必須關機拷貝VHD文件。咱們上面討論的場景,都是直接遷移的場景,若是是替換場景,例如當前1臺2008R2宿主機,1臺新加2012R2宿主機,但願虛擬機遷移到新加宿主機後,原有宿主機也能升級利用,在這種替換場景下,建議確認虛擬機已經導入或新建在新宿主機後,直接對原宿主機重裝系統,不建議採用升級安裝。spa
除了微軟自身的方案,另外推薦一個單機對單機的遷移方案,Veeam Backup&Replication,經過它咱們能夠添加進來2008R2,2012,2012R2 Hyper-v主機,而後將2008R2的虛擬機複製到2012R2!直接2008R2做爲複製主站點,2012R2做爲DR站點,veeam是支持這樣作的,它處理了複製兼容性的問題,這樣作了以後咱們就能夠直接經過永久性轉移或者計劃內轉移的方式,將虛擬機從2008R2上面,直接轉移到2012R2上面,它最大的好處是和hyper-v整合好,虛擬機轉移到2012R2 DR站點後,直接在hyper-v列表能夠看見,再也不須要導入虛擬機。經過這種方式咱們能夠最低化宕機時間,例如若是採用計劃內轉移的方式,當前虛擬機實時從2008R2複製到2012R2,當某一秒增量數據從2008R2徹底同步到2012R2,即隔斷2008R2,開機上線2012R2虛擬機,宕機時間僅是虛擬機切割的時間+虛擬機2012R2開機上線的時間。將來但願微軟也能夠作到這一點,自身支持hyper-v複製跨版本3d
處於可用性的考慮,一些企業也可能選擇在2008R2上面部署了WSFC羣集架構,基於WSFC再部署Hyper-V羣集,以實現虛擬機的高可用,針對於2008R2羣集到2012R2羣集的遷移,微軟自身提供了低宕機時間的解決方案,即複製羣集角色,缺點是這種方式對於操做人員的技術有必定的要求。server
因爲在2016以前沒有滾動升級的技術,所以複製羣集角色僅支持跨羣集的遷移,便是說您必需要有兩個羣集才能夠完成這件事情
所謂複製羣集角色,便是指,把老羣集裏面的羣集角色和磁盤配置複製一份到新羣集,複製羣集複製僅負責複製配置信息等元數據至新數據,不實際拷貝虛擬機文件,羣集數據文件,但會映射覆制羣集磁盤配置至新羣集
2008R2羣集虛擬機遷移到2012R2,複製羣集角色操做流程以下
確保新舊羣集均可鏈接到存儲,但同一時刻,存儲只對單個羣集可見
存儲不添加到新羣集 羣集磁盤中
運行羣集遷移向導,遷移虛擬機配置,CSV配置到新羣集
脫機舊羣集虛擬機,取消分配給舊羣集的磁盤
聯機舊羣集遷移過來的CSV,這時會自動使用以前同時分配給新舊羣集的磁盤
聯機虛擬機
切割實例
虛擬機運做在2008R2羣集CSV
分配CSV背後可用磁盤目標給2012R2羣集節點
2012R2羣集節點能夠看到磁盤,可是不添加到羣集存儲
執行跨羣集遷移向導遷移虛擬機
脫機08R2虛擬機,存儲取消分配給08R2羣集節點
12R2羣集聯機CSV
12R2羣集聯機虛擬機
由此你們能夠看出一個問題,若是咱們在有羣集的狀況下,那麼咱們遷移過程的宕機時間是很短的,虛擬機不須要一直被關機才能執行遷移,咱們能夠一直運做虛擬機,宕機時間僅是虛擬機在2008R2羣集離線+2012R2羣集聯機存儲+聯機虛擬機的時間。
在複製羣集角色方案中,還涉及到一個場景,即存儲的映射,若是咱們要執行跨羣集的複製角色,那麼咱們必需要將虛擬機CSV存儲那塊磁盤,同時映射給08R2和12R2羣集,可是切割好時間節點,12R2不添加存儲至羣集中直到08離線,12R2上線時由於虛擬機遷移過來,會帶着CSV屬性的,而CSV只認那一塊磁盤,若是咱們採用新羣集新存儲,舊羣集舊存儲的方式就會發生CSV的丟失,它會沒法認到本身使用的那塊盤。
在咱們使用跨羣集遷移向導時須要注意一點,針對於虛擬機的跨羣集遷移向導來講,本質上遷移向導是按照CSV進行遷移,咱們只能選擇一個CSV,而後把下面全部的虛擬機都遷移過去,而不能選擇CSV下面特定的單個虛擬機,所以能夠看出,經過跨羣集遷移向導,適合羣集上面跑了不少虛擬機的場景,若是虛擬機很少的話您也能夠選擇羣集間導入導出的的方式,可是老王依然建議走跨羣集遷移向導,由於這樣宕機時間最短。
經過複製羣集角色能夠幫助咱們在很低宕機時間的狀況下完成虛擬機的跨版本遷移,宕機時間僅發生在切換,可是複製羣集角色也有它的不足,即跨羣集複製角色,在虛擬機場景下,必須兩個羣集接入到同一個存儲,經過切換間隔來進行處理切割
那麼若是兩個羣集但願各自擁有自身存儲的狀況下又該如何處理呢,由於不見得全部場景下你都能把兩個站點接入到同一個存儲,一個不錯的解決方案是「反彈遷移「
反彈遷移解決方案,咱們首先在老數據中心,選擇幾臺宿主機,遷移走負載,重裝爲2012R2羣集,利用複製羣集角色,將2008R2羣集虛擬機切換至本地2012R2羣集,這種解決方案在這一步,要求被重作的兩臺2012R2宿主機性能足夠強,能夠承載起同站點2008R2上面全部虛擬機負載,當虛擬機被遷移到老數據中心臨時2012R2羣集後,再和新數據中心創建鏈接,利用2012的無共享實時遷移技術,直接把虛擬機+存儲從老數據中心不停機實時遷移至新數據中心。
這種解決方案利用了老數據中心作2012R2中轉羣集的方式來實現跨羣集,跨不一樣存儲的虛擬機遷移,宕機時間是老數據中心2008R2切換到2012R2的關閉虛擬機+聯機存儲+聯機虛擬機的時間 + 無共享實時遷移最後的切換丟包。所以宕機時間幾乎不多,關鍵點在於須要在老數據選擇能夠承載全部負載的宿主機重裝2012R2,其二,2012擁有無共享實時遷移技術,即使兩個宿主機鏈接不一樣存儲,不在同一個羣集,也能夠把虛擬機遷移過去。此方案尤其適用跨城,跨地域的多數據中心遷移方案
圖中VMM爲可選項,只要虛擬機遷移到中轉2012R2羣集,就能夠直接無共享實時遷移到新數據中心2012R2羣集
上面咱們討論了2008R2遷移到2012R2,單機解決方案,羣集解決方案,那麼2012R2到2016呢,實際上2012R2到2016 比 2008R2到2012R2容易得多,緣由在於2016實現了向下兼容遷移技術,便是說虛擬機能夠直接從2012R2實時遷移到2016,可是遷移到2016以後仍採用2012R2版本格式,並不能徹底享受2016最新功能,若是但願享受2016hyper-v最新功能,須要把遷移過來的虛擬機選擇一個時間節點,關機升級虛擬機配置便可。對於羣集,2012R2到2016支持滾動升級,即只在一個羣集裏面就能夠完成遷移,虛擬機能夠直接從2012節點移動到2016節點。
WSFC2012R2滾動升級至WSFC2016
http://www.javashuo.com/article/p-mlmmmzgp-gu.html
WSFC複製羣集角色介紹
http://www.javashuo.com/article/p-qgfkfuyd-bq.html
WSFC2008R2跨羣集遷移WSFC2012R2
https://blog.51cto.com/wzde2012/1960273
最終但願能夠經過這篇文章爲你們打開新的思路,明白微軟虛擬化遷移的多種方法過程,爲你們實際遷移過程帶來幫助