1.4. 設定與連線叢集的硬體

在安裝完 Red Hat Enterprise Linux 後,請設定叢集的硬體元件並且檢驗安裝以確定成員都能辨認所有連接 的裝置,請注意設定好硬體的正確步驟取決於硬體配置的類型,請參考 第 1.1 節 以取得關於叢集配置的更多資訊。

如要設定叢集的硬體,請遵照這些步驟:

  1. 關閉成員,並且中斷電源的來源。

  2. 設定連結的乙太網路通道(假如有的話),請參考 第 1.4.1 節 以取得關於執行這項工作的更多資訊。

  3. 當使用電源切換器時,請設定好切換器並連接每一成員到一部電源切換器,請參考 第 1.4.2 節 以取得更多資訊。

    除此之外,也建議您將每一部電源切換器(或者是在沒有使用電源切換器的情況下將每一成員的電源線)連接到一個不同的 UPS 系統,請參考 第 1.4.3 節 以取得關於使用可選之 UPS 系統的資訊。

  4. 依據廠商的指示來設定共用的磁碟儲存,並將成員連接到外部的儲存附件,請參考 第 1.4.4 節 以取得關於執行這項工作的更多資訊。

    除此之外,也建議您連接儲存附件到冗餘的 UPS 系統,請參考 第 1.4.3 節 以取得關於使用可選之 UPS 系統的更多資訊。

  5. 一併開啟硬體與每一叢集成員的電源,在開機過程中,請進入 BIOS 工具程式來修改成員 的設定,如下所示:

    • 請確定由 HBA 所使用的 SCSI ID 號碼在它所連接的 SCSI 匯流排上是獨特的,請參考 第 B.5 節 以取得關於執行這項工作的更多資訊。

    • 按照儲存裝置的設定需求,啟用或停用每一主機匯流排配接卡上嵌入的阻絕設定,請參考 第 1.4.4 節第 B.3 節 以取得關於執行這項工作的更多資訊。

    • 啟用當電源開啟時,成員自動開機。

  6. 離開 BIOS 工具程式,然後在每一成員上繼續開機,仔細檢查開機的訊息以檢驗 Red Hat Enterprise Linux 的核心是否設定正確,以及是否能辨認完整的共用磁碟組。 可以使用 dmesg 指令來顯示主控台的啟動訊息,請參考 第 1.3.3 節 來取得關於使用 dmesg 指令的更多資訊。

  7. 請使用 ping 指令傳送封包到每一個網路介面來檢驗每一成員都能 透過每一個點對點的乙太網路連線進行通訊。

  8. 在共用的磁碟儲存上設定共用的叢集分割區,請參考 第 1.4.4.3 節 以取得關於執行這項工作的更多資訊。

1.4.1. 設定乙太網路的頻道連結(Channel Bonding)

乙太網路頻道連接是一種無單一節點失效狀況的叢集系統,藉由結合兩個乙太網路裝置到一個虛擬裝置來建立 一個容錯的網路連線。 所產生的頻道連結介面將可確保當一個乙太網路裝置失效時,另一個裝置將會轉為現行的。 這種類型的頻道連接稱為一個 active-backup 方針,它可允許兩個連接的裝置連線到 一部網路交換器,或者是允許每一部乙太網路裝置連線到不同的集線器或網路交換器,這將可以降低網路集線器/ 交換器的單一節點失效狀況。

頻道連結需要每一部叢集成員都有兩個乙太網路裝置,當它被載入後,連接的模組將會使用第一個偵測到的 網路裝置的 MAC 位址,並且當第一個裝置連線偵測失效時,指派該 MAC 位址給其他的網路裝置。

