windows server遷移工具

如果企業現在已經有了Windows server 2003的基礎架構環境,應該如何遷移到2012R2,哪些應用可以遷移,應該如何遷移,就是我們今天需要討論的話題。


   首先,站在技術的角度去思考,在進行系統升級遷移的過程中,我認爲應該具備以下幾個步驟。


   1.現有環境評估

      收集環境中現有的2003舊操作系統數量

      收集環境中現有的硬件資產,是否符合2012R2要求

      收集現有環境中的服務器角色,確認遷移可行性,優先級

   2.軟件分類

      收集環境中的軟件資產,查看現有03上面有那些業務軟件,確認支援與不支援在2012R2下運行的應用程序,並確定遷移優先級。

   3.確定遷移目標

      確定需要進行遷移的2003服務器

      確定需要進行遷移的服務器角色

      確定需要進行遷移的應用程序

    4.執行遷移

       按照標準的遷移SOP,在確保業務連續性,可靠性,安全性的情況下執行遷移。

    5.遷移驗證

       驗證需要被遷移的目標,是否正常被遷移。


    站在標準化與管理的角度去思考,在進行系統升級遷移的過程中,我認爲應該具備以下幾個步驟。


    1.由請求所有者發起遷移服務請求

    在這一步驟中,應該由企業IT部門,實施業務系統遷移的主要負責人去發起要進行遷移的服務請求,該服務請求中,應包括,詳細的遷移描述,受影響的配置項。

    2.由信息部門管理人員確認服務請求,發表意見。

    3.如果信息部門管理人員同意服務請求,再由實施遷移的負責人正式發起一封詳細的變更請求,該變更請求中,應包括,變更的目標作用域範圍,變更的具體原因,變更中可能遇到的風險及技術難點,變更所需要的耗時,變更帶來的好處,壞處,以及可行的回退計劃。

    4.由變更評審委員會,從安全性,可行性,風險性,時效性的角度進行詳細的評估,並給予變更進行批准與意見。

    5.如果變更評審委員會評審通過,實施遷移負責人,應按照預先計劃好的活動,嚴格按照變更裏面的時間範圍與操作範圍,實施標準化的遷移步驟,並將操作步驟按照配置管理的標準機制進行記錄。

    6.如果實施遷移負責人順利完成遷移,應歸檔其操作步驟,收集至企業知識管理庫,同時也應該將整個變更的流程,在CMDB數據庫中進行記錄,方便日後審計查看。

    7.如果實施遷移負責人未能順利完成遷移,應按照標準的回退計劃,進行逐步回退,恢復至遷移前,最小化的減少業務影響,並將回退步驟,未能順利完成遷移的原因進行記錄重現,如果有必要可以改變爲問題,進行深入的研究解決。

       

    如上的遷移步驟,完全是我自己的想法,與任何單位無關,如果企業希望按照標準化的環境進行業務遷移,我建議採用評估工具,諸如MAP,TCO,Azure VMRA詳細評估現有數據中心IT環境,針對於實施框架,我建議採用ITIL的標準框架去進行實施。


    下面,我們再來看一下,在遷移2003到2012R2實施過程中,可能會使用到一種工具。


     Windows遷移工具是微軟在Windows Server 2008R2時推出的一款系統平臺級別遷移工具,可以幫助系統管理員,在相同或不同的操作系統中,遷移角色、功能、文件、用戶、網卡配置等,在2008R2的時候,Windows遷移工具,被內置在Server 2008R2及以後的服務器角色與功能中,可以直接通過添加功能進行功能獲取,那麼,大家可能會想,既然是2008R2才推出的功能,怎麼遷移03的呢?關於這個,Windows遷移工具自有妙計,大家且慢慢來看。


      Windows遷移工具,支持以下系統平臺的遷移

    wKiom1UnhuDikBa_AAJlQhxkiqY451.jpg

  1.要安裝Windows遷移工具,首先可以選擇在目標端進行安裝,本例爲2012R2端

   打開服務器管理-->添加服務器角色與功能

wKioL1UnmVLgel_FAAMUHyIYf1E530.jpg

選擇功能中的 Windows Server 遷移工具

wKiom1UnmZmR3Ud_AALrlCritDk729.jpg


選擇下一步,進行安裝,等待安裝完成,選擇關閉。

wKiom1Unme2RPXCEAAG4DGLTcvc532.jpg


安裝完成後你就會發現系統的開始菜單裏面,多出了這樣一個東東


