###################################################################### # All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018 # # API実行サンプル名: # 02-017_仮想サーバエクスポート # # 内容: # FJcloud-O IaaSで動作している仮想サーバのイメージファイルを、オンプレミス # 環境へ移行するため、作成した仮想サーバイメージファイルを # オブジェクトストレージ上へエクスポートする手順です。 # # 版数:v1.1 # 更新日:2020/06/11 # ###################################################################### 手順: ─────────────────────────────────── 項番1.オブジェクトストレージコンテナ作成 項番1-1.オブジェクトストレージコンテナ作成 項番1-2.コンテナ一覧確認 項番2.仮想サーバイメージ確認 項番3.仮想サーバイメージエクスポート 項番3-1.仮想サーバイメージエクスポート 項番3-2.仮想サーバイメージエクスポート状況確認 項番5.仮想サーバイメージエクスポート確認 参考1.仮想サーバイメージエクスポート処理中断 参考1-1.仮想サーバイメージエクスポート処理中断 参考1-2.仮想サーバイメージエクスポート状況確認 ─────────────────────────────────── 事前準備: あらかじめ以下を準備する必要があります。 ─────────────────────────────────── ・ IaaS環境の仮想サーバイメージファイル ─────────────────────────────────── 注意事項: ・仮想サーバエクスポート機能を利用前にIaaS機能説明書の コンピュート -スタンダードサービス -仮想環境間の移行 -仮想サーバエクスポート(仮想環境間移行) を参照し、移行元OSに対して、 IaaS環境上で動作させるために必要な環境設定を行って ください。 ・仮想サーバイメージの作成方法についてはAPI実行サンプル「仮想サーバ イメージ作成」を参照してください。 項番1.オブジェクトストレージコンテナ作成 IaaSで動作している仮想サーバのイメージファイルを、オンプレミス 環境へ移行するため、オブジェクトストレージのコンテナを作成し、 コンテナが作成されたことを確認します。 項番1-1.オブジェクトストレージコンテナ作成 IaaSで動作している仮想サーバのイメージファイルを、オンプレミス 環境へ移行するため、オブジェクトストレージのコンテナを作成します。 環境定義コマンド例: ====================================================================== # CONT_NAME=<作成するコンテナ名> CONT_NAME=TEST_VM_EXPORT_01 API実行コマンド例: ====================================================================== curl -i $OBJECTSTORAGE/v1/AUTH_$PROJECT_ID/$CONT_NAME -X PUT -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" レスポンス例: ====================================================================== HTTP/1.1 201 Created X-Fcx-Endpoint-Request: EXECUTED_REQ012735044_201 X-Trans-Id: tx0a5f8a3821864c86b226c-005a2e51e6 Date: Mon, 11 Dec 2017 09:37:42 GMT Content-Type: text/html;charset=UTF-8 Content-Length: 0 ====================================================================== 項番1-2.コンテナ一覧確認 コンテナが作成されたことを確認します。 API実行コマンド例: ====================================================================== curl -Ss $OBJECTSTORAGE/v1/AUTH_$PROJECT_ID?format=json -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== [ { "name": "TEST_VM_EXPORT_01", "bytes": 0, "count": 0 } ] ====================================================================== 項番2.仮想サーバイメージ確認 IaaS環境で作成した仮想サーバイメージを確認します。 環境定義コマンド例: ====================================================================== # IMAGE_ID=<エクスポートする仮想サーバイメージID> IMAGE_ID=fea0c3ea-029b-43f3-ae71-27ffdb368932 API実行コマンド例: ====================================================================== curl -Ss $COMPUTE/v2/$PROJECT_ID/images/$IMAGE_ID -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "image": { "metadata": { "fcx.base_image_id": "22e07f0ac3622e1ff2c34cb060012716", "fcx.win": "true" }, "minRam": 0, "progress": 100, "status": "ACTIVE", "updated": "2017-12-08T13:24:22Z", "links": [ { "rel": "self", "href": "http://10.27.0.201/v2/<プロジェクトID>/images/fea0c3ea-029b-43f3-ae71-27ffdb368932" }, { "rel": "bookmark", "href": "http://10.27.0.201/<プロジェクトID>/images/fea0c3ea-029b-43f3-ae71-27ffdb368932" }, { "rel": "alternate", "type": "application/vnd.openstack.image", "href": "http://10.27.0.120:9292/<プロジェクトID>/images/fea0c3ea-029b-43f3-ae71-27ffdb368932" } ], "id": "fea0c3ea-029b-43f3-ae71-27ffdb368932", "OS-EXT-IMG-SIZE:size": 17179869184, "name": "TEST_Win2008r2_IMAGE_01", "created": "2017-12-08T13:24:21Z", "minDisk": 0 } } ====================================================================== 項番3.仮想サーバイメージエクスポート 作成したコンテナに仮想サーバイメージをエクスポートし、エクスポート 状況を確認します。 項番3-1.仮想サーバイメージエクスポート 作成したコンテナに仮想サーバイメージをエクスポートします。 注意事項: ・イメージエクスポート完了までに時間がかかる場合があります。 環境定義コマンド例: ====================================================================== # IMAGE_ID=<エクスポートするイメージID> IMAGE_ID=fea0c3ea-029b-43f3-ae71-27ffdb368932 # CONT_NAME=<作成したコンテナ名> CONT_NAME=TEST_VM_EXPORT_01 # STORAGE_CONTAINER=<エクスポートするイメージの格納先> STORAGE_CONTAINER=/v1/AUTH_$PROJECT_ID/$CONT_NAME API実行コマンド例: ====================================================================== curl -Ss $VMEXPORT/v1/imageexport -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"image_id": "'$IMAGE_ID'", "storage_container": "'$STORAGE_CONTAINER'"}' | jq . レスポンス例: ====================================================================== { "export_id": "a65be87c-88ed-44b8-ad15-e1901e4b1897" } ====================================================================== 項番3-2.仮想サーバイメージエクスポート状況確認 イメージのエクスポート状況を以下のパラメータで確認します。 ・"export_status": "queued" - エクスポート処理実行開始待ち。 ・"export_status": "processing" - エクスポート処理中。 ・"export_status": "failed" - エクスポート処理失敗。 ・"export_status": "succeeded" - エクスポート処理正常終了。 環境定義コマンド例: ====================================================================== # EXPORT_ID=<エクスポートID> EXPORT_ID=a65be87c-88ed-44b8-ad15-e1901e4b1897 API実行コマンド例: ====================================================================== curl -Ss $VMEXPORT/v1/imageexport/$EXPORT_ID/status -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Accept: application/json" | jq . レスポンス例: ====================================================================== { "progress": 100, "storage_container": "/v1/AUTH_<プロジェクトID>/TEST_VM_EXPORT_01", "image_id": "fea0c3ea-029b-43f3-ae71-27ffdb368932", "image_name": "TEST_Win2008r2_IMAGE_01", "export_status": "succeeded", "request_time": "2017/12/11 10:14:38" } ====================================================================== 項番5.仮想サーバイメージエクスポート確認 イメージがエクスポートされたことを確認します。 環境定義コマンド例: ====================================================================== # CONT_NAME=<作成したコンテナ名> CONT_NAME=TEST_VM_EXPORT_01 API実行コマンド例: ====================================================================== curl -Ss $OBJECTSTORAGE/v1/AUTH_$PROJECT_ID/$CONT_NAME?format=json -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== [ { "content_type": "application/octet-stream", "name": "TEST_Win2008r2_IMAGE_01.mf", "bytes": 160, "last_modified": "2017-12-11T10:36:34.660050", "hash": "d7bc18e307a594477d5650fe9c5c2763" }, { "content_type": "application/octet-stream", "name": "TEST_Win2008r2_IMAGE_01.ovf", "bytes": 4684, "last_modified": "2017-12-11T10:36:33.965780", "hash": "d946ddff0ab757e800204278a68awd34" }, { "content_type": "application/octet-stream", "name": "TEST_Win2008r2_IMAGE_01.vmdk", "bytes": 0, "last_modified": "2017-12-11T10:36:33.156790", "hash": "d41d8cd98f00b204e9800998ecf8674h" } ] ====================================================================== 参考1.仮想サーバイメージエクスポート処理中断 仮想サーバエクスポート処理を中断し、エクスポート状況を確認します。 参考1-1.仮想サーバイメージエクスポート処理中断 「項番3-1」実行時にエクスポート処理を中断したい場合に実行します。 環境定義コマンド例: ====================================================================== # EXPORT_ID=<エクスポートID> EXPORT_ID=a65be87c-88ed-44b8-ad15-e1901e4b1897 API実行コマンド例: ====================================================================== curl -i $VMEXPORT/v1/imageexport/$EXPORT_ID/cancel -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Accept: application/json" レスポンス例: ====================================================================== HTTP/1.1 202 Accepted X-Fcx-Endpoint-Request: EXECUTED_REQ012839069_202 Date: Mon, 11 Dec 2017 10:52:47 GMT Server: Apache x-openstack-request-id: req-9ce7dd58-369e-4347-8ea2-52e611330e5f Content-Type: text/html;charset=UTF-8 Content-Length: 0 ====================================================================== 参考1-2.仮想サーバイメージエクスポート状況確認 イメージのエクスポート中断状況を以下のパラメータで確認します。 ・"export_status": "canceling" - エクスポート処理中 中断途中。 ・"export_status": "canceled" - エクスポート処理中止済み。 環境定義コマンド例: ====================================================================== # EXPORT_ID=<エクスポートID> EXPORT_ID=a65be87c-88ed-44b8-ad15-e1901e4b1897 API実行コマンド例: ====================================================================== curl -Ss $VMEXPORT/v1/imageexport/$EXPORT_ID/status -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Accept: application/json" | jq . レスポンス例: ====================================================================== { "progress": 5, "storage_container": "/v1/AUTH_<プロジェクトID>/TEST_VM_EXPORT_01", "image_id": "fea0c3ea-029b-43f3-ae71-27ffdb368932", "image_name": "TEST_Win2008r2_IMAGE_01", "export_status": "canceled", "request_time": "2017/12/11 10:43:00" } ====================================================================== 変更履歴: ─────────────────────────────────── v1.1版 サービス名称変更、参照先修正 ─────────────────────────────────── 以上