X

News, tips, partners, and perspectives for the Oracle Solaris operating system

Solaris Cluster 3.2 の新しいコマンドセット

Guest Author

Solaris Cluster3.2 リリースでは、クラスタ管理用のまったく新しいコマンド行インタフェース (Command Line Interface、CLI) が導入されています。新しいコマンドセットには、Solaris Cluster の以前のリリースで提供されていたコマンドセットよりも一層使いやすくさらに強力にするための多くの機能が含まれています。

もちろん、以前のリリースの使い慣れたコマンドセットも 3.2 に含まれているため、切り替えの準備が整っていないユーザーでも十分対応できるようになっています。コマンドはすべて、これまでと同じく /usr/cluster/bin 内にあるので、いずれかのコマンドセットのコマンドを見つけるためにパスの設定を変更する必要はありません。以前のコマンドセットのコマンド名はいずれも接頭辞「sc」で始まり、新しい CLI のコマンド名はすべて接頭辞「cl」で始まります。この 2 つのコマンドセットは完全に相互互換性があります。そのため、同じシェルスクリプトまたはコマンド行で両方のコマンドセットのコマンドを混在させて使用することができます。

新しいコマンドセットに対するユーザーからの当初の反応は、肯定的な意見が圧倒的多数を占めています。しかし、ときには「Solaris Cluster の CLI を新しくするのはなぜですか ? 従来の CLI では何か問題があったのですか ?」と質問されることもあります。つい最近、Sun では Solaris Cluster システム管理者に対する広範な調査を実施しました。この調査により、クラスタについて管理者が抱えている問題で上位にあるのは、ほとんどがコマンドセットに関連していることが判明しました。Sun では、この調査で浮かび上がった問題に対する最善の対処方法はまったく新しいコマンドセットを導入することだと考えました。新しい CLI の設計を開始するにあたっては、この調査から得られたデータ、およびその他のお客様からの意見が採用されました。Sun のアイディアについてお客様にご意見をうかがいながら、何段階もの設計改良を重ねてきました。そしてついに、詳細なユーザビリティー調査を行ったあとで、最終設計の実装準備が整ったのです。

新しいコマンドセットは「オブジェクト指向」です。つまり、管理者による管理が必要となることがある各種クラスタオブジェクトに対し、別々のコマンドが存在するということです。たとえば、リソースグループだけを管理するユーザーの場合は、グループ管理用に新しい「clresourcegroup」コマンドを使用するだけで済みます。「clresourcegroup」コマンドは、グループの作成や削除、グループのプロパティの設定、リソースグループの切り替えの実行、構成レポートや状態レポートの印刷などに使用できます。新しいコマンドはいずれも、そのコマンドで制御する種類のすべてのオブジェクトを全面的に管理できるようになっています。

新しいコマンドインタフェースはすべて、同じ基本形式を使用します。

cl<object_type> [<subcommand>] [<options>] [<objects>]

たとえば、新しいリソースグループ「rg1」を作成するには、次のいずれかのコマンドを使用します。

clresourcegroup create rg1
clresourcegroup create --property Description="My rg" rg1

ほとんどの操作はサブコマンドを指定して実行しますが、--help--version などの一部のオプションは、サブコマンドを指定しないで使用できます。

また、新しいコマンドの大部分には、組み込み型の別名 (略称) もあります。お客様からは、説明的で意味がわかりやすいコマンド名にしてほしいという要望が寄せられていました。しかし同時に、コマンド名は短くて簡単に入力できるものがよいというご意見もありました。Solaris Cluster チームでは、両方の名前を付けることが最適な対処方法であると考えました。そこで、ほとんどのコマンドには 2 つの名前が付けられ、説明的な名前または略称のどちらかを選択できるようになっています。たとえば、「clrg」は「clresourcegroup」と同じです。

clresourcegroup create rg1
clrg create rg1

上の例から、新しいコマンドでは長いオプション名 (--property--help--version など) を指定できることに気付いた方がいるかもしれません。長いオプション名はそれだけで意味がわかることが多いため、特にシェルスクリプトでは便利です。しかし、コマンド行から直接コマンドを発行するときは邪魔になることもあります。新しいコマンドはすべて、長いオプション名と 1 文字のオプションの両方をサポートしています。オプションを指定するときは、二重ダッシュ (--) を付けて長いオプション名を使用するか、またはダッシュ (-) を付けて短い (1 文字の) オプション文字を使用することができます。たとえば、次の 2 つのコマンドはまったく同じことを実行します。

