1.3. Red Hat Enterprise Linuxのインストールと設定

基本的なクラスタハードウェアのセットアップが完了したら、 Red Hat Enterprise Linuxを各メンバーにインストールし、接続されているデバイスを認識することを確認します。 以下の手順に従ってください。

  1. すべてのクラスタメンバーにRed Hat Enterprise Linuxをインストールします。 手順についてはRed Hat Enterprise Linux インストールガイドを参照してください。

    また、Red Hat Enterprise Linuxをインストールする際には、 以下のことを実行することを強くお勧めします

    • Red Hat Enterprise Linuxをインストールする前に、メンバーと接続されたEthernetポートのIPアドレスを収集します。 接続されたEthernetポートのIPアドレスは、プライベートIPアドレスであってもかまいません (たとえば、10.x.x.x)。

    • (//etc/tmp/varなどの) ローカルファイルシステムを共有ディスク上、または共有ディスクと同じSCSIバス上に配置しないでください。 これにより、他のクラスタメンバーが間違ってこれらのファイルシステムをマウントするのを防止できるとともに、バス上のSCSI ID番号をクラスタディスク用に確保できます。

    • /tmp/varを異なるファイルシステムに配置します。 これにより、メンバーのパフォーマンスが向上します。

    • メンバーが起動したら、 Red Hat Enterprise Linuxのインストール時に検出したのと同じ順序でメンバーがディスクデバイスを検出することを確認します。 デバイスが同じ順序で検出されなかった場合、メンバーは起動しません。

    • 1以上のLUN(Logical Unit Number)が設定されているRAIDストレージを使用している場合は、/etc/modules.confファイルに以下のコマンドを追加してLUNサポートを有効にする必要があります。

      options scsi_mod max_scsi_luns=255

      modules.confファイルを変更したら、mkinitrdを使用して初期ramdiskを再構築する必要があります。mkinitrdを使用してramdiskを作成する方法の詳細については、 Red Hat Enterprise Linux システム管理ガイド を参照してください。

  2. メンバーを再起動します。

  3. ターミナルサーバを使用している場合は、 コンソールメッセージをコンソールポートに送信するようにRed Hat Enterprise Linuxを設定します。

  4. 各クラスタメンバーの/etc/hostsファイルを編集して、クラスタで使用しているIPアドレスを追加するか、又はアドレスがDNSにあることを確認します。 この手順の操作詳細については、項1.3.1を 参照してください。

  5. 代替カーネル起動タイムアウトの値を小さくして、メンバーの起動時間を短縮します。 この手順の操作詳細については、項1.3.2を 参照してください。

  6. リモート電源スイッチ接続(使用している場合)用に使用しているシリアルポートにログイン (またはgetty)プログラムが関連付けられないようにします。 このようにするには、/etc/inittabファイルを編集し、 リモート電源スイッチに使用しているシリアルポートに対応するエントリの先頭にシャープ記号 (#)記号を付けてコメント行にします。 その後、init qコマンドを実行します。

  7. すべてのシステムがインストールされているすべてのハードウェアを検出したことを確認します。

    • dmesgコマンドを使用してコンソール起動メッセージを表示 します。 この手順の操作詳細については、項1.3.3を 参照してください。

    • cat /proc/devicesコマンドを使用して、 カーネルに設定されているデバイスを表示します。 この手順の操作詳細については、項1.3.4を参照してください。

  8. pingコマンドを使用して、 一方のメンバーからもう一方のメンバーにテストパケットを送信し、 メンバーがすべてのネットワークインターフェイスを介して通信できることを確認します。

  9. Sambaサービスを設定する場合は、 必要なSambaサービス用の RPM パッケージが インストールされていることを確認します。

1.3.1. /etc/hostsファイルの編集

/etc/hostsファイルは、IPアドレスとホスト名の変換テーブルを含んでいます。 各メンバーの/etc/hostsファイルは、以下のエントリを含んでいる必要があります。

/etc/hostsファイルを使用する代わりに、DNSやNISなどのネームサービスを使用して、クラスタが使用するホスト名を定義することもできます。ただし、依存関係の数を制限して最高のアベイラビリティ(可用性)を実現するには、/etc/hostsファイルを使用してクラスタネットワークインターフェイスのIPアドレスを定義することを強くお勧めします。

メンバーの/etc/hostsファイルの例を以下に示します。

127.0.0.1         localhost.localdomain   localhost
193.186.1.81      cluster2.example.com      cluster2
10.0.0.1          ecluster2.example.com     ecluster2
193.186.1.82      cluster3.example.com      cluster3
10.0.0.2          ecluster3.example.com     ecluster3

前の例は、2つのメンバー(cluster2cluster3) のIPアドレスとホスト名と、 各メンバーのポイントツーポイントハートビート接続に使用するEthernetインターフェース (ecluster2ecluster3) のプライベートIPアドレスとホスト名を示しています。

/etc/hostsファイル内のローカルホストのエントリにローカル以外のシステムが含まれていないことを確認します。ローカル以外のシステム(server1)を含んでいる、正しくないローカルホストエントリの例を以下に示します。

127.0.0.1     localhost.localdomain     localhost server1

/etc/hostsファイルの形式が正しくないとEthernet接続は正しく動作しません。 /etc/hostsファイルを確認し、必要であればローカルホストエントリから ローカル以外のシステムを削除してファイル形式を修正します。

各ネットワークアダプタには、適切なIPアドレスとネットマスクを設定する必要があります。

クラスタメンバーで/sbin/ifconfig コマンドを実行した場合の出力の一部を以下に示します。

eth0      Link encap:Ethernet  HWaddr 00:00:BC:11:76:93  
          inet addr:192.186.1.81  Bcast:192.186.1.245  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:65508254 errors:225 dropped:0 overruns:2 frame:0
          TX packets:40364135 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:19 Base address:0xfce0

eth1      Link encap:Ethernet  HWaddr 00:00:BC:11:76:92  
          inet addr:10.0.0.1  Bcast:10.0.0.245  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:18 Base address:0xfcc0

この例は、クラスタメンバー上の2つのネットワークインターフェースを示しています。 eth0(メンバー用のネットワークインターフェース)と eth1(ポイントツーポイントEthernet接続用のネットワークインターフェイス)

クラスターメンバー用の IP アドレスを DNS サーバーに追加することも出来ます。 DNS の構成に関する詳細はRed Hat Enterprise Linux リファレンスガイドを参照するか、または ネットワーク管理者に相談して下さい。

1.3.2. カーネル起動タイムアウト値を小さくする

カーネル起動タイムアウト値を小さくすることでメンバーの起動時間を短縮できます。 Red Hat Enterprise Linuxの起動シーケンスでは、起動する代替カーネルを指定することができます。 カーネル指定のデフォルトのタイムアウトは10秒です。

メンバーのカーネル起動タイムアウト値を変更するには、 以下のように適切なファイルを編集します。

GRUBブートローダーを使用する場合は、/boot/grub/grub.conf ファイルのtimeoutパラメータを変更してtimeout パラメータに適切な秒数を(1/10秒単位)指定します。 タイムアウトを3秒に設定する場合は、以下のようにパラメータを編集します。

timeout = 3

LILOまたはELILOブートローダを使用する場合は、 /etc/lilo.conf ファイル(x86システム上の) またはelilo.confファイル(Itaniumシステム上の)を編集して、 timeoutパラメータに目的の値(1/10秒単位)を指定します。 タイムアウトを3秒に設定した例を以下に示します。

timeout = 30

/etc/lilo.confファイルに行った変更を適用するには、/sbin/liloコマンドを実行します。

Itaniumシステムで、/boot/efi/efi/redhat/elilo.conf ファイルに行った変更を適用するには、/sbin/eliloコマンドを実行します。

1.3.3. コンソール起動メッセージの表示

コンソール起動メッセージを表示するには、dmesgコマンドを使用します。 詳細については、dmesg(8)の man ページを参照してください。

以下のdmesgコマンドの出力例は、 メンバー上で2つの外部SCSIバスと9個のディスクを検出したことを示しています( スラッシュのある行は、ほとんどの画面では1行で出力されます)。

May 22 14:02:10 storage3 kernel: scsi0 : Adaptec AHA274x/284x/294x \
	      (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 
May 22 14:02:10 storage3 kernel:         
May 22 14:02:10 storage3 kernel: scsi1 : Adaptec AHA274x/284x/294x \
              (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 
May 22 14:02:10 storage3 kernel:         
May 22 14:02:10 storage3 kernel: scsi : 2 hosts. 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST39236LW         Rev: 0004 
May 22 14:02:11 storage3 kernel: Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdb at scsi1, channel 0, id 0, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdc at scsi1, channel 0, id 1, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdd at scsi1, channel 0, id 2, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sde at scsi1, channel 0, id 3, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdf at scsi1, channel 0, id 8, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdg at scsi1, channel 0, id 9, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdh at scsi1, channel 0, id 10, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdi at scsi1, channel 0, id 11, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: Dell      Model: 8 BAY U2W CU      Rev: 0205 
May 22 14:02:11 storage3 kernel:   Type:   Processor \
                          ANSI SCSI revision: 03 
May 22 14:02:11 storage3 kernel: scsi1 : channel 0 target 15 lun 1 request sense \
	      failed, performing reset. 
May 22 14:02:11 storage3 kernel: SCSI bus is being reset for host 1 channel 0. 
May 22 14:02:11 storage3 kernel: scsi : detected 9 SCSI disks total.

以下のdmesgコマンドの出力例は、 メンバー上でクアッドEthernetカードを検出したことを示しています。

May 22 14:02:11 storage3 kernel: 3c59x.c:v0.99H 11/17/98 Donald Becker
May 22 14:02:11 storage3 kernel: tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov 
May 22 14:02:11 storage3 kernel: eth0: Digital DS21140 Tulip rev 34 at 0x9800, \
	      00:00:BC:11:76:93, IRQ 5. 
May 22 14:02:12 storage3 kernel: eth1: Digital DS21140 Tulip rev 34 at 0x9400, \
	      00:00:BC:11:76:92, IRQ 9. 
May 22 14:02:12 storage3 kernel: eth2: Digital DS21140 Tulip rev 34 at 0x9000, \
	      00:00:BC:11:76:91, IRQ 11. 
May 22 14:02:12 storage3 kernel: eth3: Digital DS21140 Tulip rev 34 at 0x8800, \
	      00:00:BC:11:76:90, IRQ 10.

1.3.4. カーネルに設定されているデバイスの表示

シリアルインターフェースおよびネットワークインターフェースを含む、インストールされているデバイスがカーネルに設定されていることを確認するには、各メンバーでcat /proc/devicesコマンドを実行します。このコマンドは、メンバーにrawデバイスのサポートがインストールされているかどうかを確認する場合にも使用できます。以下に例を示します。

Character devices:
  1 mem
  2 pty
  3 ttyp
  4 ttyS
  5 cua
  7 vcs
 10 misc
 19 ttyC
 20 cub
128 ptm
136 pts
162 raw

Block devices:
  2 fd
  3 ide0
  8 sd
 65 sd

前述の例は、以下のことを示しています。