Proxmox VE 中的集群

Proxmox VE 中的集群

在過去的文章中,我們開始討論 Proxmox VE 是什麼及其工作原理。 今天我們將討論如何利用集群的可能性並展示它帶來的好處。

什麼是集群以及為什麼需要它? 集群(來自英語 cluster)是一組通過高速通信通道聯合起來的服務器,它們作為一個整體工作並顯示給用戶。 使用集群主要有以下幾種場景:

  • 提供容錯能力 (高可用性)。
  • 負載均衡 (負載均衡)。
  • 提高生產力 (高性能)。
  • 執行分佈式計算 (分佈式計算)。

每個場景對集群成員都有自己的要求。 例如,對於進行分佈式計算的集群,主要要求是浮點運算的高速性和低網絡延遲。 此類簇通常用於研究目的。

既然我們已經談到了分佈式計算這個話題,我想指出的是,還有這樣的事情: 網格系統 (源自英語grid——格子、網絡)。 儘管總體相似,但不要混淆網格系統和集群。 網格不是通常意義上的集群。 與集群不同,網格中包含的節點通常是異構的,並且具有低可用性的特點。 這種方法簡化了分佈式計算問題的解決方案,但不允許從節點創建單個整體。

網格系統的一個引人注目的例子是流行的計算平台 博恩克 (伯克利網絡計算開放基礎設施)。 該平台最初是為該項目創建的 SETI @ home (在家尋找外星智慧生命),解決通過分析無線電信號尋找外星智慧生命的問題。

Какэтоработает從射電望遠鏡接收到的大量數據被分成許多小塊,並將它們發送到網格系統的節點(在 SETI@home 項目中,志願者計算機扮演此類節點的角色)。 數據在節點處進行處理,處理完成後發送到SETI項目的中央服務器。 因此,該項目在沒有所需的計算能力的情況下解決了最複雜的全球問題。

現在我們已經清楚地了解了集群是什麼,我們建議考慮如何創建和使用它。 我們將使用開源虛擬化系統 普羅克斯維.

在開始創建集群之前,清楚地了解 Proxmox 的限制和系統要求尤為重要,即:

  • 集群中的最大節點數 - 32;
  • 所有節點必須有 相同版本的 Proxmox (也有例外,但不建議用於生產);
  • 如果將來計劃使用高可用性功能,那麼集群應該具有 至少 3 個節點;
  • 端口必須打開以便節點相互通信 UDP/5404, UDP/5405 用於 corosync 和 TCP/22 用於 SSH;
  • 節點之間的網絡延遲不應超過 2 ms.

創建集群

重要的! 以下配置是測試配置。 不要忘記檢查 官方文件 Proxmox VE。

為了運行測試集群,我們使用了三台安裝了 Proxmox 虛擬機管理程序的服務器,配置相同(2 個內核,2 GB RAM)。

如果您想了解如何安裝 Proxmox,那麼我們建議您閱讀我們之前的文章 - 虛擬化的魔力:Proxmox VE 入門課程.

最初,安裝操作系統後,單個服務器運行在 獨立模式.

Proxmox VE 中的集群
單擊按鈕創建集群 創建集群 在相關部分。

Proxmox VE 中的集群
我們為未來的集群設置一個名稱並選擇一個活動的網絡連接。

Proxmox VE 中的集群
單擊創建按鈕。 服務器將生成一個2048位密鑰並將其與新集群的參數一起寫入配置文件。

Proxmox VE 中的集群
題詞 任務確定 表示操作成功完成。 現在,查看系統的一般信息,可以看到服務器已經切換到集群模式。 到目前為止,集群僅由一個節點組成,即尚不具備集群所需要的能力。

Proxmox VE 中的集群

加入集群

在連接創建的集群之前,我們需要獲取信息來完成連接。 為此,請轉至以下部分 инажимаем кнопку 加盟信息.

Proxmox VE 中的集群
在打開的窗口中,我們對同名字段的內容感興趣。 需要復制它。

Proxmox VE 中的集群
所有必要的連接參數都在這裡編碼:用於連接的服務器地址和數字指紋。 我們轉到需要包含在集群中的服務器。 我們按下按鈕 加入集群 並在打開的窗口中粘貼複製的內容。

