从内部部署迁移
要从内部部署进行迁移,请首先导入到私有云设备,然后启动实例,然后添加块存储卷以完成实例。
导入到 Private Cloud Appliance
磁盘映像文件可用后,无需进一步更改即可将其导入 PCA。
从与 PCA 管理节点具有网络连接的任何 Web 服务器上载它。可以将该文件复制到现有 Web 服务器,也可以使用类似于以下内容的 Python 命令创建即兴 Web 服务器(根据需要对端口号进行调整)。
- 如果您使用 Python 2.x,请使用
python -m HTTPSimpleServer 8080
- 如果使用 Python 3.x,请使用
python3 -m http.server 8000
。
使用 PCA Compute Enclave 浏览器用户界面 (browser user interface,BUI) 或 OCI 命令行界面 (command line interface,CLI) 将映像导入到 PCA 中。有关完整说明,请参见 User Guide section 5.1 。
使用浏览器界面导入
按照以下步骤使用浏览器界面进行导入:
- 登录 Compute Enclave。
- 转到“计算映像”页,然后单击导入映像。
- 在对话框窗口中输入详细信息。
- 选择对象存储 URL 并输入包含引导映像的文件的 URL。
- 指定 QCOW2 ,该文件适用于
.qcow2
文件或同时包含元数据和output.QCOW2
磁盘映像文件的.oci
文件。 - 单击导入图像以开始导入。这将转到显示图像状态的页面,首先是导入,然后在导入完成时是可用。
注意:
用户界面只有一个启动模式:半虚拟化。如果使用浏览器界面导入 UEFI 映像,则可能会使用 BIOS 而非 UEFI 导入该映像。PCA 发行说明 3.5.10 中的解决方法是使用 CLI 启动实例并在其中指定启动选项。请参见下文的“启动初始实例”。
执行导入所需的时间取决于映像的大小以及 Private Cloud Appliance 系统与 Web 服务器之间的网络速度。导入期间用户界面未锁定,因此您可以继续执行其他任务或注销。通过查看图像的显示来检查图像的状态。
使用 OCI 命令行界面导入
如果使用 OCI CLI,请使用类似于以下示例的行,在映像 URL 和租户的 OCID 中替换。
导入命令生成导入工作单元的显示,您可以使用 'get' 命令显示其状态。
$ oci compute image import from-object-uri --uri
http://mynfs/shares/export/images/mydemo.oci --display-name "demo-image" --compartment-id
$OCI_CLI_TENANCY
{
"data": {
"agent-features": null,
"base-image-id": null,
"compartment-id":
"ocid1.tenancy.AK00661530.scasg01.lk0p5dyyyrdctdo3vvb9vdgr8zvdwznk7tcqtfmvzv1xxym66oak0009014
6",
"create-image-allowed": true,
"defined-tags": {},
"display-name":
"demo-image",
"freeform-tags": {},
"id":
"ocid1.image.AK00661530.scasg01.lt0xzicgaiv9plkwurk2xswia4x00e4ds2vyxa78d1xmk17b1indxamf6i4h"
,
"launch-mode": "PARAVIRTUALIZED",
"launch-options": null,
"lifecycle-state": "IMPORTING",
"operating-system": "UNAVAILABLE",
"operating-system-version": "UNAVAILABLE",
"size-in-mbs": 0,
"time-created": "2022-02-03T00:41:24.982617+00:00"
},"etag": "ae01e390-eab5-449c-b78d-c655235af23f",
"opc-work-request-id": "ocid1.workrequest.AK00661530.scasg01.storage1qsyui8onuv2q9evycdrnwtp13nj9l3eko37fzvhpahbobbav18r"
}
您可以使用导入映像命令中显示的 OCID 通过浏览器界面查看导入,或者通过 CLI 检查导入状态。
$ oci compute image get --image-id
ocid1.image.AK00661530.scasg01.lt0xzicgaiv9plkwurk2xswia4x00e4ds2vyxa78d1xmk17b1indxamf6i4h
{
"data": {
"agent-features": null,
"base-image-id": null,
"compartment-id":
"ocid1.tenancy.AK00661530.scasg01.lk0p5dyyyrdctdo3vvb9vdgr8zvdwznk7tcqtfmvzv1xxym66oak0009014
6",
"create-image-allowed": true,
"defined-tags": {},
"display-name": "demo-image",
"freeform-tags": {},
"id":
"ocid1.image.AK00661530.scasg01.lt0xzicgaiv9plkwurk2xswia4x00e4ds2vyxa78d1xmk17b1indxamf6i4h"
,
"launch-mode": "CUSTOM",
"launch-options": { "boot-volume-type": "PARAVIRTUALIZED",
"firmware": "BIOS",
"is-consistent-volume-naming-enabled": false,
"is-pv-encryption-in-transit-enabled": false,
"network-type": "PARAVIRTUALIZED",
"remote-data-volume-type": "PARAVIRTUALIZED"
},
"lifecycle-state": "AVAILABLE"
"operating-system": "Fedora Linux"
"operating-system-version": "35"
"size-in-mbs": 512000
"time-created": "2022-02-03T00:41:24.982617+00:00
}
"etag": "d96dda18-e10b-4d87-83ab-425bb5cf582e
}
使用 CLI 导入 vmdk
或 qcow2
文件,不使用 oci
文件
专用云设备支持 .vmdk
和 .qcow2
文件类型,因此您可以直接导入它们,而无需创建 .oci
文件。
-- source-image-type VMDK
或 --source-image-type QCOW2
直接导入。Oracle 建议按上一主题中所述创建 .oci
文件,但支持此方法。例如:
$ oci compute image import from-object-uri --uri http://mywebsever/images/myimage.vmdk -- display-name "myimage" --compartment-id $OCI_CLI_TENANCY --source-image-type VMDK
{
"data": {
"agent-features": null,
"base-image-id": null,
"compartment-id": "ocid1.tenancy.AK00661530.scasg01.lk0p5dyyyrdctdo3vvb9vdgr8zvdwznk7tcqtfmvzv1xxym66oak00090146",
"create-image-allowed": true,
"defined-tags": {},
"display-name": "myimage",
"freeform-tags": {},
"id": "ocid1.image.AK00661530.scasg01.sn6x8ba80rhymybtfiv6wkyeyy5fuubvhpb9mba8ofzscfpinsopq6eg4nf4",
"launch-mode": "PARAVIRTUALIZED",
"launch-options": null,
"lifecycle-state": "IMPORTING",
"operating-system": "UNAVAILABLE",
"operating-system-version": "UNAVAILABLE",
"size-in-mbs": 0,
"time-created": "2022-02-03T01:31:12.529239+00:00" },
"etag": "fa3c71ec-004b-4907-8952-828904b69aac",
"opc-work-request-id": "ocid1.workrequest.AK00661530.scasg01.storageiodkxug2l436mp84gz5x5meeqw2w00l6c6ftijx44998p1kmda23"
}
$ oci compute image get --image-id ocid1.image.AK00661530.scasg01.sn6x8ba80rhymybtfiv6wkyeyy5fuubvhpb9mba8ofzscfpinsopq6eg4nf4
{
"data": {
"agent-features": null,
"base-image-id": null,
"compartment-id": "ocid1.tenancy.AK00661530.scasg01.lk0p5dyyyrdctdo3vvb9vdgr8zvdwznk7tcqtfmvzv1xxym66oak00090146",
"create-image-allowed": true,
"defined-tags": {},
"display-name": "myimage",
"freeform-tags": {},
"id": "ocid1.image.AK00661530.scasg01.sn6x8ba80rhymybtfiv6wkyeyy5fuubvhpb9mba8ofzscfpinsopq6eg4nf4",
"launch-mode": "PARAVIRTUALIZED",
"launch-options": {
"boot-volume-type": "PARAVIRTUALIZED",
"firmware": "BIOS",
"is-consistent-volume-naming-enabled": false,
"is-pv-encryption-in-transit-enabled": false,
"network-type": "PARAVIRTUALIZED",
"remote-data-volume-type": "PARAVIRTUALIZED"
},
"lifecycle-state": "AVAILABLE",
"operating-system": "CUSTOM",
"operating-system-version": "CUSTOM",
"size-in-mbs": 512000,
"time-created": "2022-02-03T01:31:12.529239+00:00"
}, "etag": "6564352c-4fea-4335-bad4-b6c9efeb05cd"
}
启动初始实例
可以在不使用浏览器界面或命令行界面的情况下启动映像。
按照以下说明使用浏览器启动实例:
- 从描述图像的页面中,单击控件下拉菜单。
- 单击创建实例。
- 在对话框窗口中,输入有关实例的名称、容错域、配置以及虚拟网络和子网的详细信息。
- 如果使用
cloud-init
,请输入允许无密码ssh
的公共密钥。
实例在创建时将处于预配状态,然后将自动启动。预配实例后,您可以创建控制台连接以连接到实例控制台。
您还可以将 OCI CLI 与类似模式一起使用,以所需值替代变量显示名称、配置、源详细信息、子网、密钥和名称:
$ oci compute instance launch -c $OCI_CLI_TENANCY \
--availability-domain ad1 \
--shape VM.PCAStandard1.2 \
--source-details '{"boot-volume-size-ingbs":100,"imageId":"$MYIMAGEID"},"sourceType":"image"}' \
--subnet-id $MYSUBNET_OCID \
--metadata '{"ssh_authorized_keys":"ssh-rsa ...$RESTOFMYKEY myuserid@mydesktop"}' \
--display-name "myinstance" \
--assign-public-ip true
CLI 的优点是可编写脚本,并且可以通过较少的手动步骤批量重复。如果需要覆盖启动模式或参数,可以在命令行上指定它们:
$ oci compute instance launch [...] \
--launch-options '{"boot-volumetype":"PARAVIRTUALIZED", "firmware":"UEFI_64", "is-consistent-volume-namingenabled":false,"is-pv-encryption-in-transit-enabled": false, "networktype":"PARAVIRTUALIZED","remote-data-volume-type": "PARAVIRTUALIZED"}'