Phân cụm trong Proxmox VE

Phân cụm trong Proxmox VE

Trong các bài viết trước, chúng tôi đã bắt đầu nói về Proxmox VE là gì và nó hoạt động như thế nào. Hôm nay chúng ta sẽ nói về cách bạn có thể sử dụng khả năng phân cụm và cho thấy những lợi ích mà nó mang lại.

Cụm là gì và tại sao cần thiết? Một cụm (từ cụm tiếng Anh) là một nhóm các máy chủ được hợp nhất bởi các kênh liên lạc tốc độ cao, hoạt động và hiển thị cho người dùng dưới dạng một tổng thể duy nhất. Có một số tình huống chính khi sử dụng cụm:

  • Cung cấp khả năng chịu lỗi (tính sẵn sàng cao).
  • Cân bằng tải (Cân bằng tải).
  • Tăng năng suất (hiệu suất cao).
  • Thực hiện tính toán phân tán (Phân phối máy tính).

Mỗi kịch bản có yêu cầu riêng đối với các thành viên trong cụm. Ví dụ: đối với một cụm thực hiện tính toán phân tán, yêu cầu chính là tốc độ hoạt động dấu phẩy động cao và độ trễ mạng thấp. Các cụm như vậy thường được sử dụng cho mục đích nghiên cứu.

Vì chúng ta đã đề cập đến chủ đề điện toán phân tán, tôi muốn lưu ý rằng cũng có một thứ như hệ thống lưới điện (từ lưới tiếng Anh - mạng, mạng). Mặc dù có sự tương đồng chung nhưng đừng nhầm lẫn giữa hệ thống lưới và cụm. Lưới không phải là một cụm theo nghĩa thông thường. Không giống như một cụm, các nút trong lưới thường không đồng nhất và được đặc trưng bởi tính sẵn sàng thấp. Cách tiếp cận này đơn giản hóa việc giải quyết các vấn đề tính toán phân tán, nhưng không cho phép tạo ra một tổng thể từ các nút.

Một ví dụ nổi bật của hệ thống lưới là một nền tảng điện toán phổ biến BOIN (Cơ sở hạ tầng mở của Berkeley cho máy tính mạng). Nền tảng này ban đầu được tạo ra cho dự án SETI @ home (Tìm kiếm trí thông minh ngoài Trái đất tại nhà), giải quyết vấn đề tìm kiếm trí thông minh ngoài Trái đất bằng cách phân tích tín hiệu vô tuyến.

Làm thế nào nó hoạt độngMột mảng dữ liệu khổng lồ nhận được từ kính thiên văn vô tuyến được chia thành nhiều phần nhỏ và chúng được gửi đến các nút của hệ thống lưới (trong dự án SETI@home, các máy tính tình nguyện đóng vai trò của các nút đó). Dữ liệu được xử lý tại các nút và sau khi xử lý xong sẽ được gửi đến máy chủ trung tâm của dự án SETI. Do đó, dự án giải quyết được vấn đề toàn cầu phức tạp nhất mà không cần có khả năng tính toán cần thiết.

Bây giờ chúng ta đã hiểu rõ về cụm là gì, chúng tôi đề xuất xem xét cách tạo và sử dụng cụm đó. Chúng tôi sẽ sử dụng một hệ thống ảo hóa mã nguồn mở Proxmox ve.

Điều đặc biệt quan trọng là phải hiểu rõ các hạn chế và yêu cầu hệ thống của Proxmox trước khi bắt đầu tạo cụm, cụ thể là:

  • số nút tối đa trong một cụm - 32;
  • tất cả các nút phải có cùng một phiên bản của Proxmox (có những trường hợp ngoại lệ, nhưng chúng không được khuyến khích đưa vào sản xuất);
  • nếu trong tương lai nó được lên kế hoạch sử dụng chức năng Tính sẵn sàng cao thì cụm đó sẽ có ít nhất 3 nút;
  • các cổng phải được mở để các nút giao tiếp với nhau UDP/5404, UDP/5405 cho corosync và TCP / 22 cho SSH;
  • Độ trễ mạng giữa các nút không được vượt quá 2 ms.

Tạo một cụm

Quan trọng! Cấu hình sau đây là cấu hình thử nghiệm. Đừng quên kiểm tra với tài liệu chính thức Proxmox V.E.

