2.2.2. OSD の状態を変更する方法

本セクションでは、RESTful プラグインを使用して OSD の状態を変更する方法を説明します。

curl コマンド

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

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

以下を置き換えます。

  • <state> は、変更する状態 (in または up) に置き換えます。
  • <value> は、true または false に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。

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

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

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

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

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

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <state> は、変更する状態 (in または up) に置き換えます。
  • <value> は、True または False に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

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