clrg create --property Description="My rg" rg1
clrg create -p Description="My rg" rg1

ここまで読んだ方は、この説明はかなり基本的で、いままで使っていたほかのコマンドとよく似ていると思っているかもしれません。実は、それこそ私たちが目指したことなのです。Solaris Cluster の新しいコマンド行インタフェースは、使い慣れたインタフェースを表すように設計されています。コマンドは GNU に似ていますが、実際には、Sun の「コマンド行インタフェースパラダイム」(Command Line Interface Paradigm、CLIP) のもう少し厳密な規則に従っています。

ここには、新しいコマンドセットに含まれている便利な機能のすべてを説明するスペースはありません。しかし、簡単な例を 2 ~ 3 使って、まだ触れていないほかの機能の一部をざっとご紹介しましょう。

最初の例では、クラスタ内のすべてのリソースおよびグループを削除してから作成し直します。

# cluster export >clusterconfig.xml
# clrg delete --force +
# clrg create --input clusterconfig.xml +
# clrs create --input clusterconfig.xml +
# clrg online +

この例の最初のコマンドは「cluster export」です。新しいコマンドのほとんどは、選択したクラスタ構成データのコピーを XML 形式でエクスポートするための「export」サブコマンドをサポートしています。「cluster」コマンドは「アンブレラ」コマンドの一種で、特に「status」、「show」、または「export」サブコマンドとともに使用することによって、クラスタ全体に対する状態レポートおよび構成レポートを生成できます。

次の「clrg delete --force +」は、クラスタからすべてのリソースおよびリソースグループを削除するために使用されます。force オプションは、リソースグループにリソースが含まれている場合でも、すべてのリソースグループを削除するようコマンドに指示します。「+」の記号は一種の「ワイルドカード文字」で、コマンドによって管理される種類のすべてのオブジェクトを表すためのオペランドとして、ほとんどのコマンドで使用できます。

その次の 2 つのコマンド「clrg create」と「clrs create」は、最初の手順で作成された clusterconfig.xml ファイルに記述されているリソースグループおよびリソースをすべて作成し直すために使用されています。別の方法として、実際にはこの「clrg」の手順を省略し、「clrs」の手順で「--automatic」オプションを使用して、新しいリソースで必要となるグループを自動的に作成することも可能です。

最後に、「clrg online +」を使用して、クラスタ内のすべてのリソースグループをオンラインにします。

次の例は、「文字配列」のリソースプロパティを更新する方法を示しています。

# clrs list-props --verbose myresource
Property Name Description
-------------  -----------
myuserlist This is a list of user names
# clrs set -p myuserlist+=user9,user10 myresource

list-props」は非常に便利なサブコマンドです。これを使用するとプロパティ名がリスト表示され、--verbose を指定した場合はプロパティの説明も表示されます。「clrs」では、デフォルトでは拡張プロパティのリストが表示されるだけですが、標準プロパティも表示できるオプションもあります。この例では、「clrs list-props」を使用して、「myresource」というリソースのすべての拡張プロパティの説明を表示しています。

最後に、「myresource」の「myuserlist」拡張プロパティを更新するために「clrs set」が使用されています。「拡張」プロパティと「標準」プロパティをコマンド行で更新するときは、これらのプロパティを区別する必要はありません。ただし、リソースタイプが、「標準」プロパティ名と衝突する「拡張」プロパティ名を使用している場合は例外です。もう 1 つの便利な機能は、「文字配列」のプロパティを更新するときに、配列内の変更されていない部分を指定し直す必要がなくなったことです。「clrs」に対する --property (-p) オプションは、「文字配列」のリソースプロパティを更新するための次の構文をすべてサポートします。

--property <property name>=<property value list>
--property <property name>+=<property value list>
--property <property name>-=<property value list>

新しい Solaris Cluster CLI に関するオンラインのマニュアルページは、『Sun Cluster Reference Manual for Solaris OS (Sun Cluster リファレンスマニュアル (Solaris OS 版))』の「1CL」セクションを参照してください。

新しいコマンドセットには、ここでは取り上げなかった強力な機能がほかにも多数用意されています。新しいコマンドセットについて気に入った点をお知らせください。もちろん、改善すべき点についてのご意見もお待ちしています。


John Cummings
シニアスタッフエンジニア
Solaris Cluster エンジニアリング

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.