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 之前,為成員與結合的乙太網路連接埠收集 IP 位址,請注意結合的乙太 網路連接埠的 IP 位址可能是私有 IP 位址(例如 10.x.x.x)。

    • 請勿放置本機的檔案系統(如 /, /etc, /tmp/var) 在共用的磁碟上或者是當作共用磁碟的同一 SCSI 匯流排上。 這將可預防其他的叢集 成員意外地掛載這些檔案系統,而且也可保留匯流排上數量有限的 SCSI ID 以讓叢集 磁碟使用。

    • 請置放 /tmp/var 在不同的檔案系統上, 這也許會增加成員的效能表現。

    • 當一個成員開機後,請確定成員能夠以在 Red Hat Enterprise Linux 安裝時所偵測到的相同順序偵測到 磁碟裝置,假如沒有以相同順序偵測到這些裝置,該成員也許無法開機。

    • 當您使用以大於 0 的 Logical Unit Numbers (LUNs) 設定 RAID 儲存裝置,有必要增加以下的資訊到 /etc/modules.conf 檔案中 以啟用 LUN 支援:

      options scsi_mod max_scsi_luns=255

      在修改完 modules.conf 之後,有必要使用 mkinitrd 來重建初始的虛擬磁碟,請參考 Red Hat Enterprise Linux 系統管理手冊 以取得關於使用 mkinitrd 建立虛擬磁碟的更多資訊。

  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

前一個例子顯示出兩部成員(cluster2cluster3) 的 IP 位址與主機名稱,以及在每一成員上用作點對點 heartbeat 連線之乙太網路介面 (ecluster2ecluster3) 的私有 IP 位址與主機名稱。

請檢驗在 /etc/hosts 檔案中本地端主機的紀錄格式是否正確, 以確保在本地端主機的紀錄中不含非本地端的系統,以下所示的例子為含有一部非本地 端系統(server1)的錯誤本地端主機紀錄:

127.0.0.1     localhost.localdomain     localhost server1

假如 /etc/hosts 檔案的格式不正確,乙太網路連線也許無法正常 運作,請檢查 /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

上一個例子顯示出一個叢集成員上的兩個網路介面: eth0 (此成員的網路介面)與 eth1 (點對點乙太網路連線的網路 介面)。

您也可以增加叢集成員的 IP 位址到您的 DNS 伺服器,請參考 Red Hat Enterprise Linux 參考手冊 以取得 關於設定 DNS 的資訊或向您的網路管理員詢問。

1.3.2. 減少核心開機逾時時間

也可以縮減核心的開機逾時時限來縮短成員的開機時間,在 Red Hat Enterprise Linux 開機順序中,可以 使用開機管理程式來指定另一個核心來進行開機,用來指定核心的預設逾時時限是 10 秒鐘。

如要為成員修改核心的開機逾時時限,請如下修改適當的檔案:

當您使用 GRUB 開機管理程式時,必須要更改 /boot/grub/grub.conf 檔案中的逾時參數,以指定恰當的秒數(以毫秒表示)給 timeout 參數。 如要設定這個間歇時間為 3 秒鐘,請編輯該參數為如下所示:

timeout = 3

當您使用 LILO 或 ELILO 開機管理程式時,請編輯 /etc/lilo.conf 檔案(在 x86 系統上)或 elilo.conf 檔案(在 Itanium 系統上), 並指定想要的數值(以毫秒表示)給 timeout 參數。 以下的 例子設定逾時時限為 3 秒鐘:

timeout = 30

如要套用對 /etc/lilo.conf 檔案所作的變更,請執行 /sbin/lilo 指令。

在一部 Itanium 系統上,如要套用對 /boot/efi/efi/redhat/elilo.conf 檔案所作的變更,請執行 /sbin/elilo 指令。

1.3.3. 顯示主控台啟動訊息

使用 dmesg 指令來顯示主控台啟動的訊息,請參考 dmesg(8) 的man page 以取得更多資訊。

以下 dmesg 指令輸出的例子顯示在成員上偵測到兩條外部的 SCSI 匯流排與九個磁碟(在大部分的螢幕上可以單行的方式顯示含有反斜線的行):

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 指令輸出的例子顯示出在成員上偵測到一個四個一組的 乙太網路卡:

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

之前的例子顯示出: