1    クラスタ管理の概要

TruCluster Server クラスタの管理はスタンドアロン Tru64 UNIX システムの管理に似ています。システム管理用の 600 を超えるコマンドとユーティリティのうち,20 未満のコマンドとユーティリティがクラスタ管理専用に用意されています。これらのコマンドの大部分を使い,クラスタを作成したり,クラスタに新規メンバを追加したり,アプリケーションを高可用性アプリケーションとして構成したりします。Tru64 UNIX システムの管理に関する知識で,TruCluster Server クラスタの管理のほとんどが可能です。

本書では,クラスタの管理に特有の状況について説明します。その他の状況での管理手順については,Tru64 UNIX 『システム管理ガイド』を参照してください。

本書をさらに読み進む前に,TruCluster Server 『クラスタ概要』の内容をよく理解しておいてください。クラスタの管理には,このマニュアルの内容を理解しておくことが必要です。

この章では,次の事項について説明します。

多くの状況で,TruCluster Server の次のような項目を管理する必要から,管理対象がスタンドアロン・システムではなくクラスタであることが明白になります。

ただし,ユーザからクラスタが 1 つのコンピュータ・システムのように見えないときには,コマンド・レベルでいくつかの例外が発生します。たとえば,wall コマンドを実行すると,実行元のクラスタ・メンバのログインしているユーザのみにメッセージが送信されます。すべてのクラスタ・メンバのログインしているユーザすべてにメッセージを送信するには,wall -c コマンドを使用する必要があります。

1.1    クラスタ用のコマンドとユーティリティ

表 1-1 に TruCluster Server システムの管理に固有のコマンドを示します。これらのコマンドは,クラスタの該当項目の操作または照会に使用します。これらのコマンドについては,リファレンス・ページに解説があります。

表 1-1:  クラスタ用コマンド

用途 コマンド 機能
クラスタのメンバの作成と構成 clu_create(8) Tru64 UNIX システム上でクラスタの最初のメンバを作成する。
  clu_add_member(8) クラスタにメンバを追加する。
  clu_delete_member(8) クラスタからメンバを削除する。
  clu_check_config(8) TruCluster Server が適切にインストールされているか,クラスタが正しく構成されているかを確認する。
  clu_get_info(8) クラスタとそのメンバに関する情報を表示する。
高可用性アプリケーションの定義と管理 caad(8) CAA デーモンを起動する。
  caa_profile(8) アプリケーションの可用性プロファイルを管理し,基本的な構文チェックを実行する。
  caa_balance(8) アプリケーション・リソースをメンバ間で均等に分散する。
  caa_register(8) CAA デーモンにアプリケーションを登録する。
  caa_relocate(8) クラスタのあるメンバから高可用性アプリケーションを別のメンバに手動で再配置する。
  caa_report(8) アプリケーション・リソースに対する可用性統計情報をレポートする。
  caa_start(8) CAA デーモンに登録された高可用性アプリケーションを起動する。
  caa_stat(1) CAA デーモンに登録されたアプリケーションの状態を表示する。
  caa_stop(8) 高可用性アプリケーションを停止する。
  caa_unregister(8) 高可用性アプリケーションの登録を取り消す。
クラスタ別名の管理 cluamgr(8) クラスタ別名を作成および管理する。
  clua_active(8) クラスタ別名がアクティブで到達可能かどうかを決定する。
クォーラムとボートの管理 clu_quorum(8) クォーラム・ディスクを構成または削除する。クォーラム・ディスク・ボート,ノード・ボート,または期待ボートを調節する。
コンテキスト依存シンボリック・リンク (CDSL) の管理 mkcdsl(8) CDSL を作成またはチェックする。
デバイス要求ディスパッチャの管理 drdmgr(8) 分散デバイスの属性を取得または設定する。
クラスタ・ファイル・システム (CFS) の管理 cfsmgr(8) クラスタにマウントされたファイル・システムを管理する。
Memory Channel の状態の照会 imcs(1) Memory Channel アプリケーション・プログラミング・インタフェース (API) ライブラリ libimc の状態を報告する。
  imc_init(1) 現在のホスト上の Memory Channel API ライブラリ libimc を初期化および構成する。

