Xây dựng Cluster Proxmox HA 3 Node: Sức mạnh từ Intel N100 chỉ với $300

HomeLab tutorial - IT technology blog
HomeLab tutorial - IT technology blog

Bài toán High Availability trong HomeLab

Hầu hết chúng ta bắt đầu hành trình homelab với một chiếc laptop cũ bám đầy bụi hoặc một chiếc máy tính văn phòng đã nghỉ hưu đặt trong góc nhà. Nó hoạt động rất tốt cho đến khi có sự cố. Khoảnh khắc bạn cần thực hiện một bản cập nhật kernel đơn giản hoặc flash BIOS, toàn bộ đời sống số của bạn—từ Home Assistant đến DNS nội bộ—đều bị ngắt kết nối. Trong khi chúng ta yêu cầu thời gian hoạt động (uptime) 99,9% tại nơi làm việc, chúng ta thường chấp nhận mức thấp hơn nhiều tại nhà vì phần cứng cấp doanh nghiệp thường quá ồn, quá đắt và tiêu tốn quá nhiều điện năng.

Tôi quyết định không chấp nhận điều đó nữa. Tôi muốn một hệ thống có thể sống sót sau lỗi phần cứng mà không làm hóa đơn tiền điện tăng vọt hay khiến phòng khách ồn ào như một phòng máy chủ. Sau sáu tháng thử nghiệm, tôi đã tìm thấy sự cân bằng lý tưởng: một cluster ba node được xây dựng trên Mini PC Intel N100. Thiết lập này mang lại khả năng phục hồi cấp chuyên nghiệp với chi phí thấp hơn cả một chiếc card đồ họa tầm trung.

Tại sao Intel N100 là tiêu chuẩn vàng mới

Intel N100 (Alder Lake-N) đã thay đổi cục diện cho ảo hóa năng lượng thấp. Nó tích hợp bốn nhân E-core với TDP chỉ 6W—tương đương với một bóng đèn LED đơn lẻ. Những nhân này có hiệu năng vượt xa mong đợi. Trong thử nghiệm của tôi, một chiếc N100 có thể xử lý hàng tá Linux container (LXCs) mà không hề hấn gì.

Sức hút thực sự nằm ở mức giá. Các dòng máy như Beelink EQ12 hoặc GMKtec G3 thường xuyên giảm giá xuống còn $95–$110 trên Amazon hoặc AliExpress. Việc sở hữu ba chiếc máy này giúp ngân sách phần cứng cốt lõi của bạn chỉ ở mức $300. Bạn sẽ có tổng cộng 12 nhân và từ 24GB đến 48GB RAM cho toàn bộ cluster, quá đủ cho hầu hết các dịch vụ tại gia.

Sức mạnh của con số ba

Trong Proxmox, ba là con số kỳ diệu nhờ vào cơ chế Quorum. Hãy coi nó như một cuộc bỏ phiếu dân chủ. Để đưa ra quyết định—chẳng hạn như di chuyển một VM khi một node gặp sự cố—cluster cần có đa số phiếu. Trong thiết lập hai node, nếu một node hỏng, node còn lại chỉ có 50% số phiếu. Đó không phải là đa số, vì vậy hệ thống sẽ bị đóng băng để ngăn chặn hư hỏng dữ liệu. Với ba node, nếu một node ngừng hoạt động, hai node còn lại vẫn duy trì đa số 66%, giúp các dịch vụ của bạn tiếp tục vận hành trơn tru.

Chiến lược Kiến trúc và Mạng

Việc lập kế hoạch mạng quan trọng hơn cả việc chọn phần cứng. Proxmox dựa vào Corosync để giao tiếp trong cluster. Corosync cực kỳ nhạy cảm với độ trễ (latency). Nếu mạng của bạn bị hiện tượng lag spike, các node có thể cho rằng các node khác đã chết, kích hoạt sự kiện “fencing” khiến node đó tự khởi động lại đột ngột để bảo vệ dữ liệu.

Đối với cấu hình này, tôi đã sử dụng các thành phần sau:

  • Nodes: 3x Beelink EQ12 (Intel N100, 16GB RAM, 500GB NVMe).
  • Network: Một switch 1GbE chuyên dụng (một chiếc TP-Link LS1005G giá $20 là đủ dùng).
  • Storage: ZFS Replication. Mặc dù Ceph rất mạnh mẽ, nhưng nó tiêu tốn quá nhiều CPU và RAM đối với những node nhỏ này.

Từng bước xây dựng Cluster

1. Cài đặt hệ điều hành ban đầu

