VMwareな日々

Blog移管しました 新URLはこちら https://lab8010.com/

Ruby vSphere Consoleの使い方(起動/ログイン/基本操作編)

今回はRVCというツールについて紹介をする記事を書いてみました。

RVCとは"Ruby vSphere Console"の略称であり、vSAN環境のサポートやトラブルシュートに使うハイレベルなサポートツールです。このツールはCLIであり、vSphere Web ClientなどのGUIでは出来ない操作が出来るという点が特徴と言えます。

ユースケースとしては、上記のようなケースであり、既に幾つかのKBなどでは、コンプレックスな症状に対して、RVCを利用するようにと記載されたものもあります。

 

コマンドラインファンレスも存在し、以下のようにPDFで提供があります。

VMware® Ruby vSphere Console Command Reference for Virtual SAN

 

さて、今回はまず肝心のツールの起動方法、ログイン方法の紹介です。

  • このツールは、vCenter Server上に存在する
  • Windows版vCenter Serverでも、アプライアンス版でも利用が可能
  • Windows版の場合は、既定ディレクトリ上にあるbatファイルを動作させ、RVCを起動します。bat動作後、vCenter ServerがインストールされたWindows Server上にてコマンドプロンプトを動作させ、vCenter Serverディレクトリへcdコマンドで移動します。
  • vSAN 6.x の場合: %PROGRAMFILES%\VMware\vCenter Server\rvc\rvc.bat
  • vSAN 5.5 の場合: %PROGRAMFILES%\VMware\Infrastructure\VirtualCenter Server\support\rvc\rvc.bat
  • アプライアンス版の場合は、SSHクライアントよりvCenter Serverにアクセスしツールを利用します。

今回は、アプライアンス版にて操作を行ってみます。以下の図では、既にPuttyにてvCenter Serverに対しSSH接続が確立している様子です。

f:id:instructor8010:20170625224317p:plain

SSHログイン後、次のコマンドを入力しています。

"rvc ユーザー名@ログイン先"

rvcによりツールを起動し、ログイン先のvCenter Serverの指定とそれに使うユーザーを引数として指定しています。その後、パスワードを入力し、rvcが利用出来るようになりました。

※上記ログインの手順の詳細については、コマンドラインリファレンスの6ページくらいにも記載があります。

f:id:instructor8010:20170625224540p:plain

一般的なCLIにあるような次の機能が利用可能です。

  • helpコマンドによるコマンド確認
  • Tabキーによるコマンド補完
  • Wildcardによる複数のVMやホストに対する命令
  • Markコマンドによる特定のVMやホストなどのエイリアス作成

さて、基本的には"ls"と"cd"を駆使し、階層構造となっているvSAN環境を確認する所がはじめのステップと言えます。

vSANコマンドを使う上では、コマンドを実行する対象のパスを指定するためには階層構造になっているこれらの単位の状況を、この2つのコマンドで確認する必要があります。

 

例えばこちらをご覧頂くと、”ls”で現在のディレクトリ内部を確認しています。

lsで確認した内容の先頭には番号がついており、これを用いて"cd"でより深い階層に移動しています。

f:id:instructor8010:20170625225243p:plain

ここでは、"RegionA01"というデータセンター内の”コンピュートリソース”を確認しており、4つのコンピュートリソースを確認出来ている状態です。(RegionA01-COMP01という名称のクラスタが1つ、それ以外はesx-から始まる名称の単体のホストが連番で3台あります)

vSphere Web ClientのGUIと対比するとわかりやすくなりますね:)

f:id:instructor8010:20170625225838p:plain

さて、現在はこの赤色の、データセンターレイヤーからコンピュートリソースを見下ろしているような状態です。

ここで、何か試しにホストの情報を取ってみたいと思います。

f:id:instructor8010:20170625230144p:plain

vsan.check_stateというコマンドを実施してみました。このコマンドではvSANクラスター上にあるオブジェクトの状況やVMの状態を表示させるという意味合いがあります。

赤はコマンドの失敗例です。
上記コマンドだけを入力しており、コマンド実行対象を入れていません。

緑はコマンドの成功例です。
上記コマンドに”0”を加えた事で、コマンド実行対象としてクラスターを指定しました。
しかし、残念ながら、このvSANクラスターにはVMを作成していなかったので、アクセスが出来ないオブジェクトは0であり、構成誤りのVMや同期が出来ていないVMなども見つからなかったという結果になっています。

 

最後に、VMを1台だけ作って、コマンドを実行してみました。

Test-VMという名称でテスト用VMを作成しました。

f:id:instructor8010:20170625230655p:plain

コマンドの性質上、vSAN環境上のVMのオブジェクトへのアクセスに問題が無いかの概要を確認するコマンドでしたので、正常なケースと障害ケースでコマンド出力を出してみました。

f:id:instructor8010:20170625231252p:plain

緑枠:正常なケース(VMはFTT=1で保護されており、オブジェクトのコンポーネントは全てアクセスが可能な状態)

赤枠:異常なケース(3ノードクラスターのうち、2ノードをメンテナンスモードにし、無理やりコンポーネントアクセスが出来ない状態を作成しました)

f:id:instructor8010:20170625231801p:plain

以上でした。今回はRVCの起動、ログイン、基本操作についての紹介でした。

今後は少しずついろいろなコマンドを試していきたいと思います。