复制来源机器的文件系统
若要对应用组件进行现代化改造,需要创建来源机器文件系统的副本。
本页面介绍了复制源机器文件系统所需的步骤,以及一些用于减小复制的文件系统的大小的规范。
创建 Linux 源机器文件系统的本地副本
Migrate to Containers CLI 支持使用直接 SSH 连接或使用 gcloud
来访问源机器。
直接 SSH
如需使用直接 SSH 访问进行复制,请运行以下命令:
./m2c copy ssh [USERNAME@]HOSTNAME \
-i PATH_TO_PRIVATE_KEY \
-o OUTPUT_FILESYSTEM_DIR
请替换以下内容:
- USERNAME:您的用户名
- HOSTNAME:主机名
- PATH_TO_PRIVATE_KEY:私钥的路径
- OUTPUT_FILESYSTEM_DIR:本地机器上要复制源机器文件系统的输出目录的路径
gcloud
如果源机器具有公共 IP 地址,请运行以下命令:
./m2c copy gcloud \
-p PROJECT_ID \
-z ZONE \
-n VM_NAME \
-o OUTPUT_FILESYSTEM_DIR
请替换以下内容:
- PROJECT_ID:项目 ID
- ZONE:您的虚拟机所在的可用区
- VM_NAME:来源虚拟机的名称
- OUTPUT_FILESYSTEM_DIR:您要将源机器的文件系统复制到本地机器的目录输出的路径
如果源机器没有公共 IP 地址,则您可以执行以下操作之一:
- 如果您要从同一内部网络中的机器运行 Migrate to Containers CLI,请使用
--internal-ip
标志。 - 如果您在其他网络上运行,请使用
--tunnel-through-iap
标志。
如需详细了解这些标志,请参阅 gcloud 文档。
复制完成后,指定的输出目录中会提供源机器文件系统的副本。
减小复制的文件系统的大小
复制的文件系统可能非常大,具体取决于来源机器。副本越大,完成每项操作所需的时间就越长;如果空间不足,复制操作会失败。
Migrate to Containers CLI 会应用过滤条件来减小复制的大小,但根据应用组件提供的知识,您可以修改过滤条件,以进一步减小复制的大小。
当您使用修改后的过滤器再次运行 copy
命令时,输出目录的内容会根据您在过滤器文件中应用的更改而更新。
如需修改默认过滤条件,请按以下步骤操作:
获取默认过滤条件的列表:
./m2c copy default-filters > filters.txt
修改
filters.txt
文件以移除不相关的目录。该文件使用rsync
过滤器规则格式,如rsync
文档页面中所述。使用
--filters
标志通过copy
命令指定过滤器文件。直接 SSH
./m2c copy ssh [USERNAME@]HOSTNAME \ -i PATH_TO_PRIVATE_KEY \ -o OUTPUT_FILESYSTEM_DIR \ --filters filters.txt
gcloud
./m2c copy gcloud \ -p PROJECT_ID \ -z ZONE \ -n VM_NAME \ -o OUTPUT_FILESYSTEM_DIR \ --filters filters.txt
创建 Windows 源机器文件系统的本地副本
对于 Windows 源机器,您需要复制 VHD 或 VHDX 格式的磁盘映像以在迁移过程中使用。但是,Migrate to Containers CLI 不支持将磁盘映像从源平台导出到本地机器。
如需导出 Compute Engine 虚拟机 (VM) 实例磁盘,请先根据磁盘创建映像,然后将映像导出到本地机器。
如需从 Compute Engine 导出映像,请执行以下步骤:
使用
gcloud compute images export
命令将映像导出到 Cloud Storage:gcloud compute images export \ --export-format vhdx \ --destination-uri DESTINATION_URI \ --image IMAGE_NAME
请替换以下内容:
DESTINATION_URI
:导出的映像文件的目标 Cloud Storage URI。IMAGE_NAME
:要导出的磁盘映像的名称。
在本地机器上下载映像:
gcloud storage cp DESTINATION_URI LOCAL_PATH
请替换以下内容:
- DESTINATION_URI:导出的映像文件的目标 Cloud Storage URI
- LOCAL_PATH:要将映像下载到的本地文件夹的路径
如需了解详情,请参阅将自定义映像导出到 Cloud Storage。
如需详细了解如何导出 Amazon EC2 映像,请参阅使用虚拟机导入/导出将实例导出为虚拟机。
如需详细了解如何导出 Azure Cloud Compute 映像,请参阅从 Azure 下载 Windows VHD。
如需导出 VMware 虚拟机磁盘映像,请先完成将映像导出为 VMDK 文件的步骤。然后,使用 qemu-img 等第三方工具将 VMDK 文件转换为 VHD 文件。
后续步骤
了解如何创建迁移计划。