如要為頻道連接設定兩個網路裝置,請執行下列的工作:

  1. /etc/modules.conf 檔案中建立一個 bonding 裝置,例如:

    alias bond0 bonding
    options bonding miimon=100 mode=1

    這將會載入含有 bond0 介面名稱的連結裝置,以及傳送選項到連結驅動 程式以設定它為所利用之網路介面的一個 active-backup 主裝置。

  2. 請為 eth0 與 eth1 編輯 /etc/sysconfig/network-scripts/ifcfg-ethX 設定檔案,以使得兩個檔案的內容一致,例如:

    DEVICE=ethX
    USERCTL=no
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes
    BOOTPROTO=none

    這將會役使 ethX (請以乙太網路裝置被指定的號碼取代 X)到 bond0 主裝置。

  3. 請為這個連結裝置建立一個網路程式碼 (例如 /etc/sysconfig/network-scripts/ifcfg-bond0), 使其類似下列的範例:

    DEVICE=bond0
    USERCTL=no
    ONBOOT=yes
    BROADCAST=192.168.1.255
    NETWORK=192.168.1.0
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    IPADDR=192.168.1.10
  4. 重新啟動系統以使變更生效,或者是手動載入連結裝置,然後重新啟動網路,例如:

    /sbin/insmod /lib/modules/`uname -r`/kernel/drivers/net/bonding/bonding.o \
    	      miimon=100 mode=1
    /sbin/service network restart

1.4.2. 設定電源切換器

電源切換器使得一個成員在重新啟動失效成員的服務前(容錯移轉過程的一部分)可以 power-cycle 其他的成員,這種遠端停用一部成員的能力,可以確保在任何的系統失效情 況下資料的完整性。 在此建議您在用作生產的環境中使用電源切換器或看門狗計時器在 叢集的設定中,只在用作程式開發(測試)的環境中才使用不含電源切換器的配置,請 參考 第 1.1.3 節 以取得許多不同類型之電源切換器的 描述。 請注意在這裡一般的專有名詞『電源切換器』也包含看門狗計時器。

在一個使用實體電源切換器的叢集配置中,每一個成員的電源線都透過一個序列的或網路 連線(取決於切換器類型)連接到一部電源切換器,當發生容錯移轉時,一個成員可以使 用這個連線以在重新啟動失效成員的服務之前 power-cycle 另一個成員。

當一個沒有反應(或當機)的成員在容錯移轉它的服務之後變得有回應,並且發送 I/O 到 從其他成員接收 I/O 的一個磁碟,電源切換器可以防止資料的毀損。 除此之外,假如一 個成員的 quorum 系統程式失效了,該成員將無法繼續監視共用的叢集分割區,假如在叢 集配置中沒有使用電源切換器或看門狗計時器,那麼這個錯誤的狀況可能會導致服務由 一部以上的成員來執行,這將會導致資料毀損甚至系統毀損。

強烈建議您使用電源切換器在叢集配置中,然而明瞭這個風險的系統管理員也許會選擇 設定不含電源切換器的叢集。

當一個成員正在置換中或者擁有相當高的系統負載該成員也許會發生中斷幾秒的情況, 由於這個因素,在決定一個成員已經失效之前,將容許適當的時間(通常是 15 秒)。

假如一個成員發現一個當機的成員已中斷,而且叢集中有使用電源切換器,這個成員將會 在重新啟動它的服務之前 power-cycles 這個當機的成員,在大部分的系統當機情況下, 設定使用看門狗計時器的叢集將會自己重新開機,這使得當機的成員可以重新啟動為完整 的狀態,並且可以避免它發出 I/O 與毀損的伺服資料。

當機的成員將會在看門狗的執行、無法傳送 heartbeat 封包或者是 — 在成員沒有 實體電源切換器的情況下 — 失去 quorum 的狀態時自我重新啟動。

假如當機的成員是連接到一部電源切換器的話,它將可由其他的成員進行重新開機,假如 當機的成員無法回到可回應的狀態,而且沒有使用電源切換器,此時便需要手動地重新開 機了。

如果有使用電源切換器的話,必須按照廠商的指示來作設定,然而某些叢集特定的工作也許需要使用一部電源切換器在叢集配置中,請參考 第 B.1 節 以取得關於電源切換器的詳細資訊(包括看門狗計時器的資訊)。 請確實紀錄特定電源切換器的任何警告或功能性的屬性,請注意在這本手冊中提供的叢集特定資訊已接替了廠商所提供的資訊。

