如果企業現在已經有了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遷移工具,支持以下系統平臺的遷移
1.要安裝Windows遷移工具,首先可以選擇在目標端進行安裝,本例爲2012R2端
打開服務器管理-->添加服務器角色與功能
選擇功能中的 Windows Server 遷移工具
選擇下一步,進行安裝,等待安裝完成,選擇關閉。
安裝完成後你就會發現系統的開始菜單裏面,多出了這樣一個東東
點開之後,他大概長成這個樣子,就是一個powershell的管理界面
在這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
這條命令的每個參數,意義如下
/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 如下
安裝好先決條件後,將遷移工具包,複製到03服務器上,運行目錄中的smigdeploy,如果彈出powershell管理工具,證明安裝成功,現在我們可以在Windows Server 2003源端執行導出操作了。
說到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地址
在源端Windows Server 2003上面,打開Windows遷移工具的powershell tools
執行命令如下
export-smigserversetting -ipconfig -path c:\ipconfig -verbose
這條命令的意義如下
export-smigserversetting 導出源端服務器配置
-ipconfig 導出源端服務器的IP地址信息
-path 導出文件的路徑
-verbose 是否在輸出端顯示導出信息
當執行了這條命令之後,會提示讓你輸入一個password,這個password,主要是用於加密Mig遷移文件的,避免Mig文件被惡意使用。
隨意輸入一個你喜歡的密碼之後,smigserver就會開始執行導出IP地址的操作,不光是IP地址,可以看到,整個網卡的所有信息,都會被導出出來。
執行完成導出命令後,我們將導出得到的 被加密的 mig文件,複製到2012R2服務器上
在2012R2服務器上打開Windows遷移工具powershell管理
執行import-smigserversetting
或者你也可以通過這條命令,在Windwos powershell中運行Add-PSSnapin,加載遷移工具的命令
Always 如果你想要使用命令提示符運行也是可以的,在命令提示符下輸入以下命令即可
powershell.exe -PSConsoleFile %SystemRoot%\system32\ServerMigrationTools\ServerMigration.psc1
注意:如果你的遷移源端和目標端在同一個可以通訊的網絡環境下,這裏你就需要選擇一個合適的時間點,將Windows server 2003裏面的網卡禁用掉,總之一定在導入前執行,否則就會出現兩個機器,ip地址衝突的情況!!!
這裏我們選擇在Windwos powershell中執行import-smigserversetting導入操作
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 輸出導入信息
輸入之前在導出時候設定的密碼,採用密文輸入
輸入完成後,Windows遷移工具就會開始映射網卡信息
映射完成後,我們打開2012R2裏面的網卡信息,發現03裏面的多塊網卡信息已經按照順序映射了過來
本文出自 “一個倔強的孤島” 博客,請務必保留此出處http://wzde2012.blog.51cto.com/6474289/1631172