| cpu | memory | 带宽 |
|---|---|---|
| 2core | 4G | 10M |
| cpu | memory | nic |
|---|---|---|
| 0.5core*task | 1G*task + 0.5G | 10MB*task |
备注:该类transport是作为接受端的transport,要在目标迁移的项目中。
| cpu | memory | nic |
|---|---|---|
| 0.5core*task | 0.2G*task + 0.5G | 10MB*task |
| cpu | memory | nic |
|---|---|---|
| 0.5core | 512MB | 10MB |
| cpu | memory | nic |
|---|---|---|
| 0.5core | 512MB | 10MB |
| cpu | memory | nic |
|---|---|---|
| 1core | 1GB | 10MB |
| cpu | memory | nic |
|---|---|---|
| 2core | 3GB | 10MB |
安装docker
{"bridge": "none"}下载并启动docker image
普通版:
wget http://220.231.216.27/cmigrate/v2.0.0/docker_conductor_v2.0.0.image
docker load -i docker_conductor_v2.0.0.image
docker run --privileged -d --net=host --restart=always cmigrate/conductor:v2.0.0
安超版本:
wget http://220.231.216.27/cmigrate/v2.0.0/docker_conductor_archeros_v2.0.0.image
docker load -i docker_conductor_archeros_v2.0.0.image
docker run --privileged -d --net=host --restart=always cmigrate/conductor_archeros:v2.0.0
进入docker终端(查看日志时使用)
备注:
安装MariaDB
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
安装supervisor
安装conductor
web
{"bridge": "none"}docker run --privileged -d --net=host -v /dev:/dev -v /etc/cmigrate/boot:/etc/cmigrate/boot --restart=always cmigrate/transport_vsphere_v51:v2.0.0docker run --privileged -d --net=host -v /dev:/dev -v /etc/cmigrate/boot:/etc/cmigrate/boot --restart=always cmigrate/transport:v2.0.0安装virt-v2v
安装grub-install
rpm -ivh grub-0.97-99.el6.x86_64.rpm --nodeps安装Vmware-vix-disklib
安装windows boot
安装supervisor
安装transport
备注:
关闭源主机后,接入光盘或者usb启动盘,设置bios从光盘或usb启动,开机进入离线迁移系统。
安装packer
备注:
https://blog.csdn.net/wanghaitao95/article/details/10187339https://blog.csdn.net/u011436548/article/details/21544297http://220.231.216.27/cmigrate/kernel-devel以及http://220.231.216.27/cmigrate/datto获取安装kernel-devel
安装datto
yum localinstall https://cpkg.datto.com/datto-rpm/repoconfig/datto-el-rpm-release-$(rpm -E %rhel)-latest.noarch.rpm安装dmidecode
安装packer
安装kernel-devel
安装datto
yum localinstall https://cpkg.datto.com/datto-rpm/repoconfig/datto-el-rpm-release-$(rpm -E %rhel)-latest.noarch.rpm安装dmidecode
安装packer
安装kernel-devel
安装datto
https://cpkg.datto.com/datto-rpm/EnterpriseLinux/6.6/x86_64/libdattobd-0.10.9-23.1.el6.x86_64.rpmhttps://cpkg.datto.com/datto-rpm/EnterpriseLinux/6.6/x86_64/dkms-dattobd-0.10.9-23.1.el6.noarch.rpmhttps://cpkg.datto.com/datto-rpm/EnterpriseLinux/6.6/x86_64/dattobd-utils-0.10.9-23.1.el6.x86_64.rpmhttps://www.rpmfind.nethttps://cpkg.datto.com/datto-rpm/EnterpriseLinux/6.6/x86_64/https://segmentfault.com/a/1190000013590285distroverpkg=centos-release替换为distroverpkg=redhat-release-server安装dmidecode
安装packer
安装datto
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安装dmidecode
安装packer
针对当前的现状,windows迁移过程中,该问题相关的场景有两种。
迁移到云平台的windows 2008/7 及更高版本的windows系统,如果启动时报错,错误代码是 0xc0000428,并且错误内容是windows无法验证\windows\system32\winload.exe的数字签名,这种场景由于windows操作系统一直在更新,无法做到持续更新迁移工具的windows boot分区数据以及mbr信息,所以需要手动处理,处理过程如下:
到packer-offline-windows-2.0.0.iso 镜像,该镜像核心是win10 pe,下载地址http://10.192.13.183/cmigrate/v2.0.0/packer-offline-windows-2.0.0.iso 。
上传到云平台,并且制作成 iso 镜像。
对迁移云平台上的目标云主机挂载 该iso镜像,开机进入win10pe。
打开cmd命令行,执行 bcdboot.exe C:\windows /s D:\ 进行boot的修复。(备注,该命令中C:\是指云主机的windows系统分区,D:\是指云主机的windows启动分区,两个盘符都可能会发生变化)
关闭云主机,卸载iso镜像,然后开机,此时系统如果没有其他问题可以正常启动。
迁移到云平台的windows 2008/7 及更高版本的windows系统,能够正常启动,也可能会因为boot分区中的数据无法匹配当前操作系统中的boot数据,导致在后续的系统更新中,boot分区中的数据无法得到同步更新,从而出现0xc0000428启动错误。对于这种场景已经加入自动化处理。
一、打开nested
基于 Intel 的处理器运行以下命令:
[root@kvm-hypervisor ~]# cat /sys/module/kvm_intel/parameters/nested
N
基于 AMD 的处理器运行以下命令:
[root@kvm-hypervisor ~]# cat /sys/module/kvm_amd/parameters/nested
N
上述命令输出 N 表示嵌套虚拟化是禁用的。如果我们得到的输出是 Y 则表示在您的宿主机已启用嵌套虚拟化。
启用嵌套虚拟化,使用以下内容创建一个文件名为 /etc/modprobe.d/kvm-nested.conf 的文件:
[root@kvm-hypervisor ~]# vi /etc/modprobe.d/kvm-nested.conf
options kvm-intel nested=1
options kvm-intel enable_shadow_vmcs=1
options kvm-intel enable_apicv=1
options kvm-intel ept=1
现在移除 kvm_intel 模块然后通过 modprobe 命令添加同样的模块。在移除模块之前,确保虚拟机已关机,否则我们会得到像 “modprobe: FATAL: Module kvm_intel is in use” 这样的错误信息。
[root@kvm-hypervisor ~]# modprobe -r kvm_intel
[root@kvm-hypervisor ~]# modprobe -a kvm_intel
验证嵌套虚拟化功能是否启用:
[root@kvm-hypervisor ~]# cat /sys/module/kvm_intel/parameters/nested
Y
或
[root@kvm-hypervisor ~]# cat /sys/module/kvm_amd/parameters/nested
Y
二、透传vmx指令集
方式1:host-passthrough方式 ---- 这个性能比较高,但使用功能不通用
修改nova.conf
[libvirt]
cpu_mode = host-passthrough
#cpu_model = cpu64-rhel6 — 注释掉这个
重启nova-compute 服务
正常创建虚拟机即可 ,创建完虚拟机后,将配置还原,并重启nova-compute
注:这种方式下嵌套虚拟化的虚拟机,不能硬重启,否则配置就会恢复成普通虚拟机。