wKiom1UniPTAZYPJAAOTh5aF3UU529.jpg

點開之後,他大概長成這個樣子,就是一個powershell的管理界面

wKioL1UnicKRLUKeAADWhjjn6Pg842.jpg

在這powershell界面中,Windows遷移工具有一些它特定的cmdlet,比較常用的幾個,比如說。


  • SmigDeploy

  • Export-SmigServerSetting

  • Import-SmigServerSetting

  • Get-SmigServerFeature

  • Send-SmigServerData

  • Receive-SmigServerData

  其中,SmigDeploy,主要是用於生成,用於舊版本遷移的遷移工具包,比如說,03和08要遷移到08R2或2012R2,在08R2和2012中,直接內置了Windows遷移工具的功能,可以通過添加功能直接獲取powershell管理工具,但是03和08中,默認服務器管理沒有Windows遷移工具這個服務器功能,所以我們就可以在2012R2的目標機器裏面安裝Windows遷移工具,生成可以用於2003的遷移工具包,然後拷貝到03上面進行安裝


  使用方法如下

    首先進入2012R2服務器路徑 C:\Windows\system32\ServerMigrationTools

     然後運行SmigDeploy /package /architecture X86 /os WS03 /path C:\Migur

wKiom1UnjArgI49UAAGMP6CZP2Q747.jpg

這條命令的每個參數,意義如下


/package

建立可以複製到03/08/08R2的Windows遷移工具包,通常需要配合/OS  /architecture /path一起使用


/architecture

建立的遷移工具包,要運行的源操作系統,是什麼CPU架構,X86或amd64


/OS

建立的遷移工具包,要運行的源操作系統,是什麼操作操作系統,WS03/WS08/WS08R2/WS12


/path

建立的遷移工具包,要存放在什麼路徑,要求必須是已存在的路徑。


    Windows遷移工具的工作原理,大致是這樣,執行遷移,要求先在源,即03服務器上,執行export或send操作導出需要遷移的數據,export之後會得到一個mig文件,然後將這個mig文件複製到目標服務器,即2012R2服務器上,執行import操作即可。


  我們這一步所執行的操作,就是爲了,讓03的操作系統能夠執行export操作,把這個生成的遷移工具包拷貝到03的服務上面去進行install,03上面就具備了Windwos遷移工具的powershell 管理工具。

  在拷貝遷移工具包到03的服務器之前,由於03本身並不具備powershell,所以要求至少爲03操作系統或其它來源操作系統,安裝.NET2.0及powershell1.0 如下

wKioL1Unkfvi-iRxAAGIIWoEgYo618.jpg

安裝好先決條件後,將遷移工具包,複製到03服務器上,運行目錄中的smigdeploy,如果彈出powershell管理工具,證明安裝成功,現在我們可以在Windows Server 2003源端執行導出操作了。

wKiom1UnkWyyLytlAALtiQhpOlU037.jpg



