乾坤大挪移,巧迁数据到proxmox平台
作者:田逸(sery@163.com)
每當部署完proxmox環境,不管是單機還是集群,實際工作才完成了一半,準確地說是部署好底層環境。接下來還要根據需要創建虛擬機、安裝虛擬機操作系統、部署應用程序、導入數據、調試程序并上線運行。新開發的應用還好,要是把運行的、不能隨時停止服務的業務遷移到proxmox平臺,是很考驗實施者的經驗和技術水平。對于一些數據量很大的遷移,數據還為往目標做完同步,源系統又產生了大量的新增數據。導入數據到目標系統以后,還不得不想法補齊新增數據。
?
另有一種特殊而常見的場景:一些商業軟件在原系統運行多年,因擔心系統崩潰想遷移到新系統上,很可能找不到安裝介質或者找不到服務商支持。直接導入數據到目標系統,無法正常安裝應用程序,更不用說提供服務了。
?
今年11月份,去內蒙古實施一個災備項目,使用了一個商業工具,用來遷移數據非常的靠譜,于是我就試著拿它來把數據遷移到proxmox平臺,完美!
?
基本架構
?
整個遷移環境由源、控制中心、目標三部分組成。
?? 源站:可以是物理服務器,也可以是虛擬機;對操作系統而言,可以是linux,也可以是windows。
?? 目標:proxmox單機或者超融合私有云集群,遷移完成后,生成與源站操作系統相一致的虛擬機。
?? 控制中心:可以是獨立的物理服務器或者proxmox虛擬機,系統為centos。
?
遷移架構網絡有要求,即源站能直接連通控制中心及目標系統。連通目標系統的目的是,數據的傳輸,直接在源和目標之間進行,不通過控制中心。
?
環境部署
?
◎控制中心
?
控制中心基于centos 7,經多次驗證,centos 7.5版本可正常支持遷移控制中心。在安裝centos 7時,軟件包的選擇,需要定制一下。
?
從默認最新安裝改選成虛擬話主機,并勾選如下幾個選項,以利于后期安裝。
按提示設置網絡地址、網關、dns等項目,完成系統安裝。
?
ü? 安裝控制中心軟件包
我拿到的軟件包是ahdr_server_20181201.zip,傳到控制中心的系統上(可以是物理機,也可以是云主機),用unzip ahdr_server_20181201.zip 直接解包。然后進入目錄ahdr_server.
[root@move182 ahdr_server]# ls -al total 809464 drwxr-xr-x? 3 root root?????? 318 Dec? 5 22:25 . dr-xr-x---. 5 root root?????? 215 Dec? 5 22:19 .. -rw-r--r--? 1 root root??????? 54 Aug 29? 2017 ahdr.conf -rw-r--r--? 1 root root? ? 27860308 Jun 28 04:14 ahdr.tar.gz -rw-r--r--? 1 root root 237563865 Jun 28 03:13 ? apache.tar.gz -rw-r--r--? 1 root root???? 37984 Dec? 1 16:22 application.zip -rw-r--r--? 1 root root? ? 50703847 Apr 29? 2018 ? depends.tar.gz -rw-r--r--? 1 root root?? 6701875 Jan 13? 2018 edk2.git.tar.gz -rw-r--r--? 1 root root? ? 16535145 Sep 18? 2017 ? libvirt.tar.gz -rw-r--r--? 1 root root 456031858 Aug 31 14:08 ? mysql.tar.gz -rw-r--r--? 1 root root??? 145960 Nov 17? 2017 nbd.tar.gz -rw-r--r--? 1 root root?? 6168233 Jul 18? 2017 novnc.tar.gz -rw-r--r--? 1 root root? ? 27068064 Jul 18? 2017 php.tar.gz -rw-r--r--? 1 root root????? 3035 Jul 20? 2017 ReadMe.txt drwxr-xr-x? 2 root root?????? 105 Jun 15 02:18 scripts -rwxr-xr-x? 1 root root???? 21438 Apr 29? 2018 setup_move.sh -rwxr-xr-x? 1 root root???? 21642 Jun? 6? ? 2018 setup.sh -rw-r--r--? 1 root root????? 2846 Jun 28 03:16 version.txt [root@move182 ? ahdr_server]# ./setup_move.sh install …….省略…….. edk2.git/ovmf-x64/OVMF_VARS-with-csm.fd edk2.git/ovmf-x64/UefiShell.iso edk2.git/ovmf-x64/OVMF-pure-efi.fd nbd.ko info:all install successfully eth0: ? flags=4163<UP,BROADCAST,RUNNING,MULTICAST>? mtu 1500 ??????? ? inet 172.16.5.182? netmask ? 255.255.255.0? broadcast 172.16.5.255 ??????? ? inet6 fe80::e85e:acff:fe77:2e4? ? prefixlen 64? scopeid ? 0x20<link> ??????? ? ether ea:5e:ac:77:02:e4? ? txqueuelen 1000? (Ethernet) ??????? ? RX packets 984360? bytes ? 1010185836 (963.3 MiB) ??????? ? RX errors 0? dropped 29? overruns 0? ? frame 0 ??????? ? TX packets 452969? bytes ? 208015165 (198.3 MiB) ??????? TX errors 0? dropped 0 overruns 0? carrier 0? ? collisions 0 ……………省略……………………… virbr0: ? flags=4099<UP,BROADCAST,MULTICAST>? ? mtu 1500 ??????? ? inet 192.168.122.1? netmask ? 255.255.255.0? broadcast ? 192.168.122.255 ??????? ? ether 52:54:00:e7:af:b5? ? txqueuelen 1000? (Ethernet) ??????? ? RX packets 0? bytes 0 (0.0 B) ??????? ? RX errors 0? dropped 0? overruns 0? ? frame 0 ??????? ? TX packets 0? bytes 0 (0.0 B) ??????? ? TX errors 0? dropped 0 overruns ? 0? carrier 0? collisions 0 ? server lan ? ip:172.16.5.182 ? ??#交互方式,手工輸入本機ip server lan ip:172.16.5.182 server ? port(default 5000):5000 libvirtd start ok mysqld start ok httpd start ok novncd start ok ahdrd start ok visitord start ok mountd ? start ok |
?
ü? 安裝web管理控制臺
瀏覽器輸入安裝好控制中心軟件包的ip地址,進行下一步操作。
?
鼠標點擊“同意安裝協議”,進行相關項目檢查,如果不正常,需要逐個處理。
全部項目符合要求(綠色對勾),點擊“下一步”。
?
完成安裝以后,其界面如圖所示。
?
ü? 軟件授權
安裝完以后,點登錄后臺,或者直接瀏覽器輸入服務器ip地址,進行登錄。
?
索取授權碼,然后粘貼到下面的編輯框。
?
激活以后,可以在界面看到相關授權信息。
?
到這里,控制中心的安裝就順利完成了。
?
◎源站(支持linux及windows)
?
?
ü? 取得客戶端軟件
瀏覽器訪問控制中心,在登錄界面進行下載,然后把它傳到源站,進行相應的安裝。
?
?? Linux源站安裝客戶端(以centos7.5為例)
登錄系統,解壓下載來的軟件包client_linux.zip,然后進入解壓后的目錄ahdr_client。
[root@source184 ahdr_client]# ls -al total 117904 drwxr-xr-x ?4 root root???? 4096 Dec? ? 5 23:06 . dr-xr-x---. 5 root root????? 207 Dec? ? 5 23:04 .. -rw-r--r--? 1 root root? ? 8605667 Dec? 1 16:14 ? ahdr_4_32.zip -rw-r--r--? 1 root root? ? 8923112 Dec? 1 16:14 ? ahdr_4_64.zip -rw-r--r--? 1 root root? ? 9946677 Dec? 1 16:14 ahdr_5_32.zip -rw-r--r--? 1 root root? ? 9606400 Dec? 1 16:14 ? ahdr_5_64.zip -rw-r--r--? 1 root root? ? 9749209 Dec? 1 16:14 ? ahdr_6_32.zip -rw-r--r--? 1 root root 12831206 Dec? 1 16:14 ahdr_6_64.zip -rw-r--r--? 1 root root 10782124 Dec? 1 16:14 ahdr_7_64.zip -rw-r--r--? 1 root root?????? 81 Mar 26? 2018 ahdr.conf -rw-r--r--? 1 root root 11879353 Sep 27 15:07 ? ahdr_kylin.zip -rw-r--r--? 1 root root 11424514 Dec? 1 16:14 ahdr_suse11.zip -rw-r--r--? 1 root root? ? 9477048 Dec? 1 16:15 ? ahdr_ubuntu.zip -rw-r--r--? 1 root root????? 148 Mar 26? 2018 depends_4_32.zip -rw-r--r--? 1 root root????? 148 Mar 26? 2018 depends_4_64.zip -rw-r--r--? 1 root root????? 148 Mar 26? 2018 depends_5_32.zip -rw-r--r--? 1 root root????? 148 Mar 26? 2018 depends_5_64.zip -rw-r--r--? 1 root root?? 198218 Mar 26? 2018 depends_6_32.zip -rw-r--r--? 1 root root?? 195619 Mar 26? 2018 depends_6_64.zip -rw-r--r--? 1 root root? ? 8942532 Oct 25 12:29 depends_7_64.zip -rw-r--r--? 1 root root????? 148 Aug 16 16:10 depends_kylin.zip -rw-r--r--? 1 root root????? 148 Mar 26? 2018 depends_suse11.zip -rw-r--r--? 1 root root????? 148 Mar 26? 2018 depends_ubuntu.zip -rw-r--r--? 1 root root? ? 8058016 Nov 17 13:29 driver.zip -rw-r--r--? 1 root root???? 9014 Nov 13 11:08 image.zip drwxr-xr-x? 2 root root??????? 6 Apr 24? 2018 oracle -rw-r--r--? 1 root root???? 4223 Jan? ? 8? 2018 qinfo.pl -rw-r--r--? 1 root root???? 2289 Mar 26? 2018 ReadMe.txt drwxr-xr-x? 2 root root?????? 19 Mar 26? 2018 scripts -rwxr-xr-x? 1 root root??? 14957 Mar 15? 2011 setup.sh -rw-r--r--? 1 root root?????? 24 Mar 26? 2018 startup.nsh |
?
執行如下命令進行安裝:
[root@source184 ? ahdr_client]# ./setup.sh? install agent stop ok start uninstall ahdr module uninstall ahdr module successfully info:uninstall_boot_image.sh ok info:remove ahdr successfully info:remove ahdrd successfully [root@source184 ahdr_client]# ./setup.sh? install system_info = 7_64 Archive:? ? ahdr_7_64.zip ?? creating: ? /usr/local/ahdr/ ?? creating: ? /usr/local/ahdr/bin/? inflating: /usr/local/ahdr/bin/agent ……省略………… Archive:? ? image.zip ?? creating: ? /usr/local/ahdr/image/ ?? creating: ? /usr/local/ahdr/image/backup/ ? inflating: ? /usr/local/ahdr/image/control_boot_image.pl? ? ? inflating: ? /usr/local/ahdr/image/install_boot_image.sh? ? ? inflating: ? /usr/local/ahdr/image/qinfo.pl? ? inflating: /usr/local/ahdr/image/uninstall_boot_image.sh? info:install_boot_image.sh ok proxy host:172.16.5.182???? ? #此處輸入主控服務器的ip地址 proxy port(default 5000):5000 agent start ok |
?
?? centos客戶端檢查
安裝完linux客戶端以后,會自動啟動兩個進程:agent和clone,通過執行如下指令進行驗證:
[root@source184 bin]# pwd /usr/local/ahdr/bin [root@source184 bin]# ps aux | grep -E "agent|clone" root???? 14877? ? 0.2? 0.0? 61712? ? 6552 pts/0??? S??? 00:56?? ? 0:01 /usr/local/ahdr/bin/agent root???? 18042? ? 0.0? 0.0 112704?? 936 pts/0??? S+?? ? 01:03?? 0:00 grep --color=auto ? -E agent|clone |
糟糕,只有agent進程,而沒有clone進程。同級目錄下,有一個工具,用來檢查問題所在,命令如下:
[root@source184 bin]# ./check.sh ./clone: ? ../lib/libdevmapper.so.1.02: version `DM_1_02_141' not found (required by ? /lib64/liblvm2app.so.2.2) |
由這個輸出信息可知,是庫文件有問題。進入lib目錄,查看具體的文件。
[root@source184 lib]# pwd /usr/local/ahdr/lib [root@source184 lib]# ls -al total 6768 drwxr-xr-x 2 root root???? 133 Oct 26? 2017 . drwxr-xr-x 9 root root????? 95 Dec? ? 9 00:53 .. -r-xr-xr-x 1 root root? 356040 Oct 26? 2017 libdevmapper.so -r-xr-xr-x 1 root root? 356040 Oct 26? 2017 libdevmapper.so.1.02 -rwxr-xr-x 1 root root 2072378 Jun ? 10? 2017 libparted-1.9.so.0 -rwxr-xr-x 1 root root 2072378 Jun ? 10? 2017 libparted-1.9.so.0.0.0 -rwxr-xr-x ? 1 root root 2072378 Jun 10? 2017 ? libparted.so |
?
給文件libdevmapper.so.1.02改名或者刪除,為保險起見,先改名,有問題可回滾恢復。
[root@source184 lib]# pwd /usr/local/ahdr/lib [root@source184 ? lib]# mv libdevmapper.so.1.02?? libdevmapper.so.1.02_bk |
?
再執行檢查,注意看信息輸出。
[root@source184 bin]# pwd /usr/local/ahdr/bin [root@source184 ? bin]# ./check.sh |
無信息輸出為正常。查看進程,看是clone進程是否啟動。
[root@source184 bin]# ps aux | grep -E "agent|clone" root???? 14877? ? 0.2? 0.0? 61712? ? 6552 pts/0??? S??? 00:56?? ? 0:02 /usr/local/ahdr/bin/agent root???? 23702? ? 2.9? 0.1? 79324 13032 pts/0??? S??? ? 01:15?? 0:03 ? /usr/local/ahdr/bin/clone 172.16.5.182 5000 root???? 24411? ? 0.0? 0.0 112704?? 940 pts/0??? S+?? ? 01:17?? 0:00 grep --color=auto ? -E agent|clone |
啟動完成,linux客戶端完成安裝配置。同時,我們切換到控制中心管理界面,可在“設備管理”菜單下發現源站linux。
?
?? windows源站客戶端安裝
登錄windows系統,鼠標雙擊文件“client_windows.exe”。
交互界命令行輸入主控服務器的ip地址及默認端口(與linux源站客戶端設置相同)。
執行完這個步驟,就能到主控制器管理界面看到此windows客戶端已經跟主控服務器建立起連接。
?
安裝界面點“next“安裝客戶端驅動。
安裝完成,提示要重啟服務器,這個…,等沒有訪問或者訪問量很小的時候,計劃性重啟吧!.
注意:安裝windows客戶端時,如果被殺毒軟件攔截,需要手工放行。
?
?? windows客戶端驗證
powershell查看進程agent及clone進程是否存在,正常是需要兩個進程都在運行狀態。
?
?
?
◎目標站部署與設置
?
ü? 獲取目標站所需的操作系統ISO文件,并把它上傳到proxmox ISO目錄。
root@pve60:/var/lib/vz/template/iso# pwd /var/lib/vz/template/iso root@pve60:/var/lib/vz/template/iso# ls -al total 19296512 drwxr-xr-x 2 root root???? ??4096 Dec? ? 5 22:48 . drwxr-xr-x 5 root root?????? 4096 Sep? 3 14:07 .. -rw-r--r-- 1 root ? root? 877920256 Dec? 5 17:19 AhdrPE_0608_12.iso -rw------- 1 root root 4329570304 Oct ? 31 12:52 CentOS-7-x86_64-DVD-1511.iso -rw-r--r-- 1 root root 4470079488 ? May? 4? ? 2018 CentOS-7-x86_64-DVD-1804.iso -rw-r--r-- 1 root root 1648095232 Mar ? 26? 2018 centreon-3.4.6.el6.x86_64.iso -rw-r--r-- 1 root root 1093398528 Mar ? 26? 2018 centreon-3.4.6.el7.x86_64.iso -rw------- 1 root root 3341268992 ? Nov? 2 23:49 cn_windows_7_ultimate_x64_dvd_x15-66043.iso -rw------- 1 root root 3368962048 ? Nov? 4 21:06 ? cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_vl_build_x64_dvd_617396.iso -rw-r--r-- 1 root root? 305135616 Jul 14 19:12 ? debian-9.5.0-amd64-netinst.iso -rw-r--r-- 1 root root? 322842624 Nov? 4 20:13 virtio-win-0.1.160.iso |
?
ü? 在proxmox(單機或集群不論)創建虛擬機,磁盤的容量要大于源站磁盤的總容量,并設置“CD/DVD驅動器“為上傳的鏡像文件”AhdrPE_0608_12.iso”。
設置好內存、網絡等創建好該虛擬機。
?
ü? 從proxmox管理界面啟動剛創建好的虛擬機。從proxmox 管理界面“>_控制臺”登錄虛擬機系統。
從系統界面可判斷,此系統是一個內存運行系統windows PE。
ü? 為目標系統windows PE設置ip地址、子網掩碼、默認網關等幾項網絡參數,使其能被源站訪問。
?
ü? 測試此windows PE的網絡連通性。
?
ü? 目標站windows PE客戶端設置。目標站客戶端集成在操作系統windows PE之中,因此不需要單獨進行安裝。接下來,需要對客戶端進行設置,客戶端的設置程序,在系統桌面上有快捷方式,鼠標雙擊之。
ü? 調出交互命令行,輸入所需信息,輸入要仔細核實。
輸入本地默認網關,回車,命令行窗口會自動關閉。
?
ü? 雙擊桌面圖標“AhdrStart”啟動服務。
啟動此服務后,片刻,命令行窗口自行消失。
?
ü? 驗證目標站服務是否正常。打開windows任務管理器,查看進程agent和move是否同時存在(考眼力呢),同時處于運行狀態為正常。
?
到這里,源、控制中心、目標系統的安裝、配置就全部完成了。
?
控制中心安裝遷移模塊
?
控制中心登錄管理后臺,選擇本地模塊“Move“進行在線安裝。
安裝正確完成以后,在模塊列表查看其狀態。
切換到“設備”菜單所屬界面,在本地模塊“Move”未被安裝前,連接到控制器管理界面的設備,一會兒在線,一會而離線,但安裝好本地模塊“Move”以后,此現象消失。
?
系統遷移
?
登錄控制中心管理后臺,鼠標一次點擊”設備“à”遷移管理”à“新增遷移任務”。
選擇要遷移的源站,可以有多個源站,但如果要并行遷移,需要準備對等的目標系統。
選區源站需要遷移的分區,為了保證遷移后應用正常,建議選取源站全部分區,當然,如果理解每個分區的用途,也可以丟棄不不要的分區。
選擇目標機,就是前邊步驟部署的windows PE。如果要遷移多個源站,則需要準備多個windows PE作為接受方。
?
為源站遷移準備目標磁盤,目標系統windows PE也可以配置多個磁盤,用于接收源站的數據。
?
設定傳輸速度,一般情況不設置,保持默認值“0”。
?
提交后,如果正常,則可以看到任務列表有剛創建的任務存在。
?
點任務列表里的啟動按鈕,彈出確認界面。
一切正常的話,管理界面提示“任務成功”。如果啟動失敗,則需要從源站查找原因,看clone進程是否運行。另外,如果授權碼錯誤,也可能導致任務失敗。任務執行,在控制中心管理界面有進度顯示。
?
?
系統切換
?
遷移任務完成數據復制以后,很可能源站還有新的數據進行寫入。與相關人員協商好計劃維護時間,停止相關應用程序,確保源站數據不再寫入。登錄到控制中心管理后臺,鼠標點擊遷移列表中正在進行遷移的按鈕“增量同步”,就可以把源站與目標站的數據補齊,使其完全同步。
?
增量數據補齊到目標站以后,徹底關閉源站,使其不再產生任何新的數據。
?
登錄proxmox web管理后臺,重啟做為目標站的虛擬機(就是那個windows PE)。
正常啟動后,windows PE將會被遷移過來的centos 7所替代。
Windows 源站的遷移,也與此相同,不再重復說明。
打個小廣告:更多proxmox內容,歡迎訂閱專欄《人人都能玩的超融合私有云神器Proxmox》,先領券后訂閱~
總結
以上是生活随笔為你收集整理的乾坤大挪移,巧迁数据到proxmox平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【BZOJ4407】于神之怒加强版
- 下一篇: 简洁版即时聊天---I/O多路复用使用