當您為電源切換器做纜線配置時,請特別注意每一條纜線都必須插入到適當的插座,這是 很重要的,因為在軟體方面並沒有任何獨立的方法來檢驗正確的纜線配置。 纜線的配置 如果錯誤的話,將會導致 power-cycle 了錯誤的成員,或者是一個成員錯誤地認定它已經 成功地 power-cycle 另一叢集成員了。

在設定好電源切換器後,請執行以下工作來連線到叢集成員:

  1. 連接每一成員的電源線到一部電源切換器。

  2. 將每一個成員連接到電源切換器,這個連線所使用的纜線取決於電源切換器的類型,序列連線的電源切換器 使用 null 的數據機纜線,而網路連線的電源切換器則需要一條乙太網路的網路線。

  3. 連接每一部電源切換器的電源線到一個電力來源,建議您連接每一部電源切換器到另一個 UPS 系統,請參考 第 1.4.3 節 以取得更多資訊。

在安裝完叢集軟體後,請測試電源切換器以確定每一個成員都可以在重新啟動叢集前 power-cycle 其他成員,請參考 第 2.11.2 節 以取得更多資訊。

1.4.3. 設定 UPS 系統

不斷電(UPS)系統提供一個高存取性的電力來源,最好能夠使用結合多部 UPS 系統(每一 部伺服器連接一部)的一個冗餘的解決方案,為了最佳的容錯性,可以在每一部伺服器 使用兩部 UPS 系統,以及 APC 的電源自動切換開關來管理伺服器的電源與關機管理, 這兩種解決方案完全取決於想要採用的可用性等級。

不建議您使用一個大型的 UPS 基礎架構來當作叢集唯一的電力來源,以管理性與可用性來說, 專用於叢集的一部 UPS 系統是較具彈性化的。

一個完整的 UPS 系統必須能夠提供一段持久時間的適當伏特電力與電流,雖然沒有一個 單一的 UPS 適用於每一種電源的需求,仍然可以訂制一個解決方案以適用於特定的設定。

假如叢集的磁碟儲存子系統擁有兩個分開電源線的電力來源,您可以設定兩部 UPS 系統 並且連接一部電源切換器(假如沒有使用電源切換器的話,或使用一個成員的電源線), 以及儲存子系統之一的電源線到每一部 UPS 系統,圖形 1-3 顯示出一部冗餘的 UPS 系統配置。

圖形 1-3. 冗餘的 UPS 系統配置

可以使用另一個替代的冗餘性電源配置來連接電源切換器(或者是兩個成員的電源線) 與磁碟儲存子系統到同一部 UPS 系統。 這是最經濟的配置,並且能提供一些防止電力 中斷的保護,然而,如果發生電力中斷,這個單一的 UPS 系統將成為可能的單一節點 失效狀況,除此之外,一部 UPS 系統也許無法提供足夠的電力給所有連接的裝置,以使 其運作一段適當的時間。 一個單一的 UPS 系統配置如 圖形 1-4 所示。

圖形 1-4. 單一的 UPS 系統配置

許多廠商提供的 UPS 系統都含有用於 Red Hat Enterprise Linux 的應用程式可使用來透過序列埠連線監視 UPS 系統的運作狀態。 假如電池的電力變低了,監視的軟體會執行一個正常的系統關機。 在這同時,叢集軟體將會正常的停止運作,因為它是由一個 SysV 執行等級的程式碼所 控制(如 /etc/rc.d/init.d/clumanager)。

請參考由廠商提供的 UPS 說明文件以取得詳細的安裝資訊。

1.4.4. 設定共用的磁碟儲存

在叢集中,共用的磁碟儲存是使用來存放服務的資料,而兩個分割區(primary 與 shadow)是用來存放叢集的狀態資訊。 因為這個儲存必須讓所有的成員都能存取,不能 將它放置在依附任何一個成員可用性的磁碟上,請參考廠商提供的說明文件以取得詳細的 產品與安裝資訊。

當您在叢集中設定共用的磁碟儲存時,有一些因素需要考量:

以下的清單詳列出當您使用並列的 SCSI 匯流排在叢集環境中 『並列 SCSI』 的需求以及必須遵守的事項:

請參考 第 B.2 節 以取得更多資訊。

強烈建議您連接儲存附件到冗餘的 UPS 系統以提高電力來源的 存取性,請參考 第 1.4.3 節 以取得更多資訊。

請參考 第 1.4.4.1 節第 1.4.4.2 節 以取得關於設定共用儲存的更多資訊。

在設定好共用的磁碟儲存硬體後,將磁碟進行磁碟分割,然後再建立檔案系統或是分割 區上的 raw 裝置,在 primary 與 shadow 共用的叢集分割區上必須建立兩個 raw 裝置。 請參考 第 1.4.4.3 節, 第 1.4.4.4 節, 第 1.4.4.5 節第 1.4.4.6 節 以取得更多資訊。

1.4.4.1. 設定一個 Single-initiator SCSI 匯流排

一個 Single-initiator SCSI 匯流排只允許一個成員連接到它,並且提供主機的分離與 比一個 multi-initiator 匯流排更佳的效能表現。 Single-initiator 的匯流排確保每 一個成員都能免於由於其他成員的系統負載初始或修復所引起的干擾。

當使用一個單一或雙重控制卡的 RAID 陣列,其中含有多個主機連接埠並且提供同時 存取儲存附件上主機連接埠的所有共用邏輯單位,您可以設定 single-initiator 的 SCSI 匯流排以連接每一叢集成員到 RAID 陣列。 假如一個邏輯單未可以從一個控制卡 容錯移轉到另一個,對作業系統來說這個過程必須是透明化的。 請注意有些 RAID 控制 卡限制一組磁碟必須連接至一個特定的控制卡或連接埠,在這樣的情況下,將無法實作 single-initiator 的匯流排設定。

一個 single-initiator 的匯流排必須遵照如 第 B.2 節 所述的需求。

如要設定一個 single-initiator 匯流排的配置,以下的事項是必要的:

  • 啟用每一個主機匯流排配接卡的嵌入阻絕。

  • 啟用每一 RAID 控制卡的阻絕。

  • 使用適當的 SCSI 纜線來連接每一個主機匯流排配接卡到儲存附件。

通常設定主機匯流排阻絕的工作可以在成員開機時於配接卡的 BIOS 工具程式中完成, 如要設定 RAID 控制卡的阻絕,請參考廠商的說明手冊。 圖形 1-5 顯示出一個使用兩個 single-initiator 的 SCSI 匯流排設定。

圖形 1-5. Single-initiator 的 SCSI 匯流排設定

圖形 1-6 顯示出連接到兩個 single-initiator 的 SCSI 匯流排在一個單一控制卡 RAID 陣列的阻絕器。

圖形 1-6. 連接到 single-initiator 的 SCSI 匯流排的單一控制卡 RAID 陣列

圖形 1-7 顯示出連接到兩條 single-initiator SCSI 匯流排的一個雙重控制卡 RAID 陣列中的阻絕器。

圖形 1-7. 連接到 Single-initiator SCSI 匯流排的雙重控制卡 RAID 陣列

1.4.4.2. 設定一個光纖通道交互連線

光纖通道可以使用在 single-initiator 或 multi-initiator 的配置中。

一個 single-initiator 的光纖通道交互連線只有一個成員連接到它,這也許可以提供 比一條 multi-initiator 匯流排更好的主機分離與效能表現。 Single-initiator 的 交互連線能夠確保每一個成員都能免於因其他成員之系統負載、初始化或修復的干擾。

假如使用擁有多重主機連接埠的一個 RAID 陣列,而且這個 RAID 陣列提供同時 存取儲存附件上主機連接埠的所有共用邏輯單位,您可以設定 single-initiator 的 光纖通道交互連線來連接每一成員到 RAID 陣列,假如一個邏輯單位從一個控制卡容錯 移轉到另一個,這個過程對作業系統來說必須是透明化的。

圖形 1-8 顯示出含有兩個主機連接埠的一個單一控制卡 RAID 陣列, 而且這個主機連接埠配接卡直接連線至 RAID 控制卡,沒有使用光纖通道集線器或交換器。 當您使用這種 類型的 single-initiator 光纖通道連線,您的 RAID 控制器必須擁有分開的主機連接埠給每一部叢集成員。

圖形 1-8. 連線到 Single-initiator 光纖通道交互連線的單一控制卡 RAID 陣列

外部的 RAID 陣列必須讓每一部叢集成員皆擁有一個個別的 SCSI 通道,至於擁有兩部成員以上的叢集,請將 每一部成員連線到 RAID 陣列上不同的 SCSI 通道,使用如 圖形 1-8 所示 的一個 single-initiator SCSI 匯流排。

如要連線多部叢集成員到 RAID 陣列的相同主機連接埠,請使用一個 FC 集線器或交換器。 在這種情況下,每一個 HBA 都連線到集線器或交換器,而集線器或交換器則連接到每一 RAID 控制卡的一個主機連接埠。

一個雙重控制器的 RAID 陣列(每一個控制器皆含有兩個主機連接埠)也需要一個光纖通道的集線器或交換器, 如此的配置如 圖形 1-9 所示。 額外的叢集成員可以連線至如圖表所示光纖 通道的集線器或交換器。 某些 RAID 陣列含有一個嵌入式的集線器,以使得每一個主機連接埠都已經連接到每 一個內部的 RAID 控制器。 在這種情況下,也許就不需要額外的外部集線器或交換器。

圖形 1-9. 連接到 Single-initiator 光纖通道交互連線的雙重控制卡 RAID 陣列

1.4.4.3. 設定共用叢集分割區

在 primary 共享的分割區與 shadow 共享的分割區上必須建立共用磁碟儲存上的 兩個 raw 裝置,每一個共用的分割區必須擁有至少 10MB 的空間,在共用分割區上 的資料是不變的,它並不會經常增加或減少。

共用的分割區是使用來存放叢集的狀態資訊,包括如下:

  • 叢集鎖定狀態

  • 服務狀態

  • 設定資訊

每一個成員將會定期的寫入它的服務狀態到共用的儲存空間,除此之外,所共用的分割 區包含叢集設定檔案的一個版本,這可確保每一成員都能共同檢視叢集的設定。

假如 primary 的共用分割區毀損了,叢集成員還可以從 shadow(或備援)共用分割區 讀取資訊,並且在同時修復 primary 分割區,資料的一致性是透過檢查碼(checksums) 來維護,而且任何在兩個分割區間的不一致資料將會自動地修正。

假如一個成員在開機時無法寫入兩個共用的分割區,它將不被允許加入叢集,除此之外, 假如一個使用中的成員不再能夠寫入兩個共用分割區,該成員將會藉由重新開機(或許 由一個運作正常的成員進行遠端 power-cycle)將自己於叢集中移除。

以下為 『共用的分割區需求』:

  • 兩個分割區至少需要 10MB 的空間。

  • 共用的分割區必須是 raw 裝置,它們不能含有檔案系統。

  • 共用分割區只能由叢集的狀態與設定資訊所使用。

以下為設定共用分割區的 建議性方針

  • 強烈建議您為共用的儲存裝置設定一個 RAID 子系統,並且使用 RAID 1 (磁碟映射) 以使得含有共用分割區的邏輯單位能被高度存取使用。 除此之外,也可以使用同位元 檢查碼(parity)的 RAID 設定以更加提高存取性,請勿在共用分割區上只使用 RAID 0 (磁碟機平行儲存)。

  • 請放置兩個共用分割區在同一個 RAID 組,或者是在同一磁碟上(假如沒有使用 RAID 的話),因為如要使叢集能夠運作,這兩個共用分割區必須都可以存取。

  • 請勿放置共用分割區在含有經常被存取之服務資料的磁碟上,可能的話,將共用分割區 放置在含有很少被用到之服務資料的磁碟上。

