准备 Linux 虚拟机

使用 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 软件包:

  1. 使用 Yum 安装软件包。此操作会自动获取并安装所需的必备项。
  2. 下载和安装必备项,然后安装 RPM 软件包。

使用 Yum 安装

  1. 登录工作负载虚拟机。
  2. 在虚拟机中,从下载页面下载最新的 Migrate for Compute Engine RPM 软件包。
  3. 使用 Yum 安装准备软件包:

    yum install migrate-for-gce-prep-version.redhat.x86_64.rpm
    

下载和安装必备项

  1. 登录工作负载虚拟机。
  2. 在虚拟机中,从下载页面下载最新的 Migrate for Compute Engine RPM 软件包。
  3. 运行以下命令,检查必备项列表:

    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
    
  4. 单独安装必备项。

  5. 使用 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 中运行。

  1. 以根用户身份登录 SLES 虚拟机。
  2. 使用类似下面的命令,从下载页面安装 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。

  1. 以具有 sudo 特权访问权限的用户身份登录 Ubuntu 或 Debian 虚拟机。
  2. 使用类似下面的命令,从下载页面安装 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
    
  3. 安装 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。

  1. 通过运行以下命令检查内核是否包含 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 驱动程序,请完成以下步骤:

    1. 修改 /etc/dracut.conf.d/ec2.conf 文件并注释掉以下行:
      omit_dracutmodules+="dm dmraid i18n plymouth crypt lvm mdraid qemu terminfo kernel-modules"
      
    2. 按如下方式修改 /etc/dracut.conf 文件:

      1. 添加以下行:
        add_drivers+="virtio virtio_scsi virtio_net"
      2. 取消备注 hostonly=yes 行,并将值更改为 no
        hostonly=no
    3. 重新构建初始 RAM 磁盘 (initrd)。

      dracut -f -v
      

    4. 运行以下命令以确认 initrd 包含 VirtIO 驱动程序。

      lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
      

  2. (按原样)在虚拟机上运行离线迁移。

  3. 安装 Google 客机环境。如需了解详情,请参阅安装客机环境

  4. 通过运行以下命令移除 amazon-ssm-agentawscli 软件包:

    rpm -e amazon-ssm-agent
    rpm -e awscli
    rpm -e aws-cli
    rpm -e rh-amazon-rhui-client
  5. 配置 ntp 软件包:

    yum install -y ntp
    sed -i 's/^pool /#pool /g' /etc/ntp.conf
    echo "server metadata.google.internal" >> /etc/ntp.conf
  6. 根据操作系统类型启用和重启 ntp 服务。