說到IP遷移,其實也是我很想寫的一篇博客,這項技術,當時大概是2013年的時候學習的這項技術,只是一直沒找到很好的機會去實踐,前一陣子,筆者參與負責了一個研發項目,項目背景,使用MVMC 3.1 powershell 遷移vmware 到 hyper-v ,同時編寫異構混合雲門戶.NET程序,調用MVMC的powershell在UI界面進行操作,然後採用變量的方式傳入到程序。


   在進行這項工作的時候,筆者發現一個問題,例如,我需要把虛擬機從ESXI5.1遷移至hyper-v3.0,我的ESXI是192.168.6.0這個網段,hyper-v3.0是192.168.2.0這個網段,當我在MVMC UI界面執行的時候,實質上,MVMC會去讀取esxi裏面虛擬機的配置,然後完全在hyper-v這面建立出來一個一模一樣的虛擬機配置,但是,如果說esxi裏面某臺虛擬機的ip地址是192.168.6.1,當我把這臺虛擬機遷移過來的時候,實質上,網卡信息是被清空的,當我把192.168.6.1這臺虛擬機遷移到hyper-v平臺下,hyper-v會重新爲這臺虛擬機掛載新的網卡,而不是完全把原來esxi裏面虛擬機的網卡信息同步過來,所以造成的效果就是虛擬機遷移到hyper-v平臺後,會重新通過hyper-v網段的dhcp獲取到一個IP地址,如果hyper-v網段內沒有DHCP,那麼遷移過來的虛擬機會拿到一個169的IP地址。


   這個是我在UI界面執行的效果,但是當我使用 MVMC powershell 進行遷移,例如我在ESXI5.1中,有一臺虛擬機是192.168.6.1,那麼遷移過來之後,hyper-v的網卡是 未連接狀態,你需要手動去hyper-v中重新手動連接這塊網卡,手動連接上之後,網卡信息也是被清空的,所以當網卡被連接上之後,也會在hyper-v網段,重新DHCP獲取到一個hyper-v網段的地址,我不知道是不是由於我的環境中,vmware和hyper-v不在同一個網段所導致的,但是我猜想,更可能是發生在VMDK轉VHDX那個過程,IP地址丟了,如果您測試發現同一網段下的遷移,IP地址可以同步過來,歡迎您告訴我結果。


  那麼,當時我就想,怎麼能把vmware裏面的網卡信息,能夠遷移到hyper-v來呢,於是我立刻就想到了一個辦法,這個辦法需要用到三句powershell。


 第一句,很簡單,在MVMC轉換的powershell後面,根據前面傳入的變量,即遷移到hyper-v之後的hyper-v主機,添加一個掛載網卡的命令,先讓遷移過來之後網卡掛載上再說。

 第二句,就是用到了Windows 遷移工具,這條命令,我加在了轉換前面的一個步驟,首先,轉換需要確定Vmware裏面需要轉換那臺虛擬機,那我就把這個轉換虛擬機的變量,傳入到後面的Windwos遷移工具模塊,首先,獲取到需要進行轉換的虛擬機之後,使用遠程會話連接進去,運行export-smigserversetting -ipconfig命令,把這臺虛擬機的IP地址信息保存到一個網絡路徑下、

 第三句,就是當遷移完成之後,也成功遷移虛擬機到hyper-v平臺下,也成功執行了掛載網卡之後,在掛載網卡的後面,再加上一個powershell,import-smigserversetting -ipconfig,將之前保存到網絡路徑下的IP地址再遷移回來,這樣子,vmware裏面的網卡信息就可以同步到hyper-v裏面了,從某些程度來說網卡信息的遷移,也減少了一定的宕機時間與風險性。


 這個就是我想到的一個ip地址遷移,能用到的場景,或者比如說,當前我的2003服務器裏面配置了很多塊網卡,每塊網卡又包括了很多設置,諸如DNS後綴,TCP/IP連接等等,我希望,在保留現有2003的網卡配置上,遷移到2012平臺上,同時,我希望這個步驟可以自動化來完成,避免人工操作的錯誤,那麼您也可以嘗試使用Windows遷移工具進行IP信息的遷移。

 

 OK,那麼言歸正傳,先來幫助大家複習一下


 1.Windwos遷移工具,如果需要遷移,首先,需要在來源端和目標端分別安裝Windows遷移工具,纔可以實施。

 2.如果源端是2008R2及以上,可以直接通過添加Windows遷移工具功能,如果源端是2008/2003,需要在通過在目標端,生成可用於03端的遷移工具包,然後將遷移工具包複製到03上面進行安裝,讓03上面也可以具備Windows遷移工具功能。

 3.由於Windwos遷移工具主要是在powershell工具下面進行執行,所以要求,來源端,至少安裝powershell1.0、.NET2.0

 4.使用Windows遷移工具,主要是執行導入/導出操作,在來源端導出,在目標端導入,這句話如果大家暫時不理解沒關係,隨着我們一步一步的深入,你就會看到。


 介紹一下今天的環境。


 1臺Windows server 2003  VM虛擬環境

 兩塊網卡 分別配置有IP地址

 已通過遷移工具包安裝Windows遷移工具


 1臺Windows server 2012R2  VM虛擬環境

 兩塊網卡,目前都是DHCP到的IP地址

 已通過服務器角色與功能安裝Windows遷移工具

 

 我要做的是將2003裏面的兩塊網卡的所有信息遷移到2012R2對應的網卡下,之後徹底替代掉2003這臺服務器的網絡對外連接。


 首先,我們可以打開server 2003的網卡信息進行查看


記錄下這兩塊網卡的信息,第一塊management網卡的IP地址是10.0.0.3,第二塊Intranet網卡的信息是20.0.0.2,同時也請記下兩塊網卡的MAC地址

 wKiom1Uok5zjy2h2AANsIfyOP5M919.jpg

在源端Windows Server 2003上面,打開Windows遷移工具的powershell tools

