章 1. 隔離預配置

本章節詳述了使用 Red Hat High Availability 外掛程式,以在叢集上建置隔離時所需執行的工作與考量,並包含了下列部份。

1.1. 配置 ACPI 以與整合的隔離裝置搭配使用

若您的叢集使用了整合式的隔離裝置,您必須配置 ACPI(Advanced Configuration and Power Interface)以確保隔離的即時性與完整性。

注意

欲取得有關於 Red Hat High Availability 外掛所支援之整合式隔離裝置的最新資訊,請參閱〈 http://www.redhat.com/cluster_suite/hardware/〉。
若有叢集節點被配置成由一個整合式的隔離裝置隔離,請停用該節點的 ACPI Soft-Off。停用 ACPI Soft-Off 能讓一個整合式的隔離裝置即刻並完全地關閉節點,而不會嘗試進行正常的關機(例如 shutdown -h now)。否則,若 ACPI Soft-Off 已啟用的話,整合式的隔離裝置可能會花上四秒或更久,才能關閉一個節點(請參閱之後的註解)。此外,若 ACPI Soft-Off 已啟用,而某個節點在嘗試關閉時發生了 panic 或當機的情況,整合式的隔離裝置將可能無法關閉該節點。在這些情況下,隔離會被延遲,或是無法成功。這會造成當節點透過整合式隔離裝置隔離,以及 ACPI Soft-Off 被啟用的情況下,造成叢集復原緩慢,或著需要管理員介入才可進行復原。

注意

隔離一個節點的所需時間取決於所使用的整合式隔離裝置。有些整合式的隔離裝置作用,與按住電源鈕相同;也就是說,該隔離裝置會在四到五秒鐘內將節點關閉。其它整合式隔離裝置的作用,與暫時性地按下電源鈕相同,必須依賴作業系統將節點關閉;因此,該節點裝置會花上較久的時間才能關閉。
若要停用 ACPI Soft-Off,請使用 chkconfig 管理,並驗證當節點被隔離時,是否會即刻關閉。建議您使用 chkconfig 管理來停用 ACPI Soft-Off:然而,若不適用於您的叢集,您可透過使用下列方法之一來停用 ACPI Soft-Off:
  • 將 BIOS 設定更改為「instant-off」,或是相當於在沒有延遲的狀態下,關閉節點的設定

    注意

    有些電腦可能無法停用 BIOS 的 ACPI Soft-Off。
  • acpi=off 附加至 /boot/grub/grub.conf 檔案的 kernel 開機指令列一行

    重要

    此方式會完全地停用 ACPI;有些電腦無法在 ACPI 被完全停用的情況下開機。請在其它方式不適用於您的叢集的情況下,使用此方式。
下列部份提供了停用 ACPI Soft-Off 的建議措施以及其它措施的程序:

1.1.1. 透過 chkconfig 管理來停用 ACPI Soft-Off

您可使用 chkconfig 管理,藉由移除 ACPI daemon 來停用 ACPI Soft-Off,您可透過以 chkconfig 移除 ACPI daemon(acpid)或是關閉 acpid 來這麼作。

注意

此為建議的 ACPI Soft-Off 停用方式。
如下透過 chkconfig 管理來停用各個叢集節點的 ACPI Soft-Off:
  1. 執行下列指令之一:
    • chkconfig --del acpid — 這項指令會將 acpidchkconfig 管理中移除。
      — 或是 —
    • chkconfig --level 2345 acpid off — 這項指令會關閉 acpid
  2. 重新啟動節點。
  3. 當叢集已配置並開始運作時,請確認當節點被隔離時,是否會即刻關閉。

    注意

    您可透過 fence_node 指令或是 Conga 來隔離節點。

1.1.2. 停用 BIOS 的 ACPI Soft-Off

建議的 ACPI Soft-Off 停用方式就是透過 chkconfig 管理(節 1.1.1, “透過 chkconfig 管理來停用 ACPI Soft-Off”)。然而,若建議的方式不適用於您的叢集,請依照此部份的程序進行。

注意

