使用 Migrate for Compute Engine 迁移到 Google Cloud 的 Linux 虚拟机需要安装一个准备软件包来自动处理配置更改。
本页介绍如何在要在 Google Cloud 上运行的虚拟机上安装 Migrate for Compute Engine 准备软件包。
检测到虚拟机在 Google Cloud 上运行后,此软件包会在启动时进行更改。在虚拟机分离且清理完成之前,它必须保持安装状态。要详细了解此软件包所作的更改,请参阅虚拟机适配。
RHEL/CentOS/Oracle Linux
按照以下步骤准备 Red Hat Enterprise Linux (RHEL)、CentOS 和 Oracle Linux。
您可通过下面两种方式安装 Migrate for Compute Engine RPM 软件包:
- 使用 Yum 安装软件包。此操作会自动获取并安装所需的必备项。
- 下载和安装必备项,然后安装 RPM 软件包。
使用 Yum 安装
- 登录工作负载虚拟机。
- 在虚拟机中,从下载页面下载最新的 Migrate for Compute Engine RPM 软件包。
使用 Yum 安装准备软件包:
yum install migrate-for-gce-prep-version.redhat.x86_64.rpm
下载和安装必备项
- 登录工作负载虚拟机。
- 在虚拟机中,从下载页面下载最新的 Migrate for Compute Engine RPM 软件包。
运行以下命令,检查必备项列表:
rpm -qpR migrate-for-gce-prep-version.redhat.x86_64.rpm
例如:
rpm -qpR migrate-for-gce-prep-4.11.0-0.redhat.x86_64.rpm
单独安装必备项。
使用 Yum 安装 migrate-for-gce-prep RPM 软件包。
yum install migrate-for-gce-prep-version.redhat.x86_64.rpm
如果安装失败或出现任何警告,请确保在执行云端运行操作之前解决这些问题。
SuSE SLES
按以下步骤确保 Enterprise Linux Server (SLES) 11/12 准备好在 Google Cloud 中运行。
- 以根用户身份登录 SLES 虚拟机。
使用类似下面的命令,从下载页面安装 Migrate for Compute Engine SUSE RPM 软件包。
zypper install migrate-for-gce-prep-version.suse.x86_64.rpm
例如:
zypper install migrate-for-gce-prep-4.11.0-0.suse.x86_64.rpm
如果安装失败或安装过程中出现警告,请在迁移此虚拟机之前先解决这些问题。
Ubuntu/Debian
按照以下步骤准备 Ubuntu 14/16/18 或 Debian 8.5/9。
- 以具有 sudo 特权访问权限的用户身份登录 Ubuntu 或 Debian 虚拟机。
使用类似下面的命令,从下载页面安装 Migrate for Compute Engine .deb 软件包:
sudo dpkg -i migrate-for-gce-prep-version.deb
例如:
sudo dpkg -i migrate-for-gce-prep-4.11.0-0.deb
安装 migrate-for-gce-prep 软件包的所有必需或缺少的必备项。
sudo apt-get update && sudo apt-get install -f -y
如果安装失败或安装过程中出现警告,请在使用 Migrate for Compute Engine 迁移此虚拟机之前解决这些问题。
Amazon Linux
按照以下步骤准备 Amazon Linux 或 Amazon Linux 2。
通过运行以下命令检查内核是否包含 VirtIO 驱动程序:
grep -i virtio /boot/config-$(uname -r)
如果包含 VirtIO 驱动程序,您会看到类似于以下内容的响应:CONFIG_BLK_MQ_VIRTIO=y CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTIO_VSOCKETS_COMMON=m CONFIG_VIRTIO_BLK=m CONFIG_SCSI_VIRTIO=m CONFIG_VIRTIO_NET=m CONFIG_VIRTIO_CONSOLE=m CONFIG_HW_RANDOM_VIRTIO=m # CONFIG_DRM_VIRTIO_GPU is not set CONFIG_VIRTIO=m CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_PCI_LEGACY=y # CONFIG_VIRTIO_BALLOON is not set CONFIG_VIRTIO_MEM=m # CONFIG_VIRTIO_INPUT is not set CONFIG_VIRTIO_MMIO=m # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set` # CONFIG_RPMSG_VIRTIO is not set CONFIG_VIRTIO_FS=m
如果您没有看到任何信息,则表示 VirtIO 驱动程序缺失,需要安装。 如果您需要安装 VirtIO 驱动程序,请完成以下步骤:
- 修改
/etc/dracut.conf.d/ec2.conf
文件并注释掉以下行:omit_dracutmodules+="dm dmraid i18n plymouth crypt lvm mdraid qemu terminfo kernel-modules"
按如下方式修改
/etc/dracut.conf
文件:- 添加以下行:
add_drivers+="virtio virtio_scsi virtio_net"
- 取消备注
hostonly=yes
行,并将值更改为no
。hostonly=no
- 添加以下行:
重新构建初始 RAM 磁盘 (initrd)。
dracut -f -v
运行以下命令以确认 initrd 包含 VirtIO 驱动程序。
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
- 修改
(按原样)在虚拟机上运行离线迁移。
安装 Google 客机环境。如需了解详情,请参阅安装客机环境。
通过运行以下命令移除
amazon-ssm-agent
和awscli
软件包:rpm -e amazon-ssm-agent
rpm -e awscli
rpm -e aws-cli
rpm -e rh-amazon-rhui-client
配置 ntp 软件包:
yum install -y ntp
sed -i 's/^pool /#pool /g' /etc/ntp.conf
echo "server metadata.google.internal" >> /etc/ntp.conf
根据操作系统类型启用和重启 ntp 服务。