1.2    クラスタで異なる動作をするコマンドと機能

次の表に示した Tru64 UNIX のコマンドとサブシステムは,クラスタ固有のオプションを持ち,クラスタとスタンドアロン Tru64 UNIX システムとでは異なる動作をします。

一般に,プロセス管理用のコマンドはクラスタ対応ではないので,実行元のメンバの管理にしか使用できません。

表 1-2 に,ファイル・システムおよびストレージ管理用のコマンドおよびユーティリティの動作の違いを示します。

スタンドアロン Tru64 UNIX システムでは,ルート・ファイル・システム (/) は root_domain#root です。クラスタでは,ルート・ファイル・システムは常に cluster_root#root です。クラスタの各メンバのブート・パーティションは rootmemberID_domain#root です。

たとえば,メンバ ID 6 のクラスタ・メンバ上では,ブート・パーティション (/cluster/members/member6/boot_partition) は root6_domain#root です。

表 1-2:  ファイル・システムおよびストレージ管理に関する相違点

コマンド 相違点
addvol(8)

スタンドアロン・システムでは,addvol を使って root_domain を拡張できない。しかしクラスタでは,addvol を使ってcluster_root ドメインにボリュームを追加できる。

rmvol コマンドを使って cluster_root ドメインからボリュームを削除することもできる。

LSM (Logical Storage Manager) ボリュームは cluster_root ドメイン内では使用できない。 addvol コマンドを使って cluster_root ドメインに LSM ボリュームを追加しようとすると,エラーが発生する。ただし,cluster_root ドメインでも,クラスタの他のファイル・システムのドメインでも,volmigrate コマンドを使用して LSM ボリュームに移行させることができる。詳細は,Tru64 UNIX 『Logical Storage Manager』を参照。

bttape(8)

bttape ユーティリティはクラスタ非対応。

ファイルのバックアップと復元についての詳しい説明は,9.8 節を参照。

df(1)

df コマンドは,クライアントのキャッシュ内のデータを対象としない。クライアントのキャッシュ内のデータは,少なくとも 30 秒ごとにサーバと同期をとる。同期後,物理ファイル・システムはキャッシュ・データに対してストレージを割り当てる。

iostat(1)

iostat コマンドは,実行元のメンバに直接接続されている共用バスまたはプライベート・バス上のデバイスに関して統計情報を表示する。

この統計情報はローカル・メンバに対して発生したトラフィックに関係する。

LSM 関連

voldisk(8)

volencap(8)

volreconfig(8)

volstat(8)

volmigrate(8)

volunmigrate(8)

LSM が制御していないディスク (つまり,autoconfig ディスク) に対して voldisk list コマンドを実行すると,メンバによっては結果が異なる場合がある。このような結果の違いは,主に使用不能ディスク・グループに限定される。たとえば,あるメンバは使用不能ディスク・グループを示すが,別のメンバは同じディスク・グループをまったく示さないという場合がある。また,クラスタ内で,voldisk list コマンドを実行すると,実行元のメンバに直接接続されている非 LSM ディスクだけを示す。

クラスタでは,あるクラスタ・メンバ上で volencap swap コマンドを実行すると,1 つ以上のメンバのスワップ・デバイスが LSM ボリュームに置かれる。

volreconfig コマンドは,メンバのスワップ・デバイスをカプセル化するときにだけ必要である。カプセル化したいスワップ・デバイスがある場合は,そのスワップ・デバイスのある各メンバ上でこのコマンドを実行する必要がある。

volstat コマンドは,実行元メンバの統計情報のみを返す。

volmigrate コマンドは AdvFS (Advanced File System) を変更して,LSM ボリュームをストレージで使えるようにする。cluster_root ドメインでも,クラスタの他のファイル・システムのドメインでも,volmigrate コマンドを使用して LSM ボリュームに移行させることができる。詳細は Tru64 UNIX 『Logical Storage Manager』を参照。volunmigrate は AdvFS (Advanced File System) を変更して,LSM ボリュームではなく物理ディスクをストレージで使えるようにする。

クラスタで使用する LSM についての詳細は,第 10 章を参照。

mount(8)

ネットワーク・ファイル・システム (NFS) ループバック・マウントはサポートされていない。詳細は,7.6.2.4 項を参照。

