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'
以下を置き換えます。
-
起動するプロセス (
scrub
、deep-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 に置き換えます。 -
起動するプロセス (
scrub
、deep-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()