内容简介:作者:田逸(sery@163.com)每当部署完proxmox环境,不管是单机还是集群,实际工作才完成了一半,准确地说是部署好底层环境。接下来还要根据需要创建虚拟机、安装虚拟机操作系统、部署应用程序、导入数据、调试程序并上线运行。新开发的应用还好,要是把运行的、不能随时停止服务的业务迁移到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 -a l
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 源站的迁移,也与此相同,不再重复说明。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First HTML and CSS
Elisabeth Robson、Eric Freeman / O'Reilly Media / 2012-9-8 / USD 39.99
Tired of reading HTML books that only make sense after you're an expert? Then it's about time you picked up Head First HTML and really learned HTML. You want to learn HTML so you can finally create th......一起来看看 《Head First HTML and CSS》 这本书的介绍吧!