mountd 経由で実行されるその他のコマンド (たとえば umountexport) が外部クライアントから発行され,その際に省略時のクラスタ別名または /etc/exports.aliases の中で指定されている別名が使用されないと,「Program unavailable」というエラーが返される。

Prestoserve 関連

presto(8)

dxpresto(8X)

prestosetup(8)

prestoctl_svc(8)

Prestoserve はクラスタ非対応。
showfsets(8)

showfsets コマンドは,クライアントのキャッシュ内のデータを対象としない。クライアントのキャッシュ内のデータは,少なくとも 30 秒ごとにサーバと同期をとる。同期後,物理ファイル・システムはキャッシュ・データに対してストレージを割り当てる。

クォータや物理ストレージの実量を超えてアクセスし,異常なデータをキャッシュすることを避けるために,ファイルセットのクォータ制限とストレージ制限を行う。

UNIX ファイル・システム (UFS) 関連

メモリ・ファイル・システム (MFS) 関連

UFS ファイル・システムでは,接続を使った読み取りアクセスだけが可能である。メンバに障害が起こると,CFS はそのファイル・システムをサービスする新しいサーバを選ぶ。パスに障害が起こると,CFS はそのストレージに至る代わりのデバイス要求ディスパッチャを使用する。

クラスタ・メンバは UFS ファイル・システムを読み取り/書き込みでマウントできる。そのファイル・システムにはそのメンバだけがアクセスできる。リモートからはアクセスできず,フェイルオーバはできない。MFS ファイル・システムは,読み取り専用でマウントしたか読み取り/書き込みでマウントしたかに関係なく,それをマウントしたメンバだけがアクセスできる。MFS ファイル・システムと読み取り/書き込みの UFS ファイル・システムのサーバは,そのマウントを起動したメンバが担当する。

verify(8)

verify コマンドを使ってクラスタのルート・ドメインを調べることができる。ただし,-f および -d オプションは使用できない。

詳細は,9.11.1 項を参照。

表 1-3 に,ネットワーク管理用のコマンドおよびユーティリティの動作の違いを示します。

表 1-3:  ネットワーク管理に関する相違点

コマンド 相違点

BIND (Berkeley Internet Name Domain) 関連

bindconfig(8)

bindsetup(8)

svcsetup(8)

bindsetup コマンドは Tru64 UNIX バージョン 5.0 で廃止された。クラスタ内の BIND を構成するには,sysman dns コマンドまたはそれと同等の bindconfig コマンドを使用する。

BIND クライアントの構成はクラスタ単位で行うので,クラスタのすべてのメンバは同じクライアント構成を使用する。

クラスタの 1 つのメンバだけが BIND サーバになることができる。BIND サーバは CAA 制御下の高可用性サービスである。BIND サーバ名としてクラスタ別名が使用される。

詳細は,7.4 節を参照。

ブロードキャスト・メッセージ関連

wall(1)

rwall(1)

wall -c コマンドは,すべてのクラスタ・メンバのログインしているユーザすべてにメッセージを送信する。何もオプションを付けなければ,wall コマンドは,実行元のクラスタ・メンバのログインしているユーザのみにメッセージを送信する。

rwall から省略時のクラスタ別名へのブロードキャスト・メッセージは,すべてのクラスタ・メンバのログインしているユーザすべてに送信される。

クラスタでは,wall -c からのメッセージを受信するために,各メンバ上で clu_wall デーモンが動作している。

DHCP (Dynamic Host Configuration Protocol) 関連

joinc(8)

クラスタは DHCP サーバになることができるが,クラスタのメンバは DHCP クライアントになることはできない。クラスタ内では joinc は実行禁止。クラスタのメンバは静的なアドレス指定を使用する必要がある。

詳細は,7.1 節を参照。

dsfmgr(8)

-a class オプションの使用時は,entry_type として c (クラスタ) を指定する。

-s オプション使用時の出力には,デバイスの適用範囲として c (クラスタ) が表示される。

オプション -o および -O (旧形式のデバイス・スペシャル・ファイルを作成) はクラスタ内では無効。

メール・サービス関連

mailconfig(8)

mailsetup(8)

mailstats(8)

