6    クラスタ・メンバの再インストール

この章では,次の作業の手順を説明します。

6.1    シングル・メンバ・クラスタの再作成

この手順では,現在のクラスタからメンバを削除した後,ベース・オペレーティング・システムをブートし,clu_create コマンドを再実行して新しいクラスタを作成します。新しく作成するクラスタの構成は現在のクラスタと同じでも同じでなくてもかまいません。6.3 節に示す手順では,構成ファイルを用いて現在のクラスタと同じ構成のクラスタを作成しています。

シングル・メンバ・クラスタを再作成する手順は,次のとおりです。

  1. どのディスクが Tru64 UNIX のブート・ディスクであるかを特定します。

    1. 次の例で示すように,/etc/fdmns ディレクトリで,Tru64 UNIX ブート・ディスクのスペシャル・ファイル名を探します (通常は root_domain ディレクトリにあります)。

      ls /etc/fdmns/root_domain
      /dev/disk/dsk0a
       
      

    2. ディスクがプライベート・バス上にある場合は,SysMan Station を使用して,どのシステムにそのディスクがあるかを特定します。

    3. 次の例で示すように,ディスクのライトを点滅させます。

      hwmgr -flash light -dsf /dev/disk/dsk0
       
      

      ディスクの dsk デバイス・スペシャル・ファイル名をその物理的位置にマップする方法については,3.7.2 項で説明しています。

  2. Tru64 UNIX ディスクに直接アクセスできるクラスタ・メンバで,その他のクラスタ・メンバをすべて削除します。クラスタ・メンバの削除については,『クラスタ管理ガイド』を参照してください。これらのメンバを削除する前に構成ファイルを保存する場合は,6.3 節を参照してください。この時点で,このシステムがクラスタの唯一のメンバとなります。

    警告

    クラスタを再作成する前に,すべてのクラスタ・メンバを削除してください。削除しない場合,古いメンバ・ブート・ディスクが新しいクラスタにブートされる可能性があります。

  3. このメンバのクラスタ・ブート・ディスクのデバイス・スペシャル・ファイル名を決定し,忘れないようにメモをとっておきます。たとえば,このシステムがメンバ 1 の場合には次のように入力します。

    ls /etc/fdmns/root1_domain
    /dev/disk/dsk10a
     
    

  4. システムを停止します。

    shutdown -h now
     
    

  5. システム・コンソールから,Tru64 UNIX オペレーティング・システムをマルチユーザ・モードでブートします。

    >>> boot UNIX_disk
     
    

  6. このシステムはクラスタから削除されなかったため,そのクラスタ・メンバ・ブート・ディスクは,それにアクセスできるシステムからまだブートできます。システムから偶然にこのディスクがブートされることを防ぐため,ディスク・ラベルをゼロ (クリア) にします。たとえば,dsk10 のラベルをゼロにするには,次のように入力します。

    disklabel -z dsk10
     
    

  7. clu_create コマンドを実行して,シングル・メンバ・クラスタを作成します。

    /usr/sbin/clu_create
     
    

    clu_create コマンドの実行については,第 4 章を参照してください。

6.2    個々のクラスタ・メンバの再インストール

メンバを再インストールするには,そのメンバを停止し,別のメンバで次の作業を行います。

  1. クラスタからメンバを削除するには,clu_delete_member コマンドを実行します。クラスタからのメンバの削除については,『クラスタ管理ガイド』を参照してください。

  2. クラスタにメンバを再び加えるには,clu_add_member コマンドを実行します。 clu_add_member コマンドの実行についての詳細は,第 5 章 を参照してください。構成ファイルの使用についての詳細は, clu_add_member(8)6.3 節を参照してください。

6.3    インストール構成ファイルの使用

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 構成ファイルを保存することで,クラスタの再作成を自動化できます。

注意

この節の残りの部分では,クラスタ全体を再作成する方法について説明します。特に説明しませんが,構成ファイルを使用してクラスタをメンバに再度追加することもできます。

