从经典基础架构迁移虚拟服务器
您可以从经典基础架构迁移虚拟服务器实例,以满足 IBM Cloud VPC 基础架构需求。 然后,可以从实例创建映像模板,并将其部署在 VPC 环境中。
LinuxONE (s390x 处理器体系结构) 不支持从经典基础架构迁移虚拟服务器实例。
准备工作
在开始之前,请确保满足以下前提条件。
- 您必须具有可用的 IBM Cloud® Object Storage 实例。
- 您必须创建一个授权,以便VPC的图像服务可以访问 IBM Cloud Object Storage 中的图像。 有关更多信息,请参阅 授予对 IBM Cloud Object Storage 的访问权以导入映像。
从经典基础架构迁移虚拟服务器
请完成以下步骤,将经典基础架构中与虚拟服务器关联的图像模板迁移到 IBM Cloud VPC 基础架构中。 定制映像在 IBM Cloud VPC 中可用后,即可以使用该映像来创建虚拟服务器。
以下列表概述了迁移步骤。
- 对于要迁移到 IBM Cloud VPC 基础设施的虚拟服务器,请创建一个镜像模板。 必须先创建映像模板,然后才能继续执行以下迁移步骤。
- 从映像模板中,供应要用作备份实例的虚拟服务器。
- 定制备份虚拟服务器以确保它满足要在 IBM Cloud VPC中部署的需求。
- 创建已修改虚拟服务器的映像模板。
- 将映像模板导出到 IBM Cloud Object Storage。
- 将定制映像导入到 IBM Cloud VPC 基础结构。
- 使用自定义图像在 IBM Cloud VPC 中创建虚拟服务器。
有关使用 shell 脚本迁移虚拟服务器的详细信息,请参阅 vpc-tutorials。 有关从 Classic 迁移到 IBM Cloud VPC 的更多信息,请参阅 开始 VPC+ Cloud Migration。
步骤 1-标识要迁移和创建映像模板的虚拟服务器
如果要将经典基础架构中的虚拟服务器迁移到 IBM Cloud VPC 基础架构,可以基于该虚拟服务器创建映像模板。 映像模板捕获现有虚拟服务器的映像。 确保您了解有关映像模板的以下信息。
- 只有具有单个主启动卷(或磁盘)和相关文件的图像模板才能导入到 IBM Cloud VPC 基础架构中。
- 映像模板包含主引导磁盘上的操作系统以及您安装的项,例如 PHP 或 Python。 映像模板的数据可以在 10 GB 到 250 GB 之间。 10 GB 以下的映像将向上舍入为 10 GB。
- 当您使用 IBM Cloud VPC 中的导入自定义图像创建虚拟服务器时,您可以选择新的配置文件、分配SSH密钥、指定用户数据并配置网络接口。
当图像模板作为自定义图像导入到 IBM Cloud VPC 时,不支持图像模板的辅助磁盘及其关联文件。
完成以下步骤,为要迁移的虚拟服务器创建映像模板。
- 在 IBM Cloud 控制台中的“仪表板”中,通过单击 导航菜单
> 经典基础结构 > 设备 > 设备列表来创建映像模板。
- 点击您要使用的虚拟服务器。
- 从操作菜单中,选择创建映像模板。 请确保将其命名为您可以轻松识别的名称。 有关更多信息,请参阅创建映像模板。
步骤 2-找到映像模板并供应虚拟服务器
从您创建的映像模板中,供应虚拟服务器。 此实例是备份。 您可以定制此备份虚拟服务器以满足 IBM Cloud VPC的需求。
完成以下步骤以根据映像模板创建新的虚拟服务器。
- 单击 设备> 管理> 映像 以查找您创建的映像模板。
- 通过单击映像模板的“操作”图标
并选择 订购公共虚拟服务器实例,从映像模板供应虚拟服务器。
步骤 3-定制 IBM Cloud VPC 的虚拟服务器
完成以下定制,为 IBM Cloud VPC 基础结构准备映像。 您的经典基础设施虚拟服务器实例可能已经满足了一些定制要求。
定制 Linux 虚拟服务器
遵循 创建 Linux 定制映像 中的指示信息以在 Linux 实例上进行定制。 您的实例需要满足以下要求。
- 内核命令行上存在以下参数:
nomodeset
,nofb
,vga=normal
和console=ttyS0
。 - 安装了 Virtio 驱动程序 以及 Virtio 所需的任何代码。
- 您的映像为 cloud-init enabled。
- 对于安装的任何辅助存储卷,必须包含 fstab 条目
nofail
。
定制 Windows 实例
在 Windows 虚拟服务器上完成以下定制以准备用于 IBM Cloud VPC的映像。
-
使用远程桌面访问经典 Windows 服务器。
-
在此服务器中下载并安装 Windows VirtIO 驱动程序。
virtio-win
驱动程序文件可以通过以下步骤从现有的 IBM Cloud VPC 虚拟服务器中获取。Microsoft 建议您从许可 RHEL V 8 或 9 实例获取驱动程序,因为从 Red Hat 获取的驱动程序已通过 Microsoft 认证。 建议的最低 Red Hat virtio-win 软件包版本为
virtio-win-1.9.24
。 但是,使用最新的包是最好的。Red Hat
virtio-win-1.9.24
ISO 包含以下特定驱动程序版本。100.84.104.19500 oem10.inf \vioprot.inf_amd64_af0659efdaba9e4b\vioprot.inf 100.90.104.21400 oem11.inf \viofs.inf_amd64_c6f785e21f3f6f80\viofs.inf 100.85.104.20200 oem12.inf \viogpudo.inf_amd64_b19dcf9947e73e5a\viogpudo.inf 100.85.104.19900 oem13.inf \vioinput.inf_amd64_4505a789e17b5f89\vioinput.inf 100.81.104.17500 oem14.inf \viorng.inf_amd64_ef304eab276a3e61\viorng.inf 100.85.104.19900 oem15.inf \vioser.inf_amd64_cb4783c018c10eba\vioser.inf 100.90.104.21500 oem2.inf \vioscsi.inf_amd64_02a46a7a223648d1\vioscsi.inf 100.90.104.21500 oem3.inf \viostor.inf_amd64_520417bbc533faba\viostor.inf 100.85.104.20700 oem4.inf \balloon.inf_amd64_afa8c93081df5458\balloon.inf 100.90.104.21400 oem5.inf \netkvm.inf_amd64_0efff05c07fcee39\netkvm.inf 100.85.104.19900 oem6.inf \pvpanic.inf_amd64_b7028360ef636f8b\pvpanic.inf 10.0.0.21000 oem9.inf \qxldod.inf_amd64_6199f9ecf2339133\qxldod.inf
-
通过在 IBM Cloud VPC中供应或访问现有 RHEL 虚拟服务器,获取必需的 virtio-win 驱动程序。
-
在您在 IBM Cloud VPC中供应的 RHEL 虚拟服务器上,通过运行以下命令来安装
virtio-win
软件包。 在此示例中,virtio-win 软件包安装在 RHEL V 8 上。yum install virtio-win ``` {: pre} The output looks like the following example. ```text {: screen} Installed: virtio-win-1.9.24-2.el8_5.noarch
-
访问
/usr/share/virtio-win
目录中的 virtio-win ISO。cd /usr/share/virtio-win/
-
使用 WinSCP 实用程序将
virtio-win
ISO 文件 (例如,virtio-win-1.9.24.iso
) 从 RHEL VPC 服务器复制到 Classic Windows 服务器。 -
找到下载的 ISO 并双击它以进行安装。
-
从已安装的 ISO 中,运行
virtio-win-guest-tools.exe
并完成安装。- 找到下载的 ISO 并双击它以进行安装。
- 从已安装的 ISO 中,运行
virtio-win-guest-tools.exe
并完成安装。
-
-
从 Cloudbase-Init 安装包安装并配置 cloudbase-init。
-
修改
cloudbase-init.conf
文件 (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf
) 以匹配以下值。 请勿从文件中除去任何其他内容。[DEFAULT] # "cloudbase-init.conf" is used for every boot config_drive_types=vfat,iso config_drive_locations=hdd,partition activate_windows=true kms_host=kms.adn.networklayer.com:1688 mtu_use_dhcp_config=false real_time_clock_utc=false bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\ debug=true log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ log_file=cloudbase-init.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, # enabled plugins - executed in order plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin, cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.userdata.UserDataPlugin, cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
如果计划为定制映像自带许可证,请从
cloudbase-init.conf
文件中除去以下行。activate_windows=true kms_host=kms.adn.networklayer.com:1688
-
修改
cloudbase-init-unattend.conf
文件 (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init-unattend.conf
) 以匹配以下值。 请勿从文件中除去任何其他内容。[DEFAULT] # "cloudbase-init-unattend.conf" is used during the Sysprep phase username=Administrator inject_user_password=true first_logon_behaviour=no config_drive_types=vfat config_drive_locations=hdd allow_reboot=false stop_service_on_exit=false mtu_use_dhcp_config=false bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\ debug=true log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ log_file=cloudbase-init-unattend.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService, # enabled plugins - executed in order plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin, cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin, cloudbaseinit.plugins.windows.createuser.CreateUserPlugin, cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin, cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin, cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
-
修改
Unattend.xml
文件 (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml
) 并将PersistAllDeviceInstalls
值设置为false
。 -
从命令提示符使用以下命令来运行
Sysprep
。C:\Windows\System32\Sysprep\Sysprep.exe /oobe /generalize /shutdown "/unattend:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml"
此命令关闭系统。
步骤 4-创建定制虚拟服务器的映像模板
在备份虚拟服务器上完成定制后,请使用以下步骤创建新的映像模板。
- 从 IBM Cloud 控制台中的“仪表板”,单击 菜单
> 经典基础结构 > 设备 > 设备列表 以创建映像模板。
- 单击先前定制的备份虚拟服务器。
- 从操作菜单中,选择创建映像模板。 必须先创建映像模板,然后才能继续执行以下步骤。
步骤 5-将映像模板导出到 IBM Cloud Object Storage
要将您从已修改的虚拟服务器创建的映像模板导出到 IBM Cloud Object Storage,请完成以下步骤。
- 通过单击 设备> 管理> 映像,找到您在“映像模板”页面上创建的新映像模板。
- 在 “图片模板”页面中,点击 …… 选择要导出的图片模板,然后选择“导出至 IBM Cloud Object Storage”。 有关更多信息,请参阅将映像导出到 IBM Cloud Object Storage。
步骤 6-将定制映像导入到 IBM Cloud VPC 基础架构
- 在 IBM Cloud 控制台中,单击 导航菜单 图标
基础架构
计算 > 图像。
- 在 定制图像 选项卡上,单击 导入定制图像。 有关更多信息,请参阅导入定制映像。
步骤 7-使用定制映像在 IBM Cloud VPC 中创建虚拟服务器
当您导入的图片出现在 “VPC图片”页面的 “自定义图片”选项卡上时,您就可以使用它来在 IBM Cloud VPC 基础设施中创建一个虚拟服务器实例。
- 在 定制映像 选项卡上,查找导入的定制映像的名称,单击“操作”
,然后选择 新建虚拟服务器。
- 在 IBM Cloud 控制台,转到 导航菜单 图标
> 基础设施
> 计算 > 虚拟服务器实例。
- 在“虚拟服务器实例”页面上,单击“操作”
。 停止然后启动虚拟服务器,然后再对其进行访问。
- 创建入站和出站安全组以授予对 RDP 流量端口 3389 的访问权。 有关更多信息,请参阅 为资源设置安全组。
- 要生成密码以允许使用浮动 IP 访问 Windows 和 RDP,请参阅 连接到 Windows 实例。