Bắt đầu bằng việc cài đặt Proxmox VE 8.x trên mỗi node. Sử dụng quy tắc đặt tên rõ ràng như pve-01, pve-02, và pve-03. Gán địa chỉ IP tĩnh cho mỗi node ngay lập tức. Đừng bao giờ sử dụng Wi-Fi cho cluster; High Availability yêu cầu sự ổn định tuyệt đối của cáp Ethernet vật lý.

# Chạy lệnh này trên mọi node để đảm bảo hệ thống đã được cập nhật
apt update && apt dist-upgrade -y

2. Tạo Cluster

Mở Web UI của pve-01. Đi tới Datacenter > Cluster và nhấn Create Cluster. Đặt tên cho nó, ví dụ “HomeOps”. Khi đã sẵn sàng, nhấp vào Join Information và sao chép token. Trên pve-02pve-03, chỉ cần nhấp vào Join Cluster và dán token đó vào. Proxmox sẽ tự động xử lý các công việc nặng nhọc như thiết lập SSH key và Corosync cho bạn.

3. Tối ưu hiệu năng cho N100

Các dòng Mini PC thường cố gắng tiết kiệm điện bằng cách giảm xung nhịp CPU một cách quyết liệt. Điều này có thể gây ra hiện tượng giật lag (micro-stutter) trong các VM. Tôi khuyên bạn nên chuyển CPU governor sang chế độ ‘performance’ để mọi thứ hoạt động mượt mà. Bạn có thể kiểm tra cài đặt hiện tại bằng lệnh sau:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Nếu kết quả trả về là ‘powersave’, hãy cân nhắc sử dụng cpufrequtils để khóa nó ở trạng thái phản hồi nhanh hơn.

4. Cấu hình High Availability (HA)

Bây giờ là phần quan trọng nhất. Đi tới Datacenter > HA > Groups và tạo một nhóm chứa cả ba node. Khi bạn tạo một VM—ví dụ như Pi-hole hoặc Home Assistant—hãy thêm nó vào nhóm HA này. Nếu pve-01 mất điện, cluster sẽ phát hiện sự cố trong vòng vài giây. Nó sẽ tự động khởi động lại VM của bạn trên pve-02 hoặc pve-03.

Lưu trữ tiết kiệm: ZFS Replication

Vì chúng ta đang giới hạn ngân sách dưới $300, chúng ta sẽ không sử dụng SAN NVMe đắt tiền. Thay vào đó, chúng ta sử dụng ZFS Replication. Tính năng này sao chép dữ liệu VM giữa các ổ đĩa cục bộ của mỗi node sau mỗi vài phút. Nếu một node bị hỏng, node còn lại sẽ có một bản sao đĩa gần như giống hệt sẵn sàng để khởi động. Đây là một giải pháp 0 đồng mang lại sự bảo vệ tuyệt vời trước các lỗi phần cứng.

# Kiểm tra tình trạng sức khỏe của ZFS pool
zpool status

Điểm yếu là gì? Bạn có thể mất khoảng 1 đến 5 phút dữ liệu tùy thuộc vào lịch trình replication của mình. Đối với nhu cầu sử dụng tại gia, đó là một sự đánh đổi rất xứng đáng.

Đánh giá sau 6 tháng

Cluster N100 này đã hoạt động trong văn phòng của tôi nửa năm mà không gặp một sự cố ngoài ý muốn nào. Tôi có thể di chuyển (migrate) các VM giữa các node để thực hiện bảo trì mà gia đình tôi thậm chí không nhận ra internet đang bị “gián đoạn”. Tổng điện năng tiêu thụ cho cả ba node ở trạng thái nghỉ là 19 Watts. Để dễ hình dung, một máy chủ doanh nghiệp cũ như Dell R720 sẽ tiêu tốn 150 Watts chỉ khi để không.

Thiết lập này vận hành thoải mái 15 LXC container và 4 VM. Nó yên tĩnh, rẻ và ổn định đáng kinh ngạc. Nếu bạn muốn loại bỏ điểm lỗi duy nhất (single point of failure) trong mạng gia đình mình, đây là cách hiệu quả nhất để thực hiện.

Lời kết

Thời gian hoạt động chuyên nghiệp không đòi hỏi ngân sách của một trung tâm dữ liệu. Bằng cách kết hợp hiệu quả của Intel N100 với các công cụ clustering của Proxmox, bạn có thể xây dựng một môi trường kiên cố chỉ trong một chiếc hộp nhỏ. Chỉ cần giữ dây cáp gọn gàng, IP tĩnh và lưu lượng Corosync trên mạng dây. Bạn sẽ sớm nhận ra rằng việc quản lý một cluster thú vị hơn nhiều so với việc phải “chăm bẵm” một máy chủ cũ kỹ duy nhất.

Share: