Quay lại
Tính năng khả dụng cao(HA)
Chức năng Cao khả dụng là chức năng tự động “khởi động lại” (được gọi là chuyển đổi dự phòng) một máy ảo trên một máy chủ khác hoạt động bình thường khi một máy chủ vật lý gặp sự cố. Do đó, cần phải thực hiện các sắp xếp trước trong hệ điều hành khách của máy ảo để hệ thống có thể được khôi phục tự động.
Điều kiện để sử dụng HA là gì?
Để sử dụng HA với phiên bản HRPC KVM, cần đáp ứng các điều kiện sau:
- Một trung tâm dữ liệu ảo bao gồm ba hoặc nhiều nút được cấu hình giống nhau.
- Phải là loại HCI hoặc loại 3 tầng, vì yêu cầu bộ nhớ dùng chung (Ceph, ESF với ES).
- Thiết bị phải có đủ dung lượng dự phòng (đặc biệt là bộ nhớ). Điều quan trọng là tổng cộng phải có ít nhất bộ nhớ của một nút trống.
*Ví dụ, trong trường hợp trung tâm dữ liệu ảo gồm ba nút, tổng cộng chỉ nên sử dụng bộ nhớ của hai nút. - Đảm bảo rằng các bản sao lưu của máy ảo đã được thực hiện
Chúng tôi khuyến nghị mạnh mẽ rằng bạn nên ký hợp đồng với Backup Storage hoặc tương tự và thiết lập sao lưu định kỳ cho các máy ảo của bạn.
Làm thế nào để kích hoạt chức năng HA?
Nếu bạn muốn kích hoạt chức năng HA, trước tiên hãy chọn trung tâm dữ liệu trong khung bên trái, mở HA trong khung giữa và nhấp vào Nhóm.
Nhấp vào nút Tạo trong khung bên phải, tạo một ID nhóm HA và kiểm tra các máy chủ liên quan đến HA. Khi tạo máy ảo trên các máy chủ liên quan đến HA, bạn phải chuẩn bị ít nhất bộ nhớ dự phòng của một máy chủ vật lý. Nếu bạn tham gia HA với tổng cộng bốn HRPC được trang bị 768GB bộ nhớ, ba máy còn lại sẽ cần 768GB bộ nhớ trống để các thiết bị khác có thể tiếp tục hoạt động ngay cả khi một HRPC gặp sự cố vật lý. Nếu bạn không kiểm tra nhóm HA, nó sẽ bị bỏ qua như một mục tiêu HA ngay cả khi nó nằm trong cùng trung tâm dữ liệu.
Nếu một máy chủ được cố ý loại bỏ khỏi nhóm HA và cài đặt nhóm HA “hạn chế” được chọn, các máy ảo thuộc nhóm HA đó không thể được khởi động trên máy chủ đã bị loại bỏ.
Nếu chọn “nofailback”, khi một nút vật lý bị lỗi khởi động lại và quay trở lại, các máy ảo sẽ không được khôi phục mà sẽ tiếp tục chạy tại đích đến. Nếu không chọn “nofailback”, chúng sẽ được trả lại nút ban đầu bằng cách di chuyển trực tiếp, cho phép quản lý nghiêm ngặt việc đặt các máy chủ nút và máy ảo. Tuy nhiên, nếu nút vật lý trở nên không ổn định và liên tục khởi động lại, HA sẽ được kích hoạt lại và các máy ảo sẽ liên tục được khởi động lại. Vì lý do này, chúng tôi khuyến nghị chọn “nofailback”.
Ngoài ra, mặc dù di chuyển trực tiếp là một tính năng hiếm khi thất bại, nhưng có một khoảng thời gian gián đoạn nội bộ ngắn có thể gây ra vấn đề trong phần mềm thời gian thực.
Làm thế nào để kích hoạt HA cho một máy ảo?
Proxmox HA sẽ không áp dụng trừ khi máy ảo được quản lý HA.
Để đặt máy ảo dưới sự quản lý HA, chọn máy ảo và chọn “Quản lý HA” từ menu kéo xuống “Thêm▼” ở góc trên bên phải. Chọn ID của nhóm HA mà bạn đã cấu hình ở trên từ nhóm, đặt trạng thái mong muốn thành “đã khởi động”, sau đó nhấp vào nút Thêm.
Máy ảo này giờ đây đã nằm dưới sự kiểm soát HA.
Phạm vi hoạt động của HA thay đổi tùy thuộc vào bộ quản lý ảo hóa. Trong VMware, khi HA được kích hoạt trong trung tâm dữ liệu ảo, nó ảnh hưởng đến tất cả các máy ảo trong trung tâm dữ liệu ảo, trong khi ở XenOrchestra, nó chỉ ảnh hưởng đến các máy ảo trong nhóm có HA được kích hoạt và được đặt “khởi động lại”.
Mối quan hệ giữa việc khởi động lại bảo trì của các nút (máy chủ) trong nhóm HA và máy ảo
Khi một nút thuộc nhóm HA được khởi động lại để bảo trì (không phải do lỗi bất ngờ), hành vi của các máy ảo sẽ khác nhau tùy thuộc vào việc chúng có được quản lý HA hay không.
Máy ảo dưới sự quản lý HA | Di chuyển trực tiếp đến máy khác |
---|---|
Máy ảo không được quản lý bởi HA | Tự động tắt và vẫn tắt sau khi khởi động lại |
Chuyên mục
Hạn chế của chức năng HA
Chức năng HA có những hạn chế, và có thể xảy ra các vấn đề khi sử dụng HA.
- Khởi động lại máy ảo bất ngờ
- Hỏng dữ liệu máy ảo
Nói một cách đơn giản, HA là khả năng khởi động một máy ảo từ một nút khác khi một nút bị lỗi, nhưng đây là cách nó hoạt động từ góc nhìn toàn cảnh, và logic phần mềm thực tế phải được triển khai hoàn toàn khác.
Đầu tiên, không thể định nghĩa nghiêm ngặt “lỗi” của một nút cụ thể trong số ba nút (tức là nút A, nút B và nút C) là gì. HA được đạt được bằng cách để mỗi nút phối hợp với các nút khác.
Khi nút A mất liên lạc với nút B, không rõ liệu lỗi có xảy ra ở nút B hay chỉ là liên lạc giữa nút A và nút B bị mất. Nếu từ góc nhìn của nút A, nó có thể liên lạc với nút C, thì có thể hình dung rằng lỗi đã xảy ra ở nút B.
Tuy nhiên, nếu dữ liệu của các máy ảo được lưu trữ trên Nút B liên tục được cập nhật trên bộ nhớ dùng chung, Nút B có thể hoàn toàn bị cô lập.
Trong ví dụ trên, nếu nút A và C đang giao tiếp, khả năng cao là nút B đã bị lỗi. Do đó, nút A và C sẽ cố gắng tự khởi động các máy ảo được lưu trữ trên nút B.
Tuy nhiên, nút B có thể không bị lỗi, mà chỉ bị cô lập. Nếu một nút xác định rằng nó bị cô lập, nó sẽ ngay lập tức tắt các máy ảo mà nó lưu trữ để chuẩn bị cho khả năng nút A và C khởi động, đây là nguyên nhân gây ra khởi động lại bất ngờ đã đề cập ở trên.
Vậy điều gì xảy ra nếu nút B không tắt?
Nếu cùng một máy ảo chạy ở hai nơi, nút B và một nút khác, đĩa ảo của máy ảo sẽ bị hỏng ngay lập tức, dẫn đến việc phá hủy dữ liệu của máy ảo đã đề cập ở trên.
Vì vậy, lựa chọn của bạn là khởi động lại hoặc phá hủy dữ liệu của bạn.
HA cần phối hợp giữa các nút để xác định liệu nó có bị ngừng hoạt động, chỉ đơn giản là mất liên lạc, hay đang chạy chậm.
Nếu hai lỗi trên là loại trừ lẫn nhau, điều bạn muốn tránh là hỏng dữ liệu, vì vậy hãy tắt ngay lập tức.
Quyết định này được thực hiện theo khoảng thời gian, và Proxmox thực hiện điều đó mỗi 2 phút. Nếu không có phản hồi trong 2 phút, nó được xác định là “máy chủ đã bị lỗi”. Do đó, ít nhất, thời gian ngừng hoạt động sẽ là 2 phút + thời gian để máy ảo khởi động (trong thực tế, sẽ lâu hơn).
Tuy nhiên, nếu tốc độ nút chậm lại, bộ nhớ bị hoán đổi, việc thu hồi bộ nhớ bởi trình điều khiển balloon gây ra sự chậm trễ tạm thời, hoặc việc ghi bộ nhớ chậm lại, hai phút có thể trôi qua nhanh chóng và việc tắt máy có thể không kịp thời. Vì điều cần bảo vệ là dữ liệu, hệ thống tự động sử dụng Bộ định thời WatchDog hoặc tương tự, và các đám mây riêng chạy trên phần cứng được trang bị thiết bị có thể tự động khởi động lại kernel ngay cả khi kernel máy chủ ngừng phản hồi.