2.3. クラスターの管理

本セクションでは、RESTful プラグインを使用して OSD でのスクラビングまたはディープスクラビングの初期化、プールの作成、プールからのデータの削除、リクエストの削除、または要求の作成を行う方法を説明します。

2.3.1. OSD でスケジュール済みプロセスを実行する方法

本セクションでは、OSD でのスクラビングやディープスクラビングなどの RESTful API を使用してスケジュール済みプロセスを実行する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

echo -En '{"command": "<command>"}' | curl --request POST --data @- --silent --user <user> 'https://<ceph-mgr>:8003/osd/<id>/command'

以下を置き換えます。

  • 起動するプロセス (scrubdeep-scrub、または repair) を持つコマンド。プロセスが OSD でサポートされていることを確認します。詳しくは、「OSD でどのプロセスがスケジュールされるのかを指定する方法」 を参照してください。
  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

自己署名証明書を使用した場合は、--insecure オプションを使用します。

echo -En '{"command": "<command>"}' | curl --request POST --data @- --silent --insecure --user <user> 'https://<ceph-mgr>:8003/osd/<id>/command'
Python

Python インタープリターで、以下を入力します。

$ python
>> import requests
>> result = requests.post('https://<ceph-mgr>:8003/osd/<id>/command', json={"command": "<command>"}, auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。
  • 起動するプロセス (scrubdeep-scrub、または repair) を持つコマンド。プロセスが OSD でサポートされていることを確認します。詳しくは、「OSD でどのプロセスがスケジュールされるのかを指定する方法」 を参照してください。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

自己署名証明書を使用した場合は、verify=False オプションを使用します。

$ python
>> import requests
>> result = requests.post('https://<ceph-mgr>:8003/osd/<id>/command', json={"command": "<command>"}, auth=("<user>", "<password>"), verify=False)
>> print result.json()