1.5. 質問および回答

1.5.1. 情報の取得

このセクションでは、Ceph API を使用して、ストレージクラスター、Ceph モニター、OSD、プール、およびホストに関する情報を表示する方法について説明します。

1.5.1.1. すべてのクラスター設定オプションを表示する方法

本セクションでは、RESTful プラグインを使用してクラスター設定オプションおよびその値を表示する方法を説明します。

curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:CEPH_MANAGER_PORT/api/cluster_conf'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • CEPH_MANAGER_PORT は、TCP ポート番号に置き換えます。デフォルトの TCP ポート番号は 8443 です。

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/cluster_conf'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/cluster_conf

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

関連情報

1.5.1.2. 特定のクラスター設定オプションを表示する方法

本セクションでは、特定のクラスターオプションとその値を表示する方法を説明します。

curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • ARGUMENT は、表示する設定オプションに置き換えます。

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • ARGUMENT は、表示する設定オプションに置き換えます。
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • ARGUMENT は、表示する設定オプションに置き換えます。

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

関連情報

1.5.1.3. OSD のすべての設定オプションを表示する方法

本セクションでは、OSD のすべての設定オプションおよびその値を表示する方法を説明します。

curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/flags', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/flags', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/osd/flags

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

関連情報

1.5.1.4. CRUSH ルールの表示方法

このセクションでは、CRUSH ルールを表示する方法を説明します。

curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/crush_rule'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/crush_rule'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/crush_rule', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/crush_rule', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/crush_rule

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

関連情報
  • Red Hat Ceph Storage 5 の 管理ガイドCRUSH ルール セクション

1.5.1.5. Monitor に関する情報を表示する方法

本セクションでは、以下のような特定の Monitor に関する情報を表示する方法を説明します。

  • IP アドレス
  • 名前
  • クォーラムのステータス
curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/monitor'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/monitor'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/monitor', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/monitor', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/monitor

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

1.5.1.6. 特定のモニターに関する情報を表示する方法

本セクションでは、以下のような特定の Monitor に関する情報を表示する方法を説明します。

  • IP アドレス
  • 名前
  • クォーラムのステータス
curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/monitor/NAME'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • NAME は、Monitor の短縮ホスト名に置き換えます。

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/monitor/NAME'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/monitor/NAME', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • NAME は、Monitor の短縮ホスト名に置き換えます。
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/monitor/NAME', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/monitor/NAME

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • NAME は、Monitor の短縮ホスト名に置き換えます。

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

1.5.1.7. OSD に関する情報を表示する方法

本セクションでは、以下のような OSD に関する情報を表示する方法を説明します。

  • IP アドレス
  • そのプール
  • アフィニティー
  • 重み
curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/osd

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

1.5.1.8. 特定の OSD に関する情報を表示する方法

本セクションでは、以下のような特定の OSD に関する情報を表示する方法を説明します。

  • IP アドレス
  • そのプール
  • アフィニティー
  • 重み
curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • osd フィールドにリストされている OSD の ID を持つ ID

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • osd フィールドにリストされている OSD の ID を持つ ID
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/osd/ID

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • osd フィールドにリストされている OSD の ID を持つ ID

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

1.5.1.9. OSD でどのプロセスがスケジュールされるのかを指定する方法

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

curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • osd フィールドにリストされている OSD の ID を持つ ID

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID/command', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • osd フィールドにリストされている OSD の ID を持つ ID
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID/command', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/osd/ID/command

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • osd フィールドにリストされている OSD の ID を持つ ID

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

1.5.1.10. プールに関する情報の表示方法

本セクションでは、以下のようなプールの情報を表示する方法を説明します。

  • フラグ
  • サイズ
  • 配置グループの数
curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/pool'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/pool', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/pool', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/pool

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

1.5.1.11. 特定のプールに関する情報を表示する方法

本セクションでは、以下のような特定のプールに関する情報を表示する方法を説明します。

  • フラグ
  • サイズ
  • 配置グループの数
curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • pool フィールドにリストされているプールの ID を持つ ID

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • pool フィールドにリストされているプールの ID を持つ ID
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/pool/ID

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • pool フィールドにリストされているプールの ID を持つ ID

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

1.5.1.12. ホストに関する情報を表示する方法

本セクションでは、以下のようなホストに関する情報を表示する方法を説明します。

  • ホスト名
  • Ceph デーモンとその ID
  • Ceph バージョン
curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/host'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/host'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/host', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/host', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/host

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

1.5.1.13. 特定のホストに関する情報を表示する方法

本セクションでは、以下のような特定のホストに関する情報を表示する方法を説明します。

  • ホスト名
  • Ceph デーモンとその ID
  • Ceph バージョン
curl コマンド

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

curl --silent --user USER 'https://CEPH_MANAGER:8080/api/host/HOST_NAME'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • HOST_NAME は、hostname フィールドにリスト表示されるホストのホスト名に置き換えます。

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

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

curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/host/HOST_NAME'
Python

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/host/HOST_NAME', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • HOST_NAME は、hostname フィールドにリスト表示されるホストのホスト名に置き換えます。
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/host/HOST_NAME', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://CEPH_MANAGER:8080/api/host/HOST_NAME

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • HOST_NAME は、hostname フィールドにリスト表示されるホストのホスト名に置き換えます。

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

1.5.2. 設定の変更

