IBM TechXchange Japan Storage User Community

IBM TechXchange Japan Storage User Community

以降 JSUC と略記、short URL: https://ibm.co/3fV3qzE)とは、お客様やビジネス・パートナー様とIBM専門家が連携し、ストレージについて学び、アドバイスやベストプラクティスを仲間と共有し、製品やコミュニティー・イベントに関する情報を得るためのものです。どなたでも自由にご参加いただけますので是非ご参加ください。JSUCへの登録ガイドはこちらです。

注: 当該グループ上でご紹介する情報は、日本アイ・ビー・エム(株)が必ずしも正式なレビューを行ったものではありません。

 View Only

FlashSystem/SVCのコマンドラインを活用(その1)

By Hiroki Nishiyan posted Mon August 21, 2023 04:57 AM

  

IBM Storageの中でも、幅広いラインナップをほこるIBM Storage FlashSystem(以下FlashSystem)。FlashSystemは使い勝手の良いGUIも好評ですが、コマンドラインで使う場合も多いかと思います。コマンドラインを活用する方法をシリーズ化してみようと思います。

(SVCはFlashSystemのストレージ機能部分だけを提供する機器で、さまざまなストレージを仮想化する機器です。)

今回はとっかかりになる小ネタをいくつか。

コマンドラインを使う方法

FlashSystem/SVCの管理インターフェイス(IPアドレスを設定して使います)にssh接続することで使えます。ssh接続用のクライアントとしては、TeraTerm(Windows)、Putty(Windows)などが有名でしょうか。Linux/Macの場合はTerminalからsshコマンドが使用できると思います。

ssh接続を開始すると、ユーザーID・パスワードを聞かれます。初期導入時にはsuperuserが設定されていますが、どのユーザーIDを使用していいかは管理者の方に聞いてください。通常は管理者権限(Administrator user group)や、モニター権限(Monitor user group)で使うのが一般的です。

ユーザーID・パスワードを使ってログインすると、プロンプト(IBM_2145:SVC2:admin>の部分)が出てきます。これでコマンドを入力可能な状態になっています。

例:

linux$ ssh admin@192.168.95.172            # adminユーザーでログイン  storage IP address は192.168.95.172            
Password:              (パスワード入力します)
IBM_2145:SVC2:admin>                             

コマンドラインで便利な補完機能

FlashSystem/SVCのコマンドラインはBashというLinux/Unix系のOSでよく使われている「シェル」を利用しています。ただし、Bashそのものではなく、機能制限されたBash(rbash、restricted bash)が使用されています。

このシェルを使うと簡単なプログラミング的なことや、ユーザー入力を補助するような便利な機能が色々使えます。その中でも「補完機能」というものを覚えておくとFlashSystem/SVCはもとより、Linux/Unix系のOSでも活用できます。

コマンドプロンプトが出ている状態で、ls と打ち込んで、そのあとに「Esc(エスケープ)キー」または「Tab(タブ)キー」を2回打つと、lsで始まるコマンドの一覧が表示されます。

例:

IBM_2145:SVC2:admin>ls         (lsと打った後にEsc or Tabを2回打つ)
Display all 154 possibilities? (y or n)
lsarray                        lshostcluster                  lsquorum
lsarrayexpansionprogress       lshostclustermember            lsrcconsistgrp
lsarrayinitprogress            lshostclustervolumemap         lsrcrelationship
lsarraylba                     lshostiogrp                    lsrcrelationshipcandidate
(以下略)

表示された候補を見ながら例えばvdiと打ち込んで(ここまででlsvdiが入力されている)、Esc/Tabを打つと、さらに補完されて、lsvdiskまでの入力を補完してくれます。lsvdiskが使用したいコマンドであればここで「Enter(エンター)キー」を打つことでコマンドが実行されます。この補完機能を使うことで、入力の高速化、スペルミスの防止になります。また、コマンドの数は膨大ですが、すべて覚えるのは大変です。覚えずに補完機能を使うといいでしょう。

