使用物件儲存作為儲存區域,在 OCI 上實作 NFS 叢集伺服器
當我們有無限量重要的非結構化資料在開始時經常存取,但之後不常存取時,最佳選項為 Oracle Cloud Infrastructure Object Storage 。
不過,由於部分應用系統無法以原生方式使用物件儲存,因此需要使用第三方解決方案。對於此架構,我們將使用:
- 用於讀取和寫入物件儲存的 Rclone。
- 建立至叢集的 Corosync 與 Pacemaker (主動 - 待命),並確保重要應用程式 (例如 Rclone、次要 IP、NFS 服務、掛載點等) 所需的高可用性。
- 掛載叢集共用的網路檔案系統 (NFS) 的次要 IP,用於在叢集節點之間自動容錯移轉。
此參考架構說明客戶強化的組態,並結合高可用性和彈性。
架構
下圖說明此參照架構。
在此情況下,為了快速切換程序,我們保留了:Rclone 和 NFS 服務正在執行;在掛載模型中執行 Rclone;共用由 Rclone 掛載之資料夾的 NFS 服務;以及僅附加至其中一個節點的次要 IP。
架構具有下列元件:
oci-rclone-architecture-diagram-oracle.zip
您可以在 OTube 上查看節點間切換的程序。
APP Server => inst-i6hjc-rclone-ha - Client Server
/mnt/nfs_rclone_v2 = Mount point client side
NFS - Floating IP = 172.10.0.100
RCLONE => nfs-rclone = Cluster Node1 = IP = 172.10.0.287
RCLONE STANDBY => inst-e2fc3-rclone-ha = Cluster Node 2 - IP = 172.10.0.121
NFS - SHARE
/mnt/nfs_rclone = From Object Storage
您可以使用跨區域備份建立災害復原;如果您在設定中使用變數,則 Rclone 組態是靜態的。
oci-nfs-cluster-architecture-diagram-oracle.zip
如果是災害復原:
- 在其他區域建立資料的複本,即可使用物件儲存複寫進行災害復原。請參閱「深入瞭解:使用複製」。
- 為運算執行處理建立災害復原解決方案。請參閱「瀏覽更多:複寫磁碟區」。
此架構包含下列元件:
- 區域
Oracle Cloud Infrastructure 區域是一個本地化的地理區域,包含一或多個資料中心 (稱為可用性網域)。區域與其他區域無關,因此廣大的距離可加以區隔 (跨國家或甚至洲)。
- 可用性網域
可用性網域是區域內的獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域並不共用基礎設施,例如電力或冷卻系統或內部可用性網域網路。因此,一個可用性網域發生失敗並不會影響區域中的其他可用性網域。
- 容錯域
容錯域是可用性網域內的一組硬體和基礎設施。每個可用性網域都有三個容錯域,具備獨立電源和硬體。當您將資源分散到多個容錯域時,您的應用系統就可容忍容錯域中的實體伺服器故障、系統維護以及電源故障。
- 虛擬雲端網路 (VCN) 和子網路
VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。就像傳統的資料中心網路,VCN 可讓您完全控制網路環境。VCN 可以有多個非重疊 CIDR 區塊,而您可以在建立 VCN 之後進行變更。您可以將 VCN 區隔成子網路,然後對區域或可用性網域進行調整。每個子網路都是由不與 VCN 中其他子網路重疊的連續位址範圍所組成。您可以在建立子網路後變更其大小。子網路可以是公用網路或專用子網路。
- 物件儲存
物件儲存可快速存取任何內容類型的大量結構化與非結構化資料,包括資料庫備份、分析資料,以及豐富內容 (例如影像和影片)。您可以安全地儲存,然後直接從網際網路或雲端平台內擷取資料。您可以無縫擴充儲存,而不會發生任何效能或服務可靠性的降低。針對快速、立即和經常存取的「熱」儲存,使用標準儲存。將封存儲存用於長時間且鮮少存取的「冷」儲存。
- 複製
Rclone 此為開放原始碼的命令行程式,可用來管理雲端儲存體上的檔案,此程式可透過 NFS 傳遞物件儲存體。
- 顏色與顏色機制
Corosync 與 Pacemaker 都是適用於小型與大型叢集的開放原始碼服務,負責在應用程式內提供高可用性。
- OCI CLI
OCI CLI 負責將 Linux Corosync/Pacemaker VirtualIP IPaddr2 資源與 Oracle Cloud Infrastructure vNIC 次要 IP 整合。
- Oracle Linux
使用 Oracle Linux 8.6 執行處理代管此環境。也可以使用其他 Linux 發行套件,只要它們支援 Linux Rclone/Corosync/Pacemaker 即可。
- 次要 IP
次要專用 IP 啟動之後,即可新增至執行處理。您可以將它新增至執行處理的主要或次要 VNIC。此次要 IP 會在節點之間浮動;如果節點關閉,則浮動 IP 會傳遞給另一個節點。Corosync 與 Pacemaker 將負責此變更處理程序。
建議
- 複製
在兩個叢集節點上使用相同的目錄名稱。請特別注意 NFS 匯出組態,如此就無法使用 Rclone 檔案系統時不會有任何問題。如果您使用圖形化介面來掛載目錄,則可以透過圖形化介面來監督目錄。
如果您未在 Linux 叢集中設定 Rclone 服務,建議您在伺服器啟動期間使用 crontab 中的 Shell 命令檔來啟動服務
- VCN
建立 VCN 時,請根據您計畫連附至 VCN 中子網路的資源數目,判斷所需的 CIDR 區塊數目和每個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。
選取未與欲設定專用連線之任何其他網路 (在 Oracle Cloud Infrastructure 、您的內部部署資料中心或其他雲端提供者) 重疊的 CIDR 區塊。
您可以在建立 VCN 之後,變更、新增及移除其 CIDR 區塊。
設計子網路時,請考慮您的流量與安全需求。將特定層或角色內的所有資源連附至相同的子網路,以作為安全界限。
- 運算資源配置
此架構使用具有 E3 或 E4 彈性資源配置的 Oracle Linux 作業系統映像檔,以將運算主機代管至叢集節點。如果您的應用程式需要更多傳輸量網路、記憶體或核心,您可以選擇不同的資源配置。
- Oracle Linux 叢集
佈建 Oracle Linux 執行處理之後,您需要依照公用文件中的說明設定 CLI,並安裝並設定 Corosync/Pacemaker 叢集及其需求 (執行長、法定、資源、限制條件等)。設定 Corosync/Pacemaker 叢集與 CLI 之後,您必須設定 VirtualIP 資源。在此連結中,快速的範例是如何使用指令行在 Corosync/Pacemaker 上設定 VirtualIP 資源。也可透過 Web 瀏覽器 UI 完成相同的處理。
- 物件儲存
使用物件生命週期管理 (請參閱「探索更多」) 變更為類型,並使用保留規則保留資料 (請參閱「探索更多」) 以在上傳檔案後變更及管理儲存桶中的資料。
- 顏色與顏色機制
將 Linux Corosync 與 Pacemaker 與 OCI CLI 整合時,儘可能使用多個變數,以保持指令碼靜態且與執行中的伺服器無關。