本セクションでは、Ceph API プラグインを使用して OSD 設定オプション、OSD の状態、プールに関する情報を変更する方法を説明します。

1.5.2.1. OSD 設定オプションの変更方法

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

curl コマンド

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

echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'

以下を置き換えます。

  • OPTION を変更するオプションに置き換えます (pausenoupnodownnooutnoinnobackfillnorecovernoscrubnodeep-scrub)
  • true または falseVALUE
  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

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

echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'
Python

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

$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/flags', json={"OPTION": VALUE}, auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • OPTION を変更するオプションに置き換えます (pausenoupnodownnooutnoinnobackfillnorecovernoscrubnodeep-scrub)
  • VALUETrue または False に置き換えます。
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/flags', json={"OPTION": VALUE}, auth=("USER", "PASSWORD"), verify=False)
>> print result.json()

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

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

curl コマンド

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

echo -En '{"STATE": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'

以下を置き換えます。

  • STATE は、変更する状態 (in または up) に置き換えます。
  • true または falseVALUE
  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • osd フィールドにリストされている OSD の ID を持つ ID

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

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

echo -En '{"STATE": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
Python

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

$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/ID', json={"STATE": VALUE}, auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • osd フィールドにリストされている OSD の ID を持つ ID
  • STATE は、変更する状態 (in または up) に置き換えます。
  • VALUETrue または False に置き換えます。
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/ID', json={"STATE": VALUE}, auth=("USER", "PASSWORD"), verify=False)
>> print result.json()

1.5.2.3. OSD の重みを再設定する方法

本セクションでは、OSD の重みを変更する方法を説明します。

curl コマンド

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

echo -En '{"reweight": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'

以下を置き換えます。

  • VALUE は、新しい重みに置き換えます。
  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • osd フィールドにリストされている OSD の ID を持つ ID

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

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

echo -En '{"reweight": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
Python

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

$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/osd/ID', json={"reweight": VALUE}, auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • osd フィールドにリストされている OSD の ID を持つ ID
  • VALUE は、新しい重みに置き換えます。
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/ID', json={"reweight": VALUE}, auth=("USER", "PASSWORD"), verify=False)
>> print result.json()

1.5.2.4. プールの情報の変更方法

本セクションでは、RESTful プラグインを使用して特定のプールの情報を変更する方法を説明します。

curl コマンド

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

echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'

以下を置き換えます。

  • OPTION は、変更するオプションに置き換えます。
  • VALUE は、オプションの新しい値に置き換えます。
  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • pool フィールドにリストされているプールの ID を持つ ID

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

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

echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
Python

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

$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/pool/ID', json={"OPTION": VALUE}, auth=("USER, "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • pool フィールドにリストされているプールの ID を持つ ID
  • OPTION は、変更するオプションに置き換えます。
  • VALUE は、オプションの新しい値に置き換えます。
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/pool/ID', json={"OPTION": VALUE}, auth=("USER, "PASSWORD"), verify=False)
>> print result.json()

1.5.3. クラスターの管理

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

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

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

curl コマンド

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

echo -En '{"command": "COMMAND"}' | curl --request POST --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'

以下を置き換えます。

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

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

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

echo -En '{"command": "COMMAND"}' | curl --request POST --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'
Python

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

$ python
>> import requests
>> result = requests.post('https://CEPH_MANAGER:8080/api/osd/ID/command', json={"command": "COMMAND"}, auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

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

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

$ python
>> import requests
>> result = requests.post('https://CEPH_MANAGER:8080/api/osd/ID/command', json={"command": "COMMAND"}, auth=("USER", "PASSWORD"), verify=False)
>> print result.json()

1.5.3.2. 新規プールの作成方法

本セクションでは、RESTful プラグインを使用して新しいプールを作成する方法を説明します。

curl コマンド

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

echo -En '{"name": "NAME", "pg_num": NUMBER}' | curl --request POST --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/pool'

以下を置き換えます。

  • NAME は、新規プールの名前に置き換えます。
  • NUMBER は、配置グループの数に置き換えます。
  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER

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

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

echo -En '{"name": "NAME", "pg_num": NUMBER}' | curl --request POST --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool'
Python

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

$ python
>> import requests
>> result = requests.post('https://CEPH_MANAGER:8080/api/pool', json={"name": "NAME", "pg_num": NUMBER}, auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • NAME は、新規プールの名前に置き換えます。
  • NUMBER は、配置グループの数に置き換えます。
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.post('https://CEPH_MANAGER:8080/api/pool', json={"name": "NAME", "pg_num": NUMBER}, auth=("USER", "PASSWORD"), verify=False)
>> print result.json()

1.5.3.3. プールの削除方法

本セクションでは、RESTful プラグインを使用してプールを削除する方法を説明します。

この要求はデフォルトで禁止されています。そのためには、以下のパラメーターを Ceph 設定ガイドに追加します。

mon_allow_pool_delete = true
curl コマンド

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

curl --request DELETE --silent --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'

以下を置き換えます。

  • USER は、ユーザー名に置き換えます。
  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • pool フィールドにリストされているプールの ID を持つ ID

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

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

curl --request DELETE --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
Python

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

$ python
>> import requests
>> result = requests.delete('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"))
>> print result.json()

以下を置き換えます。

  • アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短いホスト名を持つ CEPH_MANAGER
  • pool フィールドにリストされているプールの ID を持つ ID
  • USER は、ユーザー名に置き換えます。
  • PASSWORD は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.delete('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()