以下に,現在のクラスタから構成ファイルを保存した後,その構成ファイルを使用して TruCluster Server を再作成する手順を示します。

  1. 現在のクラスタのフル・バックアップを取ります。

  2. どのディスクが Tru64 UNIX のブート・ディスクになっているかを調べます。最初にクラスタ・メンバとなったシステムのプライベート・ディスクがブート・ディスクになっていることがよくあります。

    1. 次の例で示すように,/etc/fdmns ディレクトリを調べて,Tru64 UNIX のブート・ディスクに対応するスペシャル・ファイル名を探します (通常は root_domain ディレクトリの中)。

      ls /etc/fdmns/root_domain
      /dev/disk/dsk0a
       
      

    2. SysMan Station を使用して,どのシステムにそのディスクがあるか調べます。

    3. 次の例で示すように,そのディスクのライトを点滅させます。

      hwmgr -flash light -dsf /dev/disk/dsk4
       
      

      ディスクの dsk デバイス・スペシャル・ファイル名からその物理的位置を割り出すときは,3.7.2 項を参照してください。ブートはシステムのコンソールから行うので,このディスクの物理的位置を知る必要があります。

  3. Tru64 UNIX オペレーティング・システム・ディスクにアクセスできるクラスタ・メンバ上でディスクをマウントし,現在の構成ファイルとライセンス PAK をそのディスクに保存します。次に例を示します。

    mount root_domain#root /mntmkdir /mnt/config_files /mnt/licensescp /cluster/admin/.member*.cfg /mnt/config_filesfor 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 のプロファイルとスクリプト,クラスタ別名構成ファイル,およびメンバ固有のファイルは手動で保存しなければなりません)。

  4. クラスタを停止させます。

    shutdown -c now
     
    

  5. システム・コンソールから Tru64 UNIX オペレーティング・システムをマルチユーザ・モードでブートします。

    >>> boot UNIX_disk
     
    

    注意

    この手順では,ベース・オペレーティング・システムをインストールして新規にクラスタを作成した後,そのクラスタのローリング・アップグレードをまだ実行していないことを前提としています。ローリング・アップグレードをすでに実行していると,このディスクに置かれているベース・オペレーティング・システムは,クラスタをシャットダウンした時点とバージョンが異なります (sizer -v コマンドを使用するとオペレーティング・システムのバージョンが表示されます)。

    オペレーティング・システムが最新バージョンでない場合は,次の手順を実行します。

    1. システムをシングルユーザ・モードにします。

    2. TruCluster Server サブセットを削除します。

    3. アップデート・インストレーションを実行して Tru64 UNIX のバージョンを最新版にします。

    4. TruCluster Server サブセットの最新バージョンをロードします。

    5. (オプション) 新バージョンのベース・オペレーティング・システムおよびクラスタ・ソフトウェアに対してパッチ・キットがある場合は,clu_create をまだ実行していないこの時点で Tru64 UNIX システムにパッチをあてます。ここでパッチをあてておけば,後からパッチ・キットをクラスタにローリングする必要がありません。

  6. 保存しておいた必要なライセンスを登録します (Tru64 UNIX と TruCluster Server のライセンスはすでにアクティブです)。次の例では,lmf list を実行することで不要な *.license ファイルがすでに /licenses から削除されていることを前提としています。

    for i in /licenses/*.license
      do
      lmf register - < $i
      donelmf reset
     
    

  7. 保存してある構成ファイルの中からどの構成ファイルを clu_create で使用するかを決めます。次に,その構成ファイルの名前を指定して clu_create -c を実行します。 次に例を示します。

    cd /config_filesgrep clu_create .*.cfg
    .member1.cfg:# clu_create saved configuration values:
    # /usr/sbin/clu_create -c /config_files/.member1.cfg
     
    

  8. 最初のクラスタ・メンバをブートした後,保存しておいたメンバ構成ファイルを使用して,残りのメンバをクラスタに追加します。

    警告

    メンバの追加は,元のクラスタに追加したときと同じ順序で,しかも同じホストから行ってください。そうしないと,デバイス名が元のクラスタと同じ名前にならないことがあります。

    構成ファイルをそれぞれ調べて,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
     
    

    必ず,新しく追加したメンバをブートしてから,次のメンバを追加してください。