wKiom1UolGSDuWzlAAKjJyPquk8243.jpg

執行命令如下

export-smigserversetting -ipconfig -path c:\ipconfig -verbose

wKiom1UolZrDPJ2bAAFApF0JJ2k256.jpg

這條命令的意義如下

export-smigserversetting 導出源端服務器配置

-ipconfig 導出源端服務器的IP地址信息

-path 導出文件的路徑

-verbose 是否在輸出端顯示導出信息


當執行了這條命令之後,會提示讓你輸入一個password,這個password,主要是用於加密Mig遷移文件的,避免Mig文件被惡意使用。


隨意輸入一個你喜歡的密碼之後,smigserver就會開始執行導出IP地址的操作,不光是IP地址,可以看到,整個網卡的所有信息,都會被導出出來。


wKiom1UoluyBYv8cAAOQk-XdRVE507.jpg

wKioL1UomDnQ-h-cAAQ72QiM4so818.jpg

執行完成導出命令後,我們將導出得到的 被加密的 mig文件,複製到2012R2服務器上

wKiom1Uol5DzbejWAAEuFX-FCi4557.jpg

wKiom1Uol9ODv9lrAAFgcUCR8K4908.jpg在2012R2服務器上打開Windows遷移工具powershell管理

執行import-smigserversetting

wKioL1UomebjQQrSAADn9Xty51o869.jpg

或者你也可以通過這條命令,在Windwos powershell中運行Add-PSSnapin,加載遷移工具的命令

wKiom1UomNGyz6F2AAEQNXyxoNE227.jpg

Always 如果你想要使用命令提示符運行也是可以的,在命令提示符下輸入以下命令即可

powershell.exe -PSConsoleFile %SystemRoot%\system32\ServerMigrationTools\ServerMigration.psc1

wKioL1Uo66_SasT1AAGExkiYGFU653.jpg

注意:如果你的遷移源端和目標端在同一個可以通訊的網絡環境下,這裏你就需要選擇一個合適的時間點,將Windows server 2003裏面的網卡禁用掉,總之一定在導入前執行,否則就會出現兩個機器,ip地址衝突的情況!!!


wKioL1UonKCA84-yAAFWjT5oEtg740.jpg

這裏我們選擇在Windwos powershell中執行import-smigserversetting導入操作

wKiom1Uom82iKueaAAPOj4dGzDQ377.jpg

Import-SmigServerSetting -ipconfig all -SourcePhysicalAddress "00-0C-29-E4-B5-92","00-0C-29-E4-B5-9C" -TargetPhysicalAddress "00-0C-29-5E-9E-84","00-0C-29-5E-9E-8E" -path c:\ipconfig -Verbose


這條命令的意義如下


Import-SmigServerSetting 導入服務器配置

-ipconfig 導入服務器配置信息類型,ipconfig爲ip信息

all 爲所有網卡

-SourcePhysicalAddress 

-TargetPhysicalAddress

看到這裏,我猜大家應該就會知道,Windows遷移工具,在做網卡信息映射的時候,是根據MAC地址進行映射的,比如說,2003裏面第一塊網卡,management的MAC地址信息是00-0C-29-E4-B5-92,2012R2裏面第一塊網卡的MAC地址信息是00-0C-29-5E-9E-84,Windows遷移工具,就會將MAC地址爲00-0C-29-E4-B5-92的所有網卡信息,全部映射給00-0C-29-5E-9E-84。我這裏用了一個英文的,號隔離開了多個MAC地址信息 ,代表我可以同時將多塊網卡,按照順序進行映射。

-path 要導入的mig文件路徑

-verbose 輸出導入信息


輸入之前在導出時候設定的密碼,採用密文輸入


wKioL1UonpWTO4lfAALbQy55LA8087.jpg

輸入完成後,Windows遷移工具就會開始映射網卡信息


wKiom1Uonf6C43EYAAHm7-3Y41k810.jpgwKioL1UooCWyNqHLAAeNyaERjyQ094.jpg

映射完成後,我們打開2012R2裏面的網卡信息,發現03裏面的多塊網卡信息已經按照順序映射了過來

wKioL1UooJyAmXmgAALNNeHjdB0495.jpg

wKiom1Uon1DD84oZAALnvZj03Vs575.jpg


本文出自 “一個倔強的孤島” 博客,請務必保留此出處http://wzde2012.blog.51cto.com/6474289/1631172

 






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