乾坤大挪移,巧遷數據到proxmox平臺

作者:田逸([email protected]

每當部署完proxmox環境,不管是單機還是集羣,實際工作才完成了一半,準確地說是部署好底層環境。接下來還要根據需要創建虛擬機、安裝虛擬機操作系統、部署應用程序、導入數據、調試程序並上線運行。新開發的應用還好,要是把運行的、不能隨時停止服務的業務遷移到proxmox平臺,是很考驗實施者的經驗和技術水平。對於一些數據量很大的遷移,數據還爲往目標做完同步,源系統又產生了大量的新增數據。導入數據到目標系統以後,還不得不想法補齊新增數據。

 

另有一種特殊而常見的場景:一些商業軟件在原系統運行多年,因擔心繫統崩潰想遷移到新系統上,很可能找不到安裝介質或者找不到服務商支持。直接導入數據到目標系統,無法正常安裝應用程序,更不用說提供服務了。

 

今年11月份,去內蒙古實施一個災備項目,使用了一個商業工具,用來遷移數據非常的靠譜,於是我就試着拿它來把數據遷移到proxmox平臺,完美!

 

基本架構

 

整個遷移環境由源、控制中心、目標三部分組成。

image.png

Ø  源站:可以是物理服務器,也可以是虛擬機;對操作系統而言,可以是linux,也可以是windows。

Ø  目標:proxmox單機或者超融合私有云集羣,遷移完成後,生成與源站操作系統相一致的虛擬機。

Ø  控制中心:可以是獨立的物理服務器或者proxmox虛擬機,系統爲centos。

 

遷移架構網絡有要求,即源站能直接連通控制中心及目標系統。連通目標系統的目的是,數據的傳輸,直接在源和目標之間進行,不通過控制中心。

 

環境部署

 

控制中心

 

控制中心基於centos 7,經多次驗證,centos 7.5版本可正常支持遷移控制中心。在安裝centos 7時,軟件包的選擇,需要定製一下。

image.png

 

從默認最新安裝改選成虛擬話主機,並勾選如下幾個選項,以利於後期安裝。

image.png

按提示設置網絡地址、網關、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地址,進行下一步操作。

 

鼠標點擊“同意安裝協議”,進行相關項目檢查,如果不正常,需要逐個處理。

image.png

全部項目符合要求(綠色對勾),點擊“下一步”。

image.png

 

完成安裝以後,其界面如圖所示。

image.png

 

ü  軟件授權

安裝完以後,點登錄後臺,或者直接瀏覽器輸入服務器ip地址,進行登錄。

image.png

 

索取授權碼,然後粘貼到下面的編輯框。

image.png

 

激活以後,可以在界面看到相關授權信息。

image.png

 

到這裏,控制中心的安裝就順利完成了。

 

源站(支持linux及windows)

 

 

ü  取得客戶端軟件

瀏覽器訪問控制中心,在登錄界面進行下載,然後把它傳到源站,進行相應的安裝。

image.png

 

Ø  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。

image.png

 

Ø  windows源站客戶端安裝

登錄windows系統,鼠標雙擊文件“client_windows.exe”。

image.png

交互界命令行輸入主控服務器的ip地址及默認端口(與linux源站客戶端設置相同)。

image.png

執行完這個步驟,就能到主控制器管理界面看到此windows客戶端已經跟主控服務器建立起連接。

image.png

 

安裝界面點“next“安裝客戶端驅動。

image.png

安裝完成,提示要重啓服務器,這個…,等沒有訪問或者訪問量很小的時候,計劃性重啓吧!.

注意:安裝windows客戶端時,如果被殺毒軟件攔截,需要手工放行。

 

Ø  windows客戶端驗證

powershell查看進程agent及clone進程是否存在,正常是需要兩個進程都在運行狀態。

 image.png

 


 

目標站部署與設置

 

ü  獲取目標站所需的操作系統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”。

image.png

設置好內存、網絡等創建好該虛擬機。

image.png

 

ü  從proxmox管理界面啓動剛創建好的虛擬機。從proxmox 管理界面“>_控制檯”登錄虛擬機系統。

image.png

從系統界面可判斷,此係統是一個內存運行系統windows PE。

ü  爲目標系統windows PE設置ip地址、子網掩碼、默認網關等幾項網絡參數,使其能被源站訪問。

image.png

 

ü  測試此windows PE的網絡連通性。

image.png

 

ü  目標站windows PE客戶端設置。目標站客戶端集成在操作系統windows PE之中,因此不需要單獨進行安裝。接下來,需要對客戶端進行設置,客戶端的設置程序,在系統桌面上有快捷方式,鼠標雙擊之。

image.png

ü  調出交互命令行,輸入所需信息,輸入要仔細覈實。

image.png

輸入本地默認網關,回車,命令行窗口會自動關閉。

 

ü  雙擊桌面圖標“AhdrStart”啓動服務。

image.png

啓動此服務後,片刻,命令行窗口自行消失。

 

ü  驗證目標站服務是否正常。打開windows任務管理器,查看進程agent和move是否同時存在(考眼力呢),同時處於運行狀態爲正常。

image.png

 

到這裏,源、控制中心、目標系統的安裝、配置就全部完成了。

 

控制中心安裝遷移模塊

 

控制中心登錄管理後臺,選擇本地模塊“Move“進行在線安裝。

image.png

安裝正確完成以後,在模塊列表查看其狀態。

image.png

切換到“設備”菜單所屬界面,在本地模塊“Move”未被安裝前,連接到控制器管理界面的設備,一會兒在線,一會而離線,但安裝好本地模塊“Move”以後,此現象消失。

image.png

 

系統遷移

 

登錄控制中心管理後臺,鼠標一次點擊”設備“à”遷移管理”à“新增遷移任務”。

image.png

選擇要遷移的源站,可以有多個源站,但如果要並行遷移,需要準備對等的目標系統。

image.png

選區源站需要遷移的分區,爲了保證遷移後應用正常,建議選取源站全部分區,當然,如果理解每個分區的用途,也可以丟棄不不要的分區。

image.png

選擇目標機,就是前邊步驟部署的windows PE。如果要遷移多個源站,則需要準備多個windows PE作爲接受方。

image.png

 

爲源站遷移準備目標磁盤,目標系統windows PE也可以配置多個磁盤,用於接收源站的數據。

image.png

 

設定傳輸速度,一般情況不設置,保持默認值“0”。

image.png

 

提交後,如果正常,則可以看到任務列表有剛創建的任務存在。

image.png

 

點任務列表裏的啓動按鈕,彈出確認界面。

image.png

一切正常的話,管理界面提示“任務成功”。如果啓動失敗,則需要從源站查找原因,看clone進程是否運行。另外,如果授權碼錯誤,也可能導致任務失敗。任務執行,在控制中心管理界面有進度顯示。

image.png

 

 

系統切換

 

遷移任務完成數據複製以後,很可能源站還有新的數據進行寫入。與相關人員協商好計劃維護時間,停止相關應用程序,確保源站數據不再寫入。登錄到控制中心管理後臺,鼠標點擊遷移列表中正在進行遷移的按鈕“增量同步”,就可以把源站與目標站的數據補齊,使其完全同步。

image.png

 

增量數據補齊到目標站以後,徹底關閉源站,使其不再產生任何新的數據。

 

登錄proxmox web管理後臺,重啓做爲目標站的虛擬機(就是那個windows PE)。

image.png

 

正常啓動後,windows PE將會被遷移過來的centos 7所替代。

 

Windows 源站的遷移,也與此相同,不再重複說明。


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