メール・サービスを実行するメンバは同じメール構成を使用しなければならない。したがって,これらのメンバでは同じプロトコルを有効にする必要がある。また,これらのメンバをメール・クライアントまたはメール・サーバのいずれかに構成しなければならない。詳細は,7.8 節を参照。

mailstats コマンドは,実行元のクラスタ・メンバのみに関するメールの統計情報を返す。メールの統計情報ファイル /usr/adm/sendmail/sendmail.st はメンバに固有である。つまり,クラスタの各メンバはメールに関してそれぞれ固有の統計情報ファイルを持っている。

ネットワーク・ファイル・システム (NFS) 関連

nfsconfig(8)

rpc.lockd(8)

rpc.statd(8)

NFS を構成するには,sysman nfs コマンドまたは nfsconfig コマンドを使用する。nfssetup コマンドは使用禁止 (Tru64 UNIX バージョン 5.0 でサポート終了)。

クラスタのメンバは NFS クライアント・デーモン lockd および statd を実行できる。ただし,NFS サーバ・デーモン lockd および statd を実行できるのは,クラスタの 1 つのメンバのみである。サーバ・デーモン lockd および statd は CAA 制御下の高可用性デーモンである。

詳細は,7.6 節を参照。

ネットワーク管理関連

netconfig(8)

netsetup(8)

gated(8)

routed(8)

クラスタ構成中にネットワークを構成した場合,gated をルーティング・デーモンとして構成することを推奨する。詳細は,TruCluster Server 『クラスタ・インストレーション・ガイド』 を参照。

TruCluster Server バージョン 5.1B より前のリリースでは,クラスタのルーティング・デーモンとして gated を実行する必要がある。routedogated,または静的ルーティングのセットアップが使用できず,また,ルーティング・デーモンもすべて使用できない。バージョン 5.1B からは,gatedrouted,または静的ルーティングが使用可能になる。ogated は使用不可。gated が省略時の設定である。ルーティング・オプションについては 3.14 節を参照。

netsetup コマンドは廃止されたので使用不可。

NIFF (Network Interface Failure Finder) 関連

niffconfig(8)

niffd(8)

NIFF がクラスタ内のネットワーク・インタフェースを監視するには,niffd (NIFF デーモン) がクラスタの各メンバ上で動作していなければならない。 詳細は,6.2 節を参照。

NIS (ネットワーク情報サービス) 関連

nissetup(8)

NIS は高可能性アプリケーションとして動作する。 NIS マスタの識別には省略時のクラスタ別名が使用される。

詳細は,7.2 節を参照。

NTP (Network Time Protocol) 関連

ntp(1)

クラスタのすべてのメンバの時刻同期には NTP が使用される。

各クラスタ・メンバはそれぞれ他のメンバの NTP ピアとして自動的に構成されるので,特別な NTP の構成は不要。

詳細は,7.5 節を参照。

routed(8)

TruCluster Server バージョン 5.1B より前のリリースでは,クラスタのルーティング・デーモンとして gated を実行する必要がある。routedogated,または静的ルーティングのセットアップが使用できず,また,ルーティング・デーモンもすべて使用できない。バージョン 5.1B からは,gatedrouted,または静的ルーティングが使用可能になる。ogated は使用不可。gated が省略時の設定である。ルーティング・オプションについては 3.14 節を参照。

クラスタの最初のメンバ を作成すると,clu_creategated を構成する。クラスタに新規メンバを追加すると,clu_add_membergated の構成を新規メンバに反映させる。

ルータについての詳しい説明は,6.3 節を参照。

表 1-4 に,プリント管理に関する相違点を示します。

表 1-4:  プリント管理に関する相違点

コマンド 相違点

lprsetup(8)

printconfig(8)

プリント・サーバにするクラスタ・メンバを指定するには,クラスタ固有のプリンタ属性 (on) を使用する。プリント構成ユーティリティ (lprsetup および printconfig) を使用すれば,on 属性を簡単に設定できる。

/etc/printcap ファイルはクラスタ内のすべてのメンバによって共用される。

詳細は,7.3 節を参照。

Advanced Printing Software クラスタに Advanced Printing Software をインストールして使用する方法についての詳細は,Tru64 UNIX Advanced Printing Softwareシステム管理/操作ガイド』を参照。

