NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

NDB でデータベースを Soft Remove してみる。(REST API & curl)

Nutanix Database Service(NDB)で、REST API でデータベースを Soft Remove してみます。

今回の環境

NDB バージョンは、2.5.4 です。

そして、データベース削除の処理が失敗して、再実行してもオペレーションが「待機中」のまま進まなくなってしまっています。

オペレーションの停止

削除オペレーションが「待機中」でも、NDB Server では上書きでの削除オペレーションを開始できません。

そこで、オペレーションを手動で停止します。

「オペレーション」画面で、待機中のオペレーションを選択して「操作を停止」をクリックします。そして確認画面で「Yes」をクリックします。

データベースの Soft Remove

NDB の REST API を利用するためのデータやコマンド ラインを用意するには、API リファレンスか、NDB Web UI の「同等の API」ボタンから確認します。

データベースの Soft Remove には、下記の DELETE メソッドを利用します。

DELETE メソッドには、下記の JSON データを渡します。

  • このうち delete / remove / softRemove は、どれかひとつだけを true にします。
  • フォーマットされた JSON を1行にまとめるには、jq の「-c」オプションなどが利用できます。
{
  "delete": false,
  "remove": false,
  "softRemove": true,
  "forced": false,
  "deleteTimeMachine": true,
  "deleteLogicalCluster": true
}

curl では、下記のようなコマンド ラインで実行します。

  • データベースの UUID も「同等の API」ボタンなどから確認できます。
  • NDB Server: 192.168.12.156
  • データベースの UUID: 0ecc36ec-2115-482f-b91e-9e609cacfeb9
  • -u: NDB Server の「ユーザ:パスワード」を指定
  • -d: さきほどの JSON データ
curl -k -X DELETE \
https://192.168.12.156/era/v0.9/databases/0ecc36ec-2115-482f-b91e-9e609cacfeb9 \
-H 'Content-Type: application/json' \
-u 'admin:パスワード' \
-d '{"delete":false,"remove":false,"softRemove":true,"forced":false,"deleteTimeMachine":true,"deleteLogicalCluster":true}'

適当な Linux などから curl コマンドを実行するとオペレーションが開始され、NDB Server からデータベースの登録が削除されます。下記のようにオペレーションの情報が返されます。

{
  "name": "Database (id:0ecc36ec-2115-482f-b91e-9e609cacfeb9) has been soft-removed successfully",
  "workId": null,
  "operationId": null,
  "dbserverId": null,
  "message": " Database (id:0ecc36ec-2115-482f-b91e-9e609cacfeb9) has been soft-removed successfully.",
  "entityId": "d7598f7b-b652-4254-9458-a908e129bf1e",
  "entityName": "pgsql14-01 (deleted at:2024-05-03 01:03:27UTC)",
  "entityType": "ERA_DATABASE",
  "status": "success",
  "associatedOperations": null,
  "dependencyReport": null
}

「システム操作を表示」を ON にすると、REST API による削除に関連したオペレーションが表示されます。

これで NDB からデータベースの登録が削除されました。DB サーバ VM からは削除されていないので、手動での削除が必要です。

以上。

 

©2023 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。