Proxmox VE 中的集群
領域 對等地址 и 指紋 會自動填寫。 輸入節點號1的root密碼,選擇網絡連接並按下按鈕 加入.

Proxmox VE 中的集群
加入集群過程中,GUI網頁可能會停止更新。 沒關係,重新加載頁面即可。 以完全相同的方式,我們添加另一個節點,結果我們得到了一個由 3 個工作節點組成的成熟集群。

Proxmox VE 中的集群
現在我們可以從一個 GUI 控制所有集群節點。

Proxmox VE 中的集群

高可用性組織

Proxmox 開箱即用,支持虛擬機和 LXC 容器的 HA 組織功能。 公用事業 哈經理 檢測並處理錯誤和故障,執行從故障節點到工作節點的故障轉移。 為了使該機制正常工作,虛擬機和容器必須具有公共文件存儲。

激活高可用性功能後,ha-manager軟件堆棧將持續監控虛擬機或容器的狀態,並與其他集群節點異步交互。

連接共享存儲

例如,我們在 192.168.88.18 部署了一個小型 NFS 文件共享。 為了使集群的所有節點都能夠使用它,您需要執行以下操作。

從網絡界面菜單中選擇 數據中心-存儲-添加-NFS.

Proxmox VE 中的集群
填寫字段 ID и 服務器. 在下拉列表中 出口 從可用目錄和列表中選擇所需的目錄 內容 — 所需的數據類型。 按下按鈕後 加入 存儲將連接到所有集群節點。

Proxmox VE 中的集群
在任何節點上創建虛擬機和容器時,我們指定我們的 存儲 作為存儲。

設置HA

例如,讓我們使用 Ubuntu 18.04 創建一個容器並為其配置高可用性。 創建並運行容器後,轉到 部分 數據中心-HA-添加。 在打開的字段中,指定虛擬機/容器 ID 以及嘗試重新啟動和在節點之間移動的最大次數。

如果超過此數字,虛擬機管理程序會將虛擬機標記為失敗並將其置於錯誤狀態,之後它將停止對其執行任何操作。

Proxmox VE 中的集群
點擊按鈕後 加入 效用 哈經理 將通知集群的所有節點,現在具有指定 ID 的 VM 已受到控制,並且在發生崩潰時必須在另一個節點上重新啟動。

Proxmox VE 中的集群

讓我們來一次崩潰吧

為了看看切換機製到底是如何工作的,讓我們異常關閉node1的電源。 我們從另一個節點查看集群中發生的情況。 我們看到系統已修復故障。

Proxmox VE 中的集群

HA機制的運行並不意味著VM的連續性。 一旦節點“崩潰”,虛擬機運行就會暫時停止,直到在另一個節點上自動重新啟動。

這就是“魔法”開始的地方 - 集群自動重新分配節點來運行我們的虛擬機,並在 120 秒內自動恢復工作。

Proxmox VE 中的集群
我們在營養上消滅了節點2。 讓我們看看集群是否能夠存活,虛擬機是否會自動恢復到工作狀態。

Proxmox VE 中的集群
唉,正如我們所看到的,我們遇到了一個問題,即唯一倖存的節點上不再有法定人數,這會自動禁用 HA。 我們在控制台中發出命令強制安裝仲裁。

pvecm expected 1

Proxmox VE 中的集群
2 分鐘後,HA 機制正常工作,未找到節點 2,而是在節點 3 上啟動了我們的虛擬機。

Proxmox VE 中的集群
一旦我們重新打開節點 1 和節點 2,集群就完全恢復了。 請注意,虛擬機不會自行遷移回節點 1,但這可以手動完成。

總結

我們向您介紹了 Proxmox 集群機制的工作原理,並向您展示瞭如何為虛擬機和容器配置 HA。 正確使用集群和 HA 可以大大提高基礎設施的可靠性,並提供災難恢復。

在創建集群之前,您需要立即規劃集群的用途以及未來需要擴展的程度。 您還需要檢查網絡基礎設施是否準備好以最小的延遲運行,以便未來的集群能夠正常運行。

告訴我們 - 您是否使用 Proxmox 的集群功能? 我們在評論裡等你。

之前有關 Proxmox VE 虛擬機管理程序的文章:

來源: www.habr.com

添加評論