Để chạy một cụm thử nghiệm, chúng tôi đã sử dụng ba máy chủ có cài đặt trình ảo hóa Proxmox với cùng cấu hình (2 lõi, 2 GB RAM).

Nếu bạn muốn biết cách cài đặt Proxmox, chúng tôi khuyên bạn nên đọc bài viết trước của chúng tôi - Sự kỳ diệu của ảo hóa: khóa học giới thiệu về Proxmox VE.

Ban đầu, sau khi cài đặt hệ điều hành, một máy chủ sẽ chạy trong Chế độ độc lập.

Phân cụm trong Proxmox VE
Tạo một cụm bằng cách nhấp vào nút Tạo cụm trong phần có liên quan.

Phân cụm trong Proxmox VE
Chúng tôi đặt tên cho cụm trong tương lai và chọn kết nối mạng đang hoạt động.

Phân cụm trong Proxmox VE
Nhấp vào nút Tạo. Máy chủ sẽ tạo khóa 2048 bit và ghi khóa đó cùng với các tham số của cụm mới vào tệp cấu hình.

Phân cụm trong Proxmox VE
Chữ khắc NHIỆM VỤ OK cho biết sự hoàn thành thành công của hoạt động. Bây giờ nhìn vào thông tin chung về hệ thống có thể thấy server đã chuyển sang chế độ cluster. Cho đến nay, cụm chỉ bao gồm một nút, nghĩa là nó chưa có các khả năng cần thiết cho một cụm.

Phân cụm trong Proxmox VE

Tham gia một cụm

Trước khi kết nối với cụm đã tạo, chúng ta cần lấy thông tin để hoàn tất kết nối. Để làm điều này, hãy đi đến phần cụm và nhấn nút Thông tin tham gia.

Phân cụm trong Proxmox VE
Trong cửa sổ mở ra, chúng ta quan tâm đến nội dung của trường cùng tên. Nó sẽ cần phải được sao chép.

Phân cụm trong Proxmox VE
Tất cả các tham số kết nối cần thiết đều được mã hóa tại đây: địa chỉ máy chủ để kết nối và dấu vân tay kỹ thuật số. Chúng tôi đi đến máy chủ cần được đưa vào cụm. Chúng tôi nhấn nút Tham gia cụm và trong cửa sổ mở ra, dán nội dung đã sao chép.

Phân cụm trong Proxmox VE
Lĩnh vực Địa chỉ ngang hàng и vân tay sẽ được điền tự động. Nhập mật khẩu gốc cho nút số 1, chọn kết nối mạng và nhấn nút Tham gia.

Phân cụm trong Proxmox VE
Trong quá trình tham gia cụm, trang web GUI có thể ngừng cập nhật. Không sao đâu, chỉ cần tải lại trang. Theo cách tương tự, chúng ta thêm một nút khác và kết quả là chúng ta có được một cụm đầy đủ gồm 3 nút đang hoạt động.

Phân cụm trong Proxmox VE
Bây giờ chúng ta có thể kiểm soát tất cả các nút cụm từ một GUI.

Phân cụm trong Proxmox VE

Tổ chức có tính sẵn sàng cao

Proxmox ngay lập tức hỗ trợ chức năng tổ chức HA cho cả máy ảo và bộ chứa LXC. Tính thiết thực ha-quản lý phát hiện và xử lý các lỗi và lỗi, thực hiện chuyển đổi dự phòng từ nút bị lỗi sang nút đang hoạt động. Để cơ chế hoạt động chính xác, điều cần thiết là các máy ảo và vùng chứa phải có kho lưu trữ tệp chung.

Sau khi kích hoạt chức năng Tính sẵn sàng cao, ngăn xếp phần mềm ha-manager sẽ liên tục theo dõi trạng thái của máy ảo hoặc vùng chứa và tương tác không đồng bộ với các nút cụm khác.

Đính kèm bộ nhớ dùng chung

Ví dụ: chúng tôi đã triển khai một chia sẻ tệp NFS nhỏ tại 192.168.88.18. Để tất cả các nút của cụm có thể sử dụng được, bạn cần thực hiện các thao tác sau.

Chọn từ menu giao diện web Trung tâm dữ liệu - Lưu trữ - Thêm - NFS.

Phân cụm trong Proxmox VE
Điền vào các trường ID и máy chủ. Trong danh sách thả xuống Xuất khẩu chọn thư mục mong muốn từ những thư mục có sẵn và trong danh sách Nội dung - các kiểu dữ liệu cần thiết. Sau khi nhấn nút Thêm bộ lưu trữ sẽ được kết nối với tất cả các nút cụm.

