この章では,次の作業の手順を説明します。
シングル・メンバ・クラスタの再作成 (6.1 節)
個々のクラスタ・メンバの再インストール (6.2 節)
インストール構成ファイルを用いた,クラスタの再作成および単一メンバの再インストールの自動化 (6.3 節)
この手順では,現在のクラスタからメンバを削除した後,ベース・オペレーティング・システムをブートし,clu_create
コマンドを再実行して新しいクラスタを作成します。新しく作成するクラスタの構成は現在のクラスタと同じでも同じでなくてもかまいません。6.3 節に示す手順では,構成ファイルを用いて現在のクラスタと同じ構成のクラスタを作成しています。
シングル・メンバ・クラスタを再作成する手順は,次のとおりです。
どのディスクが Tru64 UNIX のブート・ディスクであるかを特定します。
次の例で示すように,/etc/fdmns
ディレクトリで,Tru64 UNIX ブート・ディスクのスペシャル・ファイル名を探します (通常は
root_domain
ディレクトリにあります)。
# ls /etc/fdmns/root_domain /dev/disk/dsk0a
ディスクがプライベート・バス上にある場合は,SysMan Station を使用して,どのシステムにそのディスクがあるかを特定します。
次の例で示すように,ディスクのライトを点滅させます。
# hwmgr -flash light -dsf /dev/disk/dsk0
ディスクの
dsk
デバイス・スペシャル・ファイル名をその物理的位置にマップする方法については,3.7.2 項で説明しています。
Tru64 UNIX ディスクに直接アクセスできるクラスタ・メンバで,その他のクラスタ・メンバをすべて削除します。クラスタ・メンバの削除については,『クラスタ管理ガイド』を参照してください。これらのメンバを削除する前に構成ファイルを保存する場合は,6.3 節を参照してください。この時点で,このシステムがクラスタの唯一のメンバとなります。
警告
クラスタを再作成する前に,すべてのクラスタ・メンバを削除してください。削除しない場合,古いメンバ・ブート・ディスクが新しいクラスタにブートされる可能性があります。
このメンバのクラスタ・ブート・ディスクのデバイス・スペシャル・ファイル名を決定し,忘れないようにメモをとっておきます。たとえば,このシステムがメンバ 1 の場合には次のように入力します。
# ls /etc/fdmns/root1_domain /dev/disk/dsk10a
システムを停止します。
# shutdown -h now
システム・コンソールから,Tru64 UNIX オペレーティング・システムをマルチユーザ・モードでブートします。
>>> boot UNIX_disk
このシステムはクラスタから削除されなかったため,そのクラスタ・メンバ・ブート・ディスクは,それにアクセスできるシステムからまだブートできます。システムから偶然にこのディスクがブートされることを防ぐため,ディスク・ラベルをゼロ (クリア) にします。たとえば,dsk10
のラベルをゼロにするには,次のように入力します。
# disklabel -z dsk10
clu_create
コマンドを実行して,シングル・メンバ・クラスタを作成します。
# /usr/sbin/clu_create
clu_create
コマンドの実行については,第 4 章を参照してください。
メンバを再インストールするには,そのメンバを停止し,別のメンバで次の作業を行います。
クラスタからメンバを削除するには,clu_delete_member
コマンドを実行します。クラスタからのメンバの削除については,『クラスタ管理ガイド』を参照してください。
クラスタにメンバを再び加えるには,clu_add_member
コマンドを実行します。
clu_add_member
コマンドの実行についての詳細は,第 5 章
を参照してください。構成ファイルの使用についての詳細は,
clu_add_member
(8)
clu_create
および
clu_add_member
は,TruCluster Server クラスタを新規に作成するとき,その構成ファイルを
/cluster/admin
ディレクトリに書き込みます。このファイルの名前は
.membern.cfg
で,n
はクラスタ・メンバの ID
を表します。これらのコマンドが正しく実行されるたびに,それぞれのメンバの構成ファイルに現在の構成情報が追加されます。構成ファイルとその使用の制約事項については,
clu_create
(8)clu_add_member
(8)
以下の例は,各国語サポート (WLS) の機能を持つとともにクラスタ・インターコネクトとして LAN ハードウェアを使用するクラスタを作成した際に,clu_create
が作成した構成ファイルです。読みやすいようにコメント行は折り返してあります。
# clu_create saved configuration values: # date: Tue May 15 15:47:14 EDT 2001 hostname \ # pepicelli.zk3.dec.com # Previously saved value in this file have been \ # converted to comment lines clu_alias_ip=16.140.112.209 clu_boot_dev=dsk10 clu_i18n_dev=dsk14 clu_ics_dev=ics0 clu_ics_host=pepicelli-ics0 clu_ics_ip=10.0.0.1 clu_mem_votes=1 clu_memid=1 clu_name=deli.zk3.dec.com clu_nr_dev=nr0 clu_phys_devs=ee0,ee1 clu_quorum_dev=dsk7 clu_quorum_votes=1 clu_root_dev=dsk1b clu_tcp_host=member1-icstcp0 clu_tcp_ip=10.1.0.1 clu_usr_dev=dsk2c clu_var_dev=dsk3c
インストール構成ファイルには
variable=value
という組み合わせで記録されています。この情報を使用することで,clu_create
および
clu_add_member
の実行するタスクを自動化することができます。-c
オプションと構成ファイル名を指定してこれらのコマンドを実行すると,これらのコマンドはその構成ファイルを入力として使用します (情報を手動で入力する必要がなくなります)。
clu_create
または
clu_add_member
は,構成ファイルを読み取る際に必要な名前と値のペアを発見できないと,必要な情報の入力を促すためのプロンプトを表示して,構成ファイルの読み取りに戻ります。したがって,たとえば,クラスタの最初のメンバを削除してしまった後でも,clu_create
が作成した構成ファイル (通常は
/cluster/admin/.member1.cfg
) を用いて
clu_add_member -c
を実行することができます。clu_add_member
コマンドは,clu_create
の作成した構成ファイルに必要な情報が入っていなければ,プロンプトを表示します。
注意
構成ファイルの作成と読み取りはどちらもプログラムが行います。特別なことがなければ,構成ファイルは手動で編集しないでください。
構成ファイルを使用すれば,既存のクラスタを簡単に作成し直すことができます。ただし,構成ファイル内の情報 (ホスト名,IP アドレス,ディスク・スペシャル・ファイル名など) は正確でなければなりません。ディスク・デバイスは見つかった順序で命名されるため,構成ファイルを用いてクラスタを再作成する場合は,以前と同じシステムで
clu_create -cmember_conf_file
を実行することになります。また,ストレージ構成ファイルも変更されていないことが前提になります。さらに,メンバの追加は,最初にクラスタを作成した場合と同じ順序で行わなければなりません。各メンバについて,以前に実行した場合と同じメンバ上で
clu_add_member -c
member_conf_file
を実行します (構成ファイルのコメント行
date:
には,clu_create
または
clu_add_member
が実行された日付と実行されたホスト名が記録されています)。
既存のクラスタが以下の要件を満たしていれば,現在の
clu_create
および
clu_add_member
構成ファイルを保存することで,クラスタの再作成を自動化できます。
クラスタをアップグレードする場合に現在と同じディスク,ホスト名,および IP アドレスを使用する。
ディスク・ストレージの構成が,そのクラスタを新規に作成してメンバを追加した時点と同じである。つまり,clu_create
および
clu_add_member
構成ファイルに記録されているディスク名が,最後にコマンドを実行したときと同じデバイスを参照している。クラスタを作成してからデバイスを追加または削除していると,最初に Tru64 UNIX をインストールしたときのハードウェア構成と現在の構成が一致していないことがあります。クラスタ単位の
root
(/
),/usr
,/var
ファイル・システム,メンバ・ブート・ディスク,またはクォーラム・ディスクのいずれかに使用しているディスクの名前がこの違いに関係していると,問題になることがあります。
注意
この節の残りの部分では,クラスタ全体を再作成する方法について説明します。特に説明しませんが,構成ファイルを使用してクラスタをメンバに再度追加することもできます。
以下に,現在のクラスタから構成ファイルを保存した後,その構成ファイルを使用して TruCluster Server を再作成する手順を示します。
現在のクラスタのフル・バックアップを取ります。
どのディスクが Tru64 UNIX のブート・ディスクになっているかを調べます。最初にクラスタ・メンバとなったシステムのプライベート・ディスクがブート・ディスクになっていることがよくあります。
次の例で示すように,/etc/fdmns
ディレクトリを調べて,Tru64 UNIX のブート・ディスクに対応するスペシャル・ファイル名を探します (通常は
root_domain
ディレクトリの中)。
# ls /etc/fdmns/root_domain /dev/disk/dsk0a
SysMan Station を使用して,どのシステムにそのディスクがあるか調べます。
次の例で示すように,そのディスクのライトを点滅させます。
# hwmgr -flash light -dsf /dev/disk/dsk4
ディスクの
dsk
デバイス・スペシャル・ファイル名からその物理的位置を割り出すときは,3.7.2 項を参照してください。ブートはシステムのコンソールから行うので,このディスクの物理的位置を知る必要があります。
Tru64 UNIX オペレーティング・システム・ディスクにアクセスできるクラスタ・メンバ上でディスクをマウントし,現在の構成ファイルとライセンス PAK をそのディスクに保存します。次に例を示します。
# mount root_domain#root /mnt # mkdir /mnt/config_files /mnt/licenses # cp /cluster/admin/.member*.cfg /mnt/config_files # for i in `lmf list | grep -v Product | awk '{print $1}'` do lmf issue /mnt/licenses/$i.license $i done
注意
その他に,次のような情報も保存しておくと良いでしょう。
サイト固有の CAA プロファイルおよび処理スクリプト
各メンバの
/etc/rc.config
ファイル各メンバのクラスタ別名構成ファイル (
/etc/clu_alias.config
)システム構成ファイルに対する修正
/etc/fstab
/etc/fdmns/*
の再帰リスト (ls -R
)一言でいえば,クラスタを作成した以降に行った変更のうち,その作業を繰り返したくないものは保存しておく,ということです。何を保存してよいかわからない場合は,
sys_check -all
コマンドを使用して,システムの構成情報を収集してください (その場合も CAA のプロファイルとスクリプト,クラスタ別名構成ファイル,およびメンバ固有のファイルは手動で保存しなければなりません)。
クラスタを停止させます。
# shutdown -c now
システム・コンソールから Tru64 UNIX オペレーティング・システムをマルチユーザ・モードでブートします。
>>> boot UNIX_disk
注意
この手順では,ベース・オペレーティング・システムをインストールして新規にクラスタを作成した後,そのクラスタのローリング・アップグレードをまだ実行していないことを前提としています。ローリング・アップグレードをすでに実行していると,このディスクに置かれているベース・オペレーティング・システムは,クラスタをシャットダウンした時点とバージョンが異なります (
sizer -v
コマンドを使用するとオペレーティング・システムのバージョンが表示されます)。オペレーティング・システムが最新バージョンでない場合は,次の手順を実行します。
システムをシングルユーザ・モードにします。
TruCluster Server サブセットを削除します。
アップデート・インストレーションを実行して Tru64 UNIX のバージョンを最新版にします。
TruCluster Server サブセットの最新バージョンをロードします。
(オプション) 新バージョンのベース・オペレーティング・システムおよびクラスタ・ソフトウェアに対してパッチ・キットがある場合は,
clu_create
をまだ実行していないこの時点で Tru64 UNIX システムにパッチをあてます。ここでパッチをあてておけば,後からパッチ・キットをクラスタにローリングする必要がありません。
保存しておいた必要なライセンスを登録します (Tru64 UNIX と TruCluster Server のライセンスはすでにアクティブです)。次の例では,lmf list
を実行することで不要な
*.license
ファイルがすでに
/licenses
から削除されていることを前提としています。
# for i in /licenses/*.license do lmf register - < $i done # lmf reset
保存してある構成ファイルの中からどの構成ファイルを
clu_create
で使用するかを決めます。次に,その構成ファイルの名前を指定して
clu_create -c
を実行します。
次に例を示します。
# cd /config_files # grep clu_create .*.cfg .member1.cfg:# clu_create saved configuration values: # /usr/sbin/clu_create -c /config_files/.member1.cfg
最初のクラスタ・メンバをブートした後,保存しておいたメンバ構成ファイルを使用して,残りのメンバをクラスタに追加します。
警告
メンバの追加は,元のクラスタに追加したときと同じ順序で,しかも同じホストから行ってください。そうしないと,デバイス名が元のクラスタと同じ名前にならないことがあります。
構成ファイルをそれぞれ調べて,clu_add_member
コマンドをどのメンバで実行したかを調べます。各ファイル内の最新の
# date
コメントを調べると,コマンドが実行された時刻とホストがわかります。次の短いスクリプトを実行すると,構成ファイル名,clu_add_member
が実行されたホスト,および追加されたメンバ名が表示されます。
#! /bin/ksh cd /config_files for i in `grep -l unix_host .member*.cfg` do print '\n' $i tail -21 $i | grep -E '^# date|^unix_host' done
3 メンバから構成されるサンプル・クラスタでこのスクリプトを実行すると,出力は次のようになります。
.member2.cfg # date: Tue May 15 17:46:48 EDT 2001 hostname pepicelli.zk3.dec.com unix_host=polishham.zk3.dec.com .member3.cfg # date: Tue May 15 18:09:32 EDT 2001 hostname polishham.zk3.dec.com unix_host=provolone.zk3.dec.com
この情報を基に,クラスタの最初のメンバ
pepicelli
で
.member2.cfg
ファイルを指定して
clu_add_member
を実行し,2 番目のメンバ
polishham
を追加します。polishham
をブートした後,そこで
.member3.cfg
ファイルを指定して
clu_add_member
を実行すると,3 番目のメンバ
provolone
が追加されます。
たとえば,クラスタの 2 番目のメンバを追加する場合は,pepicelli
で次のコマンドを実行します。
# /usr/sbin/clu_add_member -c /config_files/.member2.cfg
必ず,新しく追加したメンバをブートしてから,次のメンバを追加してください。