FlashSystem/SVCではコマンド名のみが補完可能です。コマンドのオプションには使えませんのでオプションを調べたい場合は「-h」オプションを使うと簡単なヘルプが出ますので、オプション確認に使うとよいでしょう。

例:

IBM_2145:SVC2:admin>lsvdisk -h

lsvdisk

Syntax

>>-lsvdisk------------------------------------------------------>
(以下略)

GUI操作をコマンドライン化するには?

GUI操作がどのコマンドに相当するかは、GUIの進行状況のパネルに表示されます。「詳細の表示」をクリックすると、実行されたコマンドが表示されています。

「詳細の表示」をクリック:

ただしプール名などは数字になっています。例えば上の例では -mdiskgrp 0 となっています。この場合の 0は PoolのIDです。IDではなくPool名を使用したい場合はコマンドのヘルプを見てIDをプール名に置き換えてください。

コマンドの先頭に「svctask」と表示されていますがこれは省略可能です。

結果をエクセルで読みたい

ボリューム一覧の出力をエクセルなどのアプリで読みたいということは多いと思います。通常は空白が区切り文字になってコマンド出力されますが、このままではエクセルで読み込むのが多少不便です。

通常の出力例:

IBM_2145:SVC2:admin>lsvdisk
id  name                   IO_group_id IO_group_name status mdisk_grp_id mdisk_grp_name capacity type    FC_id FC_name RC_id RC_name       vdisk_UID                        fc_map_count copy_count fast_write_state se_copy_count RC_change compressed_copy_count parent_mdisk_grp_id parent_mdisk_grp_name owner_id owner_name formatting encrypt volume_id volume_name            function volume_group_id volume_group_name protocol is_snapshot snapshot_count volume_type replication_mode is_safeguarded_snapshot safeguarded_snapshot_count
0   test_volume0           0           io_grp0       online 0            Pool0          500.00GB striped 2     fcmap2                      60050768108104C4A8000000000004E6 1            1          empty            0             no        0                     0                   Pool0                                     no         no      0         test_volume0                                                               no          0                                           no                      0
1   test_volume1           0           io_grp0       online 0            Pool0          500.00GB striped                                   60050768108104C4A8000000000004E7 0            1          empty            0             no        0                     0                   Pool0                                     no         no      1         test_volum
(以下略)

区切り文字を、「, (カンマ)」や「: (コロン)」にすることで、エクセルなどで読みやすくすることが可能です。

delimオプションを指定してコマンドを実行すると、下の例のようにカンマ区切りで出力されますので、ファイルに保存し、ファイル名を XXX.CSV のような拡張子に変更すればエクセルで読み込みしやすいです。

カンマ区切りでの出力例:

IBM_2145:SVC2:admin>lsvdisk -delim , 
id,name,IO_group_id,IO_group_name,status,mdisk_grp_id,mdisk_grp_name,capacity,type,FC_id,FC_name,RC_id,RC_name,vdisk_UID,fc_map_count,copy_count,fast_write_state,se_copy_count,RC_change,compressed_copy_count,parent_mdisk_grp_id,parent_mdisk_grp_name,owner_id,owner_name,formatting,encrypt,volume_id,volume_name,function,volume_group_id,volume_group_name,protocol,is_snapshot,snapshot_count,volume_type,replication_mode,is_safeguarded_snapshot,safeguarded_snapshot_count
0,test_volume0,0,io_grp0,online,0,Pool0,500.00GB,striped,2,fcmap2,,,60050768108104C4A8000000000004E6,1,1,empty,0,no,0,0,Pool0,,,no,no,0,test_volume0,,,,,no,0,,,no,0
1,test_volume1,0,io_grp0,online,0,Pool0,500.00GB,striped,,,,,60050768108104C4A8000000000004E7,0,1,empty,0,no,0,0,Pool0,,,no,no,1,test_volume1,,,,,no,0,,,no,0
(以下略)

今回はここまでです。これらの機能は幅広いFlashSystemシリーズ全てで使用可能です。ぜひ活用してください。

0 comments
20 views

Permalink