PowerScale:curlコマンドを使用してOneFS APIが正常に動作していることを確認する方法
Summary: このKB記事は、curlコマンドを使用してクラスターに対するアプリケーション プログラミング インターフェイス(API)の問題を直接トラブルシューティングするのに役立ちます。これを使用して、カスタム スクリプトまたはアプリケーション コードに関する問題を除外します。
Instructions
概要
OneFS APIで問題が発生した場合は、他のトラブルシューティングを行う前に curlコマンドを実行して 、基本的な操作が正常に動作していることを確認してください。この記事では、 curl コマンドを使用してAPI操作をテストする手順について説明します。これは、実行しているコマンドが正しい形式であることを確認するのに役立ちます。
OneFS APIは、次の2つの機能領域で構成されています。
- システム設定API (OneFS 7.1.0以前ではプラットフォームAPIと呼ばれていました)
- ファイル システム アクセスAPI (OneFS 7.1.0以前ではネームスペースAPI(RAN APIへのRESTfulアクセス)と呼ばれていました)
手順
システム構成APIまたはファイル システム アクセスAPIをテストする場合は、「root」認証情報を指定してcurlコマンドを使用します。
- クラスター内の任意のノードでSSH接続を使用し、「root」アカウントを使用してログインします。
- 以下の「システム構成API」または「ファイル システム アクセスAPI」セクションの説明に従ってcurlコマンドを使用します。
- 問題が引き続き発生する場合は、Isilonテクニカル サポートにお問い合わせください。
curlのコマンドと構文の詳細については、curlのマニュアル ページを参照してください。
OneFSシステム構成APIリクエストと期待される応答の詳細については、それぞれのOneFSバージョンのAPIリファレンス ガイドを参照してください。最も一般的なOneFSバージョンへのリンク: OneFS 8.2.2.0、OneFS 9.1.0、 OneFS 9.5.0.0、 OneFS 9.7.0.0
システム構成API
システム構成APIを使用したcurlの共通オプション
| オプション | 説明 |
|---|---|
| -d | 指定されたデータをPOSTリクエストで送信 |
| -H | 使用する追加のヘッダーを指定します |
| -k | 信頼されていないSSLサイトへの接続を許可する(Isilonのデフォルトの自己署名SSL証明書の場合) |
| -u | 認証用のユーザー名 コマンドを実行すると、このユーザーのパスワードを入力するように求められます |
| -v | 詳細出力を指定します |
| -X | 要求方法(GET、 PUT、 POSTなど)を指定します |
システム構成APIでのcurlの一般的な使用方法
以下は、一般的な curl コマンドの例です。実行するアクションについても同様の構文に従います。
- 情報の取得(GETコマンド):
一般的な構文: 以下を使用します。ここで、 <username> はユーザー名で、 <URL> は接続先のノードのURLです。# curl -vk -u "<username>" -H 'Content-type:application/json' -X GET '<URL>'
たとえば、SMB(Server Message Block)共有のリストを取得する場合、コマンドは次のようになります。# curl -vk -u "root" -H 'Content-type:application/json' -X GET 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
- 情報の送信(POSTまたはPUTコマンド):
一般的な構文: 以下を使用します。ここで、 <username> はユーザー名、 <json-data> はJSON形式の文字列、 <URL> は接続先のノードのURLです。# curl -vk -u <username> -H 'Content-type:application/json' -X POST -d '<json-data>' <URL>
たとえば、パスが/ifs/papi-exampleであるpapi-exampleという名前の新しいSMB共有を作成する場合、コマンドは次のようになります。# curl -vk -u root -H "Content-type: application/json" -X POST -d '{ "name" : "papi-example", "path" : "/ifs/papi-example" }' 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
ファイル システム アクセスAPI
ファイル システム アクセスAPIを使用したcurlの共通オプション
| オプション | 説明 |
|---|---|
| -d | 指定されたデータをPOSTリクエストで送信 |
| --data-binary | バイナリ ファイルの場所を指定します |
| -H | 使用する追加のヘッダーを指定します |
| -k | 信頼されていないSSLサイト(Isilonのデフォルトの自己署名SSL証明書)への接続を許可します。 |
| -u | 認証用のユーザー名。このユーザーのパスワードを入力するように求められます。 |
| -v | 詳細出力を指定します |
| -X | 要求方法(GET、 PUT、 POSTなど)を指定します |
ファイル システム アクセスAPIでのcurlの一般的な使用方法
以下は、一般的な curl コマンドの例です。実行するアクションについても同様の構文に従います。
メモ
ファイル システム アクセスAPIを使用して独自のネームスペースを作成できますが、検証にはデフォルトのネームスペースを使用する必要があります。デフォルトのネームスペースは /namespace/ifsです。
- 情報の取得(GETコマンド):
一般的な構文:# curl -vk -u "<username>" -X GET 'https://<node_IP>:8080/namespace/<access_point>'
たとえば、/ifsのコンテンツ リストを取得するには、次のようにします。# curl -vk -u "root" -X GET 'https://10.11.1.1:8080/namespace/ifs'
- 情報の送信(POSTまたはPUTコマンド):
一般的な構文: 変数 <content header> の correct を使用して、以下を使用します。<contentヘッダー>の詳細については、『OneFS APIリファレンス ガイド』を参照してください# curl -vk -u "<username>" -H "<content header>" --data-binary @<source file path> -X PUT 'https://<node_IP>:8080/namespace/<access_point>/<destination file path>'
たとえば、データファイルを /tmp/testfile.jpg から /ifs/papi-exampleにコピーする場合、コマンドは次のようになります。
# curl -vk -u "root" -H "x-isi-ifs-target-type:object" --data-binary @/tmp/testfile.jpg -X PUT 'https://<node_IP>:8080/namespace/ifs/papi-example/testfile.jpg'
上記のすべてのコマンドは、基本HTTP認証を使用してAPIクエリを実行します。