Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
章 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.2, “停用 BIOS 的 ACPI Soft-Off”〉— 其它措施 1
- 〈節 1.1.3, “在
grub.conf
檔案中完全地停用 ACPI”〉— 其它措施 2
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:
- 執行下列指令之一:
chkconfig --del acpid
— 這項指令會將acpid
由chkconfig
管理中移除。— 或是 —chkconfig --level 2345 acpid off
— 這項指令會關閉acpid
。
- 重新啟動節點。
- 當叢集已配置並開始運作時,請確認當節點被隔離時,是否會即刻關閉。
注意
您可透過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:
- 重新啟動節點,並啟用
BIOS CMOS Setup Utility
程式。 - 瀏覽至「電源」選單(或相等的電源管理選單)。
- 請在「電源」選單中,將「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,以讓電腦透過電源鈕,在無延遲的情況下關閉。 - 退出
BIOS CMOS Setup Utility
程式,並儲存 BIOS 配置。 - 當叢集已配置並開始運作時,請確認當節點被隔離時,是否會即刻關閉。
注意
您可透過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=off
至 grub.conf
檔案中的 kernel 開機指令列,來完全地停用 ACPI。
重要
此方式會完全地停用 ACPI;有些電腦無法在 ACPI 被完全停用的情況下開機。請只在其它方式不適用於您的叢集的情況下,使用此方式。
您可如下藉由編輯各叢集節點的
grub.conf
檔案,來完全停用 ACPI:
- 以文字編輯器開啟
/boot/grub/grub.conf
。 - 重新啟動節點。
- 當叢集已配置並開始運作時,請確認當節點被隔離時,是否會即刻關閉。
注意
您可透過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」為起始的一行。