表 1-5 に,セキュリティ管理に関する相違点を示します。 クラスタで使用するエンハンスト・セキュリティ機能については,Tru64 UNIX 『セキュリティ管理ガイド』を参照してください。

表 1-5:  セキュリティ管理に関する相違点

コマンド 相違点

auditd(8)

auditconfig(8)

audit_tool(8)

クラスタはシングル・セキュリティ・ドメインである。クラスタの root 特権を持つユーザは,クラスタ別名かクラスタ・メンバの 1 つに root としてログインできる。同様に,アクセス制御リスト (ACL) およびユーザ権限/特権もクラスタ全体に対して効力がある。

監査ログ・ファイルを除き,セキュリティ関連のファイル,ディレクトリ,およびデータベースはクラスタ全体で共用される。監査ログ・ファイルは各メンバに固有である。つまり,監査デーモン (auditd) は各メンバ上で動作し,各メンバはそれぞれ固有の監査ログ・ファイルを持っている。そのため,クラスタの 1 つのメンバに障害が発生しても,他のメンバに対する監査は中断されずに続行される。

クラスタ全体に関する監査レポートを生成するには,監査ログ名の CDSL を監査リダクション・ツール (audit_tool) で指定する。特定のメンバに関する監査レポートを生成するには,そのメンバに該当するログの名前を指定する (複数指定可能)。

エンハンスト・セキュリティ機能が必要な場合は,クラスタの作成前にエンハンスト・セキュリティ機能を構成することを強く推奨する。クラスタの作成後にエンハンスト・セキュリティ機能を構成するには,クラスタ全体をシャットダウンし,リブートする必要がある。

   

rlogin(1)

rsh(1)

rcp(1)

クラスタからの rloginrsh,または rcp 要求では,送信元アドレスとして省略時のクラスタ別名を使用する。したがって,クラスタ外のホストがクラスタ内のアカウントからのリモート・アクセスを常に許可する場合は,そのホストの .rhosts ファイルにクラスタ別名を登録する必要がある (登録形式は,/etc/hosts ファイルでの登録形式か,NIS またはドメイン・ネーム・システム (DNS) による解決可能な形式でよい)。

この要件は,クラスタのメンバ間で機能する rloginrsh,または rcp にも適用される。

詳細は,5.3 節を参照。

表 1-6 に,システム構成および管理用のコマンドおよびユーティリティの動作の違いを示します。

表 1-6:  一般のシステム管理に関する相違点

コマンド 相違点
DMS (Dataless Management Services) DMS は TruCluster Server 環境ではサポートされていない。クラスタは,DMS のクライアントにもサーバにもなれない。

イベント・マネージャ (EVM) およびイベント管理関連

イベントは cluster_event 属性を持っている。この属性に true が設定されたイベントは,クラスタのすべてのメンバにポストされる。false が設定されたイベントは,そのイベントが生成されたメンバのみにポストされる。

クラスタ・イベントの一覧については,付録 A を参照。

halt(8)

reboot(8)

init(8)

shutdown(8)

クラスタ全体に影響する halt または reboot はない。

コマンド halt および reboot は実行元のメンバのみに影響する。別のメンバへのファイル・システムの再配置が自動的に行われるので,コマンド haltreboot,および init は,クラスタにマウントされたファイル・システムをアンマウントしないように修正された。

クラスタは shutdown -c を使って停止できる。

clu_quorumclu_add_memberclu_delete_member のうちのいずれかのコマンドの実行中に,shutdown -c time コマンドを実行すると,エラーが発生する。

クラスタをシャットダウンして停止することはできるが,クラスタ全体をリブートすることはできない (つまり shutdown -r は無効)。

クラスタの特定のメンバをシャットダウンするには,そのメンバから shutdown コマンドを実行する。

詳細は, shutdown(8) を参照。

hwmgr(8)

クラスタでは,-member オプションに特定のメンバをホスト名で指定して,hwmgr コマンドを実行できる。

-cluster オプションを使用して,このコマンドをクラスタ全体に対して実行できる。

-member-cluster も使用しない場合,hwmgr コマンドの対象は,実行元のシステムになる。

プロセス制御関連