有些電腦可能無法停用 BIOS 的 ACPI Soft-Off。
您可如下藉由配置各個叢集節點的 BIOS,以停用 ACPI Soft-Off:
  1. 重新啟動節點,並啟用 BIOS CMOS Setup Utility 程式。
  2. 瀏覽至「電源」選單(或相等的電源管理選單)。
  3. 請在「電源」選單中,將「Soft-Off by PWR-BTTN」功能(或相等功能)設為「Instant-Off」(或和透過電源鈕在無延遲的情況下關閉節點相等的設定)。〈範例 1.1, “BIOS CMOS Setup Utility:「Soft-Off by PWR-BTTN」設為了「Instant-Off」”〉會顯示「電源」選單,並且「ACPI Function」已設為「啟用」,而「Soft-Off by PWR-BTTN」則設為了「Instant-Off」。

    注意

    在不同的電腦上,與「ACPI Function」、「Soft-Off by PWR-BTTN」,以及「Instant-Off」相等的功能可能會有所不同。然而,此程序的目的是為了配置 BIOS,以讓電腦透過電源鈕,在無延遲的情況下關閉。
  4. 退出 BIOS CMOS Setup Utility 程式,並儲存 BIOS 配置。
  5. 當叢集已配置並開始運作時,請確認當節點被隔離時,是否會即刻關閉。

    注意

    您可透過 fence_node 指令或是 Conga 來隔離節點。

範例 1.1. BIOS CMOS Setup Utility:「Soft-Off by PWR-BTTN」設為了「Instant-Off

+------------------------------------------|-----------------+
|   ACPI Function             [Enabled]    |  Item Help      |
|   ACPI Suspend Type         [S1(POS)]    |-----------------|
| x Run VGABIOS if S3 Resume  [Auto]       | Menu Level   *  |
|   Suspend Mode              [Disabled]   |                 |
|   HDD Power Down            [Disabled]   |                 |
|   Soft-Off by PWR-BTTN      [Instant-Off]|                 |
|   CPU THRM-Throttling       [50.0%]      |                 |
|   Wake-Up by PCI card       [Enabled]    |                 |
|   Power On by Ring          [Enabled]    |                 |
|   Wake Up On LAN            [Enabled]    |                 |
| x USB KB Wake-Up From S3    [Disabled]   |                 |
|   Resume by Alarm           [Disabled]   |                 |
| x  Date(of Month) Alarm       0          |                 |
| x  Time(hh:mm:ss) Alarm       0 :  0 :   |                 |
|   POWER ON Function         [BUTTON ONLY]|                 |
| x KB Power ON Password       Enter       |                 |
| x Hot Key Power ON           Ctrl-F1     |                 |
+------------------------------------------|-----------------+
此範例顯示了「ACPI Function」已設為「啟用」,並且「Soft-Off by PWR-BTTN」已設為「Instant-Off」。

1.1.3. 在 grub.conf 檔案中完全地停用 ACPI

停用 ACPI Soft-Off 的建議方式乃透過 chkconfig 管理(〈節 1.1.1, “透過 chkconfig 管理來停用 ACPI Soft-Off”〉)。若建議的方式不適用於您的叢集,您可透過 BIOS 的電源管理(〈節 1.1.2, “停用 BIOS 的 ACPI Soft-Off”〉),來停用 ACPI Soft-Off。若這兩種方式皆不適用於您的叢集,您可藉由附加 acpi=offgrub.conf 檔案中的 kernel 開機指令列,來完全地停用 ACPI。

重要

此方式會完全地停用 ACPI;有些電腦無法在 ACPI 被完全停用的情況下開機。請在其它方式不適用於您的叢集的情況下,使用此方式。
您可如下藉由編輯各叢集節點的 grub.conf 檔案,來完全停用 ACPI:
  1. 以文字編輯器開啟 /boot/grub/grub.conf
  2. acpi=off 附加至 /boot/grub/grub.conf 中的 kernel 開機指令列(請參閱〈範例 1.2, “附加了 acpi=off 的 kernel 開機指令列”〉)。
  3. 重新啟動節點。
  4. 當叢集已配置並開始運作時,請確認當節點被隔離時,是否會即刻關閉。

    注意

    您可透過 fence_node 指令或是 Conga 來隔離節點。

範例 1.2. 附加了 acpi=off 的 kernel 開機指令列

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_doc01-lv_root 
#          initrd /initrd-[generic-]version.img
#boot=/dev/hda
default=0
timeout=5
serial --unit=0 --speed=115200
terminal --timeout=5 serial console
title Red Hat Enterprise Linux Server (2.6.32-193.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-193.el6.x86_64 ro root=/dev/mapper/vg_doc01-lv_root console=ttyS0,115200n8 acpi=off
        initrd /initramrs-2.6.32-131.0.15.el6.x86_64.img
在此範例中,acpi=off 已被附加至 kernel 開機指令列 — 以「kernel /vmlinuz-2.6.32-193.el6.x86_64.img」為起始的一行。