Phân cụm trong Proxmox VE
Khi tạo máy ảo và vùng chứa trên bất kỳ nút nào, chúng tôi chỉ định là gắn như là nơi lưu trữ.

Đang thiết lập HA

Ví dụ: hãy tạo một vùng chứa với Ubuntu 18.04 và định cấu hình Tính sẵn sàng cao cho nó. Sau khi tạo và chạy container, hãy chuyển đến phần Trung tâm dữ liệu-HA-Add. Trong trường mở ra, hãy chỉ định ID máy ảo/vùng chứa và số lần thử tối đa để khởi động lại và di chuyển giữa các nút.

Nếu con số này bị vượt quá, trình ảo hóa sẽ đánh dấu VM là không thành công và đặt nó ở trạng thái Lỗi, sau đó nó sẽ ngừng thực hiện bất kỳ hành động nào với nó.

Phân cụm trong Proxmox VE
Sau khi nhấn nút Thêm tiện ích ha-quản lý sẽ thông báo cho tất cả các nút của cụm rằng hiện tại VM có ID được chỉ định đã được kiểm soát và trong trường hợp xảy ra sự cố, nó phải được khởi động lại trên một nút khác.

Phân cụm trong Proxmox VE

Hãy tạo ra một vụ tai nạn

Để xem chính xác cơ chế chuyển mạch hoạt động như thế nào, chúng ta hãy tắt nguồn điện của node1 một cách bất thường. Chúng tôi xem xét từ một nút khác những gì đang xảy ra với cụm. Chúng tôi thấy rằng hệ thống đã khắc phục được lỗi.

Phân cụm trong Proxmox VE

Hoạt động của cơ chế HA không có nghĩa là VM sẽ hoạt động liên tục. Ngay khi nút "rơi", hoạt động của VM tạm thời bị dừng cho đến khi nó tự động được khởi động lại trên nút khác.

Và ở đây “phép thuật” bắt đầu - cụm đã tự động chỉ định lại nút để chạy máy ảo của chúng tôi và trong vòng 120 giây, công việc sẽ tự động được khôi phục.

Phân cụm trong Proxmox VE
Chúng tôi dập tắt nút2 về dinh dưỡng. Hãy xem liệu cụm có tồn tại hay không và liệu VM có tự động trở lại trạng thái hoạt động hay không.

Phân cụm trong Proxmox VE
Than ôi, như chúng ta có thể thấy, chúng ta gặp vấn đề với thực tế là không còn đủ số đại biểu trên nút duy nhất còn sót lại, nút này sẽ tự động vô hiệu hóa HA. Chúng tôi đưa ra lệnh buộc cài đặt đại biểu trong bảng điều khiển.

pvecm expected 1

Phân cụm trong Proxmox VE
Sau 2 phút, cơ chế HA hoạt động chính xác và không tìm thấy nút2, đã khởi chạy VM của chúng tôi trên nút3.

Phân cụm trong Proxmox VE
Ngay sau khi chúng tôi bật lại nút1 và nút2, cụm đã được khôi phục hoàn toàn. Xin lưu ý rằng VM không tự di chuyển trở lại nút 1 mà việc này có thể được thực hiện theo cách thủ công.

Tổng hợp

Chúng tôi đã cho bạn biết về cách hoạt động của cơ chế phân cụm Proxmox, đồng thời cho bạn biết cách HA được định cấu hình cho các máy ảo và vùng chứa. Việc sử dụng phân cụm và HA đúng cách sẽ làm tăng đáng kể độ tin cậy của cơ sở hạ tầng cũng như cung cấp khả năng khắc phục thảm họa.

Trước khi tạo một cụm, bạn cần lập kế hoạch ngay lập tức cho mục đích sử dụng cụm và mức độ cần mở rộng quy mô trong tương lai. Bạn cũng cần kiểm tra cơ sở hạ tầng mạng để sẵn sàng hoạt động với độ trễ tối thiểu để cụm trong tương lai hoạt động mà không gặp lỗi.

Hãy cho chúng tôi biết - bạn có đang sử dụng khả năng phân cụm của Proxmox không? Chúng tôi đang chờ đợi bạn trong phần bình luận.

Các bài viết trước về trình ảo hóa Proxmox VE:

Nguồn: www.habr.com

Thêm một lời nhận xét