IBM TechXchange Japan Storage User Community

Japan Storage User Community(以降 JSUC と略記)とは、IBM System Storage 製品に関して、ユーザー間や日本IBMおよびビジネス・パートナーの専門家と連携し、ストレージについて学び、アドバイスやベストプラクティスを仲間と共有し、製品やコミュニティー・イベントに関する情報を得るためのものです。

どなたでも自由にご参加いただけますが、情報提供については主として日本アイ・ビー・エム(株)およびその関連会社の社員が行います。 ご要望に応じてお客様あるいはビジネス・パートナー様にも情報提供にご参加いただけますので管理者までご連絡ください。(short URL: https://ibm.co/3fV3qzE

JSUCへの登録ガイドはこちらです。

JSUC は、IBM Storage Community 配下に多数作成されている世界各国ユーザー・グループの一つとして運営されています。

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


#Japan


#IBMStorage
#StorageFusion
#StorageforContainers
#PrimaryStorage
#IBMStorageDefender
#Cloud Object Storage


#StorageAreaNetworks
#StorageforContainers
#IBMStorageDefender
#StorageAreaNetworks
 View Only

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

By Hiroki Nishiyan posted Tue October 10, 2023 12:03 AM

  

FlashSystem/SVCのコマンドライン活用の2回目です。(前回のリンク

ちょっとディープな内容になります。

パスワード入力無しでコマンドラインを使用する方法

ストレージ操作を自動化する場合、パスワード入力無しでのログインが必要になるかもしれません。

ユーザー設定画面でSSH公開鍵ファイルの設定をすることでパスワード無しでSSHログインできるようになります。鍵ファイルの扱いには注意してください。

GUIは繰り返し実行が便利ですが、コマンドラインでは?

GUIでは、例えばボリュームを10個作る、なんてことも1回の操作で可能です(図)。

コマンドラインの場合は、10回コマンドを入力することも可能ですが、Bashの機能を使って繰り返しするのが便利です。

回数を指定して繰り返しする場合は、for を使います。

IBM_2145:SVC2:admin>for(( i=0; i<10; i=i+1 ));do lsvdisk $i; done
(lsvdisk 0, lsvdisk 1,  ... が実行される)

普通のプログラミング言語とちょっと違っています。forの後の括弧は2重「(( ))」になってますし、括弧の中は変数に$がない、外は$がある点に着目してください。

実行するコマンドは、do   done で囲います。間にセミコロン(;)も必要です。複数のコマンドをまとめて実行するときはセミコロンで区切ります。次の例はボリューム作成(mkvdisk)と、ボリュームのホストへのマップ(mkvdiskhostmap)をまとめて実行しています。(... のところは省略しています)

for(( i=0; i<10; i=i+1 ));do mkvdisk ...   ;   mkvdiskhostmap  ....   ; done

for の他には、whileでの繰り返し、if then else を使った条件分岐なども使えます。詳細はBashの使い方等を参照してください。

コマンド実行の成功・失敗を確認したい

コマンドラインでストレージの操作を自動化するような場合、コマンド実行が成功したか失敗したかを確認する必要が出てくると思います。コマンドラインのベースになっているのはBashなので、Bashの仕組みが使えます。

こちらの例では、ボリューム作成(1回目は失敗、2回目は成功)した後にコマンド実行結果が格納される変数「$?」の内容を確認しています。成功=0、失敗=1となっているのが分かると思います。

IBM_2145:SVC2:admin>mkvdisk -size 1 -unit mb -mdiskgrp 0 -name test0
CMMVC6035E The action failed as the object already exists.          (同じ名前のボリュームがあって失敗)
IBM_2145:SVC2:admin>echo $?
1
IBM_2145:SVC2:admin>mkvdisk -size 1 -unit mb -mdiskgrp 0 -name test1
Virtual Disk, id [111], successfully created                      (ボリューム作成に成功)
IBM_2145:SVC2:admin>echo $?
0

自動化する場合はサーバー(Linux等)からコマンドを実行する場合が多いかと思います。その場合は、sshでパスワード無しでログインできるようにしておき、sshでコマンドを実行、Linux側で結果を確認できます。

linux$ ssh admin@192.168.95.172 mkvdisk -size 1 -unit mb -mdiskgrp 0 -name test1
CMMVC6035E The action failed as the object already exists.
linux$ echo $?
1
linux$ ssh admin@192.168.95.172 mkvdisk -size 1 -unit mb -mdiskgrp 0 -name test2
Virtual Disk, id [114], successfully created
linux$ echo $?
0

コマンドの連続実行回数

他のストレージ装置(図:下)では独自のコマンドライン用ツール経由で通信するものもありますが、FlashSystem/SVC(図:上)はSSH経由でコマンドラインインターフェイスに接続します。

SSHクライアントは比較的軽量(CPUリソースなどの消費が少ない)ため高速にコマンドを実行できますがあまりに速く実行するのはストレージ装置に負荷がかかって良くないようです。詳細はこちらのリンクをご覧ください。

https://www.ibm.com/support/pages/node/688265

今回は以上です。

0 comments
19 views

Permalink