云迁移部署
环境
- Centos7.2(transport/conductor)
- 关闭防火墙、selinux
- 部署在海河v1.2以及华云公有云等有默认防火墙控制的公有云上时,
要放开上行和下行的端口限制,默认端口是8080/9088/9099/9900。
配置要求
| cpu |
memory |
带宽 |
| 2core |
4G |
10M |
- transport(非中转,task为并行任务数, CPU、宽带为推荐配置,内存为要求配置)
| cpu |
memory |
nic |
| 0.5core*task |
2G*task + 0.5G |
10MB*task |
备注:该类transport是作为接受端的transport,要在目标迁移的项目中。
- transport(纯中转,task为并行任务数,CPU、宽带为推荐配置,内存为要求配置)
| cpu |
memory |
nic |
| 0.5core*task |
0.2G*task + 0.5G |
10MB*task |
- packer-linux(CPU、宽带为推荐配置,内存为要求配置)
| cpu |
memory |
nic |
| 0.5core |
512MB |
10MB |
- packer-windows(CPU、宽带为推荐配置,内存为要求配置)
| cpu |
memory |
nic |
| 0.5core |
512MB |
10MB |
Conductor & Web
安装方式一 Docker安装方式
-
安装docker
- yum -y install docker
- systemctl enable docker
- systemctl start docker
-
下载并启动docker image
- wget http://117.48.207.245/cmigrate/v1.2.3/docker_conductor_v1.2.3.image
- docker load -i docker_conductor_v1.2.3.image
- docker run --privileged -d --net=host --restart=always cmigrate/conductor:v1.2.3
-
进入docker终端(查看日志时使用)
- docker ps 获取container id
- docker exec -it e8659d31a313 bash #e8659d31a313 是 container id
-
备注:
- web 已经部署在了 conductor docker 镜像中,不需要额外部署。
- 删除已有docker镜像的方法:
a. docker ps 获取container id
b. docker container rm -f e8659d31a313
c. docker image rm cmigrate/conductor:v1.2.3
安装方式二 直接安装方式
Transport
安装方式一 Docker安装方式
-
安装docker
- yum -y install docker
- systemctl enable docker
- systemctl start docker
-
下载并启动docker image
- wget http://117.48.207.245/cmigrate/v1.2.3/docker_transport_v1.2.3.image
- docker load -i docker_transport_v1.2.3.image
- docker run --privileged -d --net=host -v /dev:/dev --restart=always cmigrate/transport:v1.2.3
-
进入docker终端(查看日志时使用)
- docker ps 获取container id
- docker exec -it e8659d31a313 bash #e8659d31a313 是 container id
备注:
1. 删除已有docker镜像的方法:
a. docker ps 获取container id
b. docker container rm -f e8659d31a313
c. docker image rm cmigrate/transport:v1.2.3
安装方式二 直接安装方式
-
安装virt-v2v
- yum install libguestfs-winsupport virt-v2v ntfs-3g ntfsprogs -y
- systemctl enable libvirtd
- systemctl start libvirtd
- yum install http://117.48.207.245:/cmigrate/virtio-win-0.1.141-1.noarch.rpm -y
-
安装grub-install
- wget http://117.48.207.245:/cmigrate/grub-0.97-99.el6.x86_64.rpm
- rpm -ivh grub-0.97-99.el6.x86_64.rpm --nodeps
-
安装supervisor
- yum install supervisor -y
- systemctl enable supervisord
- systemctl start supervisord
-
安装transport
- wget http://117.48.207.245:/cmigrate/v1.2.3/transport-1.2.3.tgz
- tar -pzxvf transport-1.2.3.tgz -C /
- systemctl restart supervisord
Packer
Windows
x64
-
安装packer
- wget http://117.48.207.245:/cmigrate/v1.2.3/packer-1.2.3-windows-x64.zip
- 关闭防火墙,卸载杀毒软件
- 解压packer-1.2.3-windows-x64.zip, 以管理员身份运行cmd工具,使用cmd命令行执行install.bat脚本完成安装
- cmd命令行里使用"netstat -ano" 查看9900端口是否被监听
x86
-
安装packer
- wget http://117.48.207.245:/cmigrate/v1.2.3/packer-1.2.3-windows-x86.zip
- 关闭防火墙,卸载杀毒软件
- 解压packer-1.2.3-windows-x86.zip, 以管理员身份运行cmd工具,使用cmd命令行执行install.bat脚本完成安装
- cmd命令行里使用"netstat -ano" 查看9900端口是否被监听
Linux
Centos 7
-
安装kernel-devel
- 使用“uname -r”命令获取内核版本KERNEL_VERSION,推荐http://mirror.centos.org/centos/ 或者https://www.rpmfind.net/linux/rpm2html/search.php?query=kernel-devel
- 搜索kernel-devel-KERNEL_VERSION.rpm
- 使用rpm -ivh kernel-devel-KERNEL_VERSION.rpm 进行安装
-
安装datto
- yum localinstall https://cpkg.datto.com/datto-rpm/repoconfig/datto-el-rpm-release-$(rpm -E %rhel)-latest.noarch.rpm
- yum install dkms-dattobd dattobd-utils
- modprobe dattobd 加载内核模块
- 使用"lsmod | grep datto"查看datto模块是否被加载上
-
安装dmidecode
- yum install dmidecode
-
安装packer
- wget http://117.48.207.245:/cmigrate/v1.2.3/packer-1.2.3-linux-generic.tgz
- tar -pzxvf packer-1.2.3-linux-generic.tgz -C /
- packer_service start
- packer_service status
Centos 6
-
安装kernel-devel
- 使用“uname -r”命令获取内核版本KERNEL_VERSION,推荐http://mirror.centos.org/centos/ 或者https://www.rpmfind.net/linux/rpm2html/search.php?query=kernel-devel
- 搜索kernel-devel-KERNEL_VERSION.rpm
- 使用rpm -ivh kernel-devel-KERNEL_VERSION.rpm 进行安装
-
安装datto
- yum localinstall https://cpkg.datto.com/datto-rpm/repoconfig/datto-el-rpm-release-$(rpm -E %rhel)-latest.noarch.rpm
- yum install dkms-dattobd dattobd-utils
- modprobe dattobd 加载内核模块
- 使用"lsmod | grep datto"查看datto模块是否被加载上
-
安装dmidecode
- yum install dmidecode
-
安装packer
- wget http://117.48.207.245:/cmigrate/v1.2.3/packer-1.2.3-linux-centos6.tgz
- tar -pzxvf packer-1.2.3-linux-centos6.tgz -C /
- packer_service start
- packer_service status
Redhat 6.6
-
安装kernel-devel
- 使用“uname -r”命令获取内核版本KERNEL_VERSION,推荐http://mirror.centos.org/centos/ 或者https://www.rpmfind.net/linux/rpm2html/search.php?query=kernel-devel
- 搜索kernel-devel-KERNEL_VERSION.rpm
- 使用rpm -ivh kernel-devel-KERNEL_VERSION.rpm 进行安装
-
安装datto
-
源主机yum可用
- yum install dkms 安装依赖
- yum localinstall
https://cpkg.datto.com/datto-rpm/EnterpriseLinux/6.6/x86_64/libdattobd-0.10.9-23.1.el6.x86_64.rpm
- yum localinstall
https://cpkg.datto.com/datto-rpm/EnterpriseLinux/6.6/x86_64/dkms-dattobd-0.10.9-23.1.el6.noarch.rpm
- yum localinstall
https://cpkg.datto.com/datto-rpm/EnterpriseLinux/6.6/x86_64/dattobd-utils-0.10.9-23.1.el6.x86_64.rpm
- modprobe dattobd 加载内核模块
- 使用"lsmod | grep datto"查看datto模块是否被加载上
-
源主机yum不可用
-
方法1:wget方式下载所有需要的包,本地安装
- 依赖包,dkms, elfutils-default-yama-scope, elfutils-libelf-devel, elfutils-libs,推荐
https://www.rpmfind.net
- 驱动包,libdattobd-0.10.9-23.1.el6.x86_64.rpm,dattobd-0.10.9-23.1.el6.noarch.rpm,dattobd-utils-0.10.9-23.1.el6.x8664.rpm, 推荐
https://cpkg.datto.com/datto-rpm/EnterpriseLinux/6.6/x86_64/
- modprobe dattobd 加载内核模块
- 使用"lsmod | grep datto"查看datto模块是否被加载上
-
方法2:重装用户的yum软件
- 重装yum,推荐
https://segmentfault.com/a/1190000013590285
- 修改/etc/yum.conf配置,将
distroverpkg=centos-release替换为distroverpkg=redhat-release-server
- yum localinstall https://cpkg.datto.com/datto-rpm/repoconfig/datto-el-rpm-release-$(rpm -E %rhel)-latest.noarch.rpm
- yum install dkms-dattobd dattobd-utils
- modprobe dattobd 加载内核模块
- 使用"lsmod | grep datto"查看datto模块是否被加载上
-
安装dmidecode
-
源主机yum可用
- yum install dmidecode
-
源主机yum不可用
- 参考datto安装步骤
-
安装packer
- wget http://117.48.207.245:/cmigrate/v1.2.3/packer-1.2.3-linux-centos6.tgz
- tar -pzxvf packer-1.2.3-linux-centos6.tgz -C /
- packer_service start
- packer_service status
Ubuntu 14.04/16.04
-
安装datto
- apt-key adv --recv-keys --keyserver keys.fedoraproject.org 370C85D709D26407
- echo "
deb [arch=amd64] https://cpkg.datto.com/datto-deb/public/$(lsb_release -sc) $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/datto-linux-agent.list
- apt-get update
- apt-get install dattobd-dkms dattobd-utils
- modprobe dattobd 加载内核模块
- 使用"lsmod | grep datto"查看datto模块是否被加载上
-
安装dmidecode
- apt-get install dmidecode
-
安装packer
- wget http://117.48.207.245:/cmigrate/v1.2.3/packer-1.2.3-linux-generic.tgz
- tar -pzxvf packer-1.2.3-linux-generic.tgz -C /
- packer_service start
- packer_service status