ps(1)

クラスタ全体に一意のプロセス識別子 (PID) を割り当てるには,プロセス ID の範囲をクラスタの各メンバに割り当てる。ps コマンドは,実行元のメンバ上で動作するプロセスのみに関してレポートを生成する。

kill(1)

ゼロ (0) より大きいパラメータを指定すると,kill コマンドはそのパラメータ値と同じ PID を持つプロセスにシグナルを送る。このとき,そのプロセスがどのメンバで動作しているかは関係ない。指定されたパラメータが -1 より小さいと,プロセス・グループ ID がそのパラメータの絶対値と同じすべてのプロセス (クラスタ単位) にシグナルを送る。

クラスタ・メンバ上の init の PID が 1 でない場合でも,kill 1 はスタンドアロン・システム上で実行されたように動作して,アイドル状態のカーネルと /sbin/init を除くそのクラスタ・メンバ上のすべてのプロセスにシグナルを送る。

rcmgr(8)

/etc/rc.config* ファイルの階層化により,ローカル・エリア・ネットワーク (LAN) 内およびクラスタ内のすべてのシステムに対して構成変数を一貫して定義できる。

詳細は,5.1 節を参照。

sysman_clone(8)

sysman -clone

構成のクローン作成と複製はクラスタ非対応。

クラスタ内で sysman -clone コマンドを使用しようとすると,エラーが発生し,次のメッセージが返される。 Error: Cloning in a cluster environment is not supported.

システム課金サービスおよび関連コマンド

fuser(8)

mailstats(8)

ps(1)

uptime(1)

vmstat(1)

w(1)

who(1)

これらのコマンドはクラスタ対応ではない。 これらのコマンドの 1 つを実行すると,実行元のクラスタ・メンバに関する情報のみが返され,クラスタ全体に関する情報は返されない。

5.15 節を参照。

表 1-7 に,TruCluster Server でサポートされていない機能を示します。

表 1-7:  サポートされていない機能

機能 コメント

アーカイブ関連

bttape(8)

bttape ユーティリティはクラスタ非対応。

ファイルのバックアップおよび復元についての詳細は,9.8 節を参照。

LSM 関連

volrootmir(8)

volunroot(8)

volrootmir コマンドと volunroot コマンドはクラスタ非対応。

クラスタ内での LSM についての詳細は,第 10 章を参照。

mount(8)

NFS ループバック・マウントはサポートされていない。詳細については,7.6.2.4 項を参照。

mountd コマンドを介して実行される別のコマンド (umountexport など) は,外部クライアントから発行され,省略時のクラスタ別名または /etc/exports.aliases の中で指定されている別名を使用しないときは,「Program unavailable」というエラーが返される。

Prestoserve

presto(8)

dxpresto(8X)

prestosetup(8)

prestoctl_svc(8)

Prestoserve はクラスタ非対応。
routed(8)

TruCluster Server バージョン 5.1B より前のリリースでは,クラスタのルーティング・デーモンとして gated を実行する必要がある。routedogated,または静的ルーティングのセットアップが使用できず,ルーティング・デーモンもすべて使用できない。バージョン 5.1B からは,gatedrouted,または静的ルーティングが使用可能になる。ogated は使用不可。gated が省略時の設定である。ルーティング・オプションについては 3.14 節を参照。

最初のクラスタ・メンバを作成するときに,clu_create により gated が構成される。新しいクラスタ・メンバを追加するときに,clu_add_member によりその構成が新しいメンバに伝えられる。

ルータについての詳細は,6.3 節を参照。

DMS (Dataless Management Services) DMS は TruCluster Server 環境ではサポートされていない。クラスタは DMS クライアントにもサーバにもなれない。
UNIX ファイル・システム (UFS) クラスタ・メンバは UFS ファイル・システムを読み取り/書き込みでマウントできる。ファイル・システムはそのメンバだけがアクセスできる。リモートからはアクセスできず,フェイルオーバはできない。

sysman_clone(8)

sysman -clone

構成のクローン作成と複製は非クラスタ対応。

クラスタ内で sysman -clone コマンドを使用しようとすると,エラーが発生して,次のメッセージが返される。 Error: Cloning in a cluster environment is not supported.