こんにちは、キクです。
先日NetAppをいじっているときにふと冒頭にあるような状態になったので、本記事ではその方法を記事にしようと思いました。
ディレクトリ構成を確認するケースはいろいろあるかとは思いますが、とりあえず確認方法は知っておいて損はないのではないかと思います。
というわけで今回は『システムシェルを使ったディレクトリ構成確認』をテーマに書いていきたいと思います!
本記事の内容
それでは、よろしくお願いします。
NetAppにおけるシェルの種類
今回の記事では「システムシェル」を利用しますが、そもそもNetAppにはどのようなシェルが存在しているのか?
僕も業務中に混乱することがあるので、この機会に整理したいと思います。
NetAppには次の3種類のシェルが存在しており、それぞれ役割が異なります。
クラスタシェル
クラスタシェルは、クラスタの設定や管理に必要なコマンドが含まれています。
本ブログでご紹介してきたコマンド達も、基本的にはこのクラスタシェルでの操作になります。
僕も含めてですが、おそらく一番利用する機会の多いシェルだと思います。
参考:【NetApp】Volume move機能を用いたアグリゲート間でのボリューム移動
業務中は決まったコマンドを実行することが多いのであまり使えていないのですが、コマンド入力中に「?」を入力すると、入力したコマンド以降に続く候補を表示してくれるので便利です。
Linuxで言えばtabを2回タップした動作に近いかもしれません。
ちなみに、クラスタシェル利用時のプロンプトは「クラスタ名::>」となるので覚えておきましょう。
■コマンド例
クラスタ名::> vserver show
クラスタ名::> network interface show
クラスタ名::> volume show
ノードシェル
ノードシェルでは、ノードレベルでのみ有効なコマンドを実行します。
しかし、よく使用されるノードシェルコマンドについてはクラスタシェル経由でも実行できるものも多いです。
そのため、僕自身はあまりノードシェルに繋いで操作することはない気がします。
クラスタシェルからノードシェルに切り替えたい場合には次のコマンドを実行します。
クラスタ名::> system node run -node ノード名
ノードシェルになるとプロンプトは「ノード名>」となります。
また、クラスタシェルからノードシェルのコマンドを実行したい場合には次のように実行します。
クラスタ名::> system node run -node ノード名 -command ノードシェルコマンド
ノードシェルコマンドにどんなものがあるかわからないときには、ノードシェルに切り替えた状態で「?」と入力すればクラスタシェルのときと同様に使用可能なコマンドが表示されます。
■コマンド例
クラスタシェルからの実行
クラスタ名::> system node run -node ノード名 -command sysconfig -a
システムシェル
そして最後のシステムシェルは診断やトラブルシューティングなどの用途で利用します。
そのため、普段の業務ではあまり使うことがないかなーと思います。
ちなみに、今回のディレクトリ構成確認はこのシステムシェルで行います。
システムシェルに切り替えるときにはdiagnostic権限と呼ばれる診断用の権限が必要になります。
diagnostic権限に切り替えた際には「*」がプロンプトに付与されます。
そしてシステムシェルに切り替えると「ノード名%」というプロンプトが表示されるので覚えておきましょう。
以下はクラスタシェルからシステムシェルに切り替える方法です。
クラスタ名::> set -privilege diagnostic
クラスタ名::*> system node systemshell -node ノード名
ノード名%
ディレクトリ構成の確認方法
続いて、本記事の本題である「ディレクトリ構成の確認方法」について見ていきましょう。
ここまでお読みいただいた方であれば、「システムシェルがどんなものか」「システムシェルにはどのように切り替えるのか」ということはなんとなくイメージできるようになっているかと思います。
以下は例として「/etc」配下のフォルダ構成を確認するコマンドを記載しています。
ノード名% ls /etc
これだけです。
そうなんです。ここまでくればLinuxのコマンドと同じですね。
僕もそうだったんですが、ここにたどり着くまでがイメージできなかったんですよね。
なので、少し長々とシェルの種類だったり切り替え方だったりを書かせていただきました。
【おまけ】システムコンソールとは
本記事の内容とは少しズレてしまうのですが、システムコンソールと呼ばれるものについても書いておこうと思います。
とは言ったものの、あまりシステムコンソールについて詳しいわけではありません。
というのも、システムコンソールは初期構築時などにたくさん触れる機会が多かったですが、ノードシェル同様に通常業務ではあまり触れることがないからです。
そのため、分かる範囲の内容を箇条書きで書いておこうと思います。
こんなところですかね。
アクセス方法1:ノードのSPからシステムコンソールに切り替える
アクセス方法の1つ目としては、ノードのSPから「system console」コマンドを使って切り替える方法があります。
SP ノード名> system console
LOADER>
この方法では既に接続しているSPを持つノードのシステムコンソールにのみ切り替えが可能です。
アクセス方法2:クラスタシェルから切り替える
アクセス方法の2つ目としては、クラスタシェルから「system node run-console」コマンドを使って切り替える方法があります。
クラスタ名::> system node run-console -node ノード名
LOADER>
この方法では、クラスタ内のすべてのノードのシステムコンソールに切り替えることができます。
おわりに
いかがだったでしょうか。
今回はNetAppのシステムシェルを用いたディレクトリ構成の確認方法についてでした。
本題が非常にあっさりした内容となってしまいましたが、そこに至るまでの内容が結構大切かなと思います。
というのも、僕自身ベンダーさんとの会話の中で「〇〇シェルから□□シェルに切り替えて」みたいな内容が出てくることがあるのですが、今回の内容がわかってないとイメージしづらかったからです。
各シェルの存在だったり用途をザックリでも理解できていれば、作業をする上での助けになるかなと思います。
本記事を最後までお読みいただき、ありがとうございました。
ではでは!