請參考 第 1.4.4.4 節第 1.4.4.5 節 以取得關於設定共用分割區的更多資訊。

請參考 第 2.5 節 以取得關於編輯 rawdevices 檔案以使得成員在每次開機時繫結 raw 字元裝置到區塊裝置的更多資訊。

1.4.4.4. 磁碟分割

在設定好共用磁碟儲存硬體後,請分割這個磁碟以使得它們可以被用於叢集中,然後在分割區上建立檔案系統或 raw 裝置,舉例來說,必須使用如 第 1.4.4.3 節 中所述的指示來建立兩個 raw 裝置以當作共用分割區。

使用 parted 來修改一個磁碟分割表然後將磁碟劃分為分割區, 在您啟動 parted 之後,請按下 p 以顯示 出目前的磁碟分割表,再使用 mkpart 指令來建立新的分割區, 以下的例子顯示出如何使用 parted 來建立磁碟上的一個分割區:

  • 請在 shell 中使用 parted 指令並且指定一個可用的共用磁碟裝置 來啟動 parted,在 (parted) 提示符號下使用 p 來顯示出目前的磁碟分割表,輸出將會如下所示:

    Disk geometry for /dev/sda: 0.000-4340.294 megabytes
    Disk label type: msdos
    Minor    Start       End     Type      Filesystem  Flags
  • 先決定好所需要的分割區大小,再使用 parted 程式中的 mkpart 指令建立如此大小的分割區,雖然 mkpart 並不建立一個檔案系統,在建立分割區時,它通常需要一種檔案系統類型。 parted 使用磁碟上的範圍以決定分割區大小,這個磁碟大小是在所給予之範圍的開頭與結尾間 的空間。 以下的例子顯示出如何在一個空白的磁碟上建立均為 20MB 的兩個分割區。

    (parted) mkpart primary ext3 0 20
    (parted) mkpart primary ext3 20 40
    (parted) p
    Disk geometry for /dev/sda: 0.000-4340.294 megabytes
    Disk label type: msdos
    Minor    Start       End     Type      Filesystem  Flags
    1          0.030     21.342  primary
    2         21.343     38.417  primary
  • 在單一的磁碟上,如果需要超過四個分割區,此時便需要建立一個『延伸分割區』, 假如需要建立一個延伸分割區,mkpart 指令也可執行這項工作, 在這種情況下,沒有必要指定一個檔案系統類型。

    注請注意
     

    只能建立一個延伸分割區,而且延伸分割區必須是四個主要分割區的其中之一。

    (parted) mkpart extended 40 2000
    (parted) p
    Disk geometry for /dev/sda: 0.000-4340.294 megabytes
    Disk label type: msdos
    Minor    Start       End     Type      Filesystem  Flags
    1          0.030     21.342  primary
    2         21.343     38.417  primary
    3         38.417   2001.952  extended
  • 有了一個延伸分割區,您才能於其中建立 邏輯分割區,以下的 例子顯示出劃分延伸分割區為兩個邏輯分割區的例子。

    (parted) mkpart logical ext3 40 1000
    (parted) p
    Disk geometry for /dev/sda: 0.000-4340.294 megabytes
    Disk label type: msdos
    Minor    Start       End     Type      Filesystem  Flags
    1          0.030     21.342  primary
    2         21.343     38.417  primary
    3         38.417   2001.952  extended
    5         38.447    998.841  logical
    (parted) mkpart logical ext3 1000 2000
    (parted) p
    Disk geometry for /dev/sda: 0.000-4340.294 megabytes
    Disk label type: msdos
    Minor    Start       End     Type      Filesystem  Flags
    1          0.030     21.342  primary
    2         21.343     38.417  primary
    3         38.417   2001.952  extended
    5         38.447    998.841  logical
    6        998.872   2001.952  logical
  • 可以使用 partedrm 指令來移除一個分割區, 例如:

    (parted) rm 1
    (parted) p
    Disk geometry for /dev/sda: 0.000-4340.294 megabytes
    Disk label type: msdos
    Minor    Start       End     Type      Filesystem  Flags
    2         21.343     38.417  primary
    3         38.417   2001.952  extended
    5         38.447    998.841  logical
    6        998.872   2001.952  logical 
  • 在建立好所有必要的分割區後,請使用 quit 指令離開 parted,假如在兩個成員都開機且連線到共用儲存裝置時,新增、移除或更改一個分割 區,必須重新啟動其他的成員以使它能辨識這次的變更。 在分割完一個磁碟後,請格式 化該分割區以使之能用於叢集中,例如建立檔案系統或 raw 裝置以當作共用分割區,請參 考 第 1.4.4.5 節第 1.4.4.6 節 以取得更多資訊。

    如需在安裝過程中進行硬碟磁碟分割的基本資訊,請參考 Red Hat Enterprise Linux 安裝手冊

1.4.4.5. 建立 raw 裝置

在磁碟分割完共用儲存磁碟後,請在分割區上建立 raw 裝置,檔案系統為一種區塊裝置 (如 /dev/sda1),它可以在記憶體中快取最近使用的資料以提昇效能,raw 裝置並不利用系統的記憶體來讓快取使用,請參考 第 1.4.4.6 節 以取得更多資訊。

Red Hat Enterprise Linux 支援沒有針對特定區塊裝置固定編碼的 raw 字元裝置,然而, Red Hat Enterprise Linux 使用 一個字元的主號碼(目前為 162) 來實作一系列無約束的 raw 裝置在 /dev/raw/ 目錄中。 任何的區塊裝置都可以有一個字元的 raw 裝置前端,即使該區塊裝置是在 執行時於稍候載入的。

如要建立一個 raw 裝置,請編輯 /etc/sysconfig/rawdevices 檔案來繫結一個 raw 字元裝置到適當的區塊裝置以使得該 raw 裝置可以被開啟、讀取與寫入。

共用的分割區與一些資料庫應用程式需要 raw 裝置,因為這些應用程式會執行它們 自己的緩衝快取以增進系統效能。 共用的分割區上不能含有檔案系統,因為如果狀態 資料快取於系統的記憶體中,成員們將無法擁有一致檢視的狀態資料。

在成員每次開機時,必須繫結 raw 字元裝置到區塊裝置,為了確保這項工作能確實執行,請編輯 /etc/sysconfig/rawdevices 檔案並指定共用分割區的繫結設定。 假如在一個叢集的服務使用一個 raw 裝置的話,請使用這個檔案來繫結開機時的裝置。 請參考 第 2.5 節 以取得更多資訊。

在編輯完 /etc/sysconfig/rawdevices 檔案後,可以重新開機 或者是執行下列指令來使變更生效:

service rawdevices restart

使用 raw -aq 指令來查詢所有的 raw 裝置,輸出將如下所示:

/dev/raw/raw1   bound to major 8, minor 17 
/dev/raw/raw2   bound to major 8, minor 18 

請注意,關於 raw 裝置,在 raw 裝置與區塊裝置間並不存在任何快取結合(coherency), 除此之外,要求(requests)必須是 512 位元組對齊在記憶體與磁碟上。 舉例來說, 標準的 dd 指令無法與 raw 裝置一起使用,因為這個指令傳送到 寫入系統呼叫的記憶體緩衝並不對齊在 512 位元組的界線。

如需關於使用 raw 指令的更多資訊,請參考 raw(8) 的 man page。

注請注意
 

必須使用相同的 raw device 名稱在所有的叢集成員上(例如 /dev/raw/raw1/dev/raw/raw2)。

1.4.4.6. 建立檔案系統

使用 mkfs 指令來建立一個 ext3 檔案系統,例如:

mke2fs -j -b 4096 /dev/sde3

為了使共用的檔案系統能有最佳的效能表現,請在 mke2fs 指令中的 -b 選項指定 4KB 的磁碟區塊大小,較小的磁碟區塊會導致較長的 fsck 時間。