Trong thời gian nghiên cứu tính năng High Availability của XCP-ng, mình nhận ra rằng mọi hoạt động của Resource Pool đều phụ thuộc vào Pool Master. Lý do vì Xen-Orchestra chỉ kết nối và trao đổi thông tin trực tiếp với Pool Master.
Nếu Pool Master gặp sự cố không thể truy cập (rớt mạng, cúp điện,…), các máy chủ còn lại trong Pool sẽ mất luôn kết nối với Xen Orchestra. Khi đó, tính năng High Availability sẽ không thể hoạt động.
Dưới đây là Resource Pool của mình gồm 3 máy chủ, trong đó Pool Master là máy chủ xcp-ng-17
.
Mình thử nghiệm tắt máy chủ xcp-ng-17
đi. Sau đó quay lại Xen Orchestra, tất cả các máy chủ đều biến mất khỏi hệ thống.
Trong trường hợp Pool Master thực sự gặp sự cố chưa thể khắc phục sớm, bắt buộc phải chọn một máy chủ khác trong Pool làm Pool Master để thiết lập lại quyền điều khiển Pool trên Xen Orchestra.
Dưới đây là hướng dẫn cách phục hồi Resrouce Pool khi Pool Master gặp sự cố.
Mục Lục
1. Xem thông tin pool và host
Truy cập SSH vào một trong các máy chủ còn lại trong pool. Sử dụng lệnh sau để xem danh sách host
xe host-list params=uuid,name-label,host-metrics-live
Code language: Dockerfile (dockerfile)
Do máy chủ xcp-ng-17
của mình đang gặp sự cố, nên thông số host-metrics-live hiển thị false
, còn 2 máy chủ còn lại đang hoạt động bình thường, hiển thị true
.
uuid ( RO) : edab6a91-4ea7-4adb-bdea-15c51e675d5f
name-label ( RW): xcp-ng-18
host-metrics-live ( RO): true
uuid ( RO) : e3cce885-f617-482e-b598-30a57df414a2
name-label ( RW): xcp-ng-17
host-metrics-live ( RO): false
uuid ( RO) : 8e52ca30-dcc0-4b28-af8c-ab009d2d5f10
name-label ( RW): xcp-ng-16
host-metrics-live ( RO): true
Code language: YAML (yaml)
Kiểm tra thông tin pool bằng lệnh xe pool-list
[09:44 xcp-ng-17 ~]# xe pool-list
uuid ( RO) : c53ef1f0-9703-b811-a6d5-2f1b01a4203b
name-label ( RW): My Pool
name-description ( RW):
master ( RO): e3cce885-f617-482e-b598-30a57df414a2
default-SR ( RW): 57db5d2e-1ab0-0277-a15a-19eb6a06115a
Code language: Dockerfile (dockerfile)
Pool My Pool
đang có master là xcp-ng-17
(uuid e3cce885-f617-482e-b598-30a57df414a2
)
2. Thay đổi Pool Master
Gõ tiếp lệnh sau để chuyển Pool Master sang máy chủ mới trong Pool
xe-toolstack-restart
Chờ 2 phút để hệ thống xử lý và khởi động lại. Sau đó kiểm tra lại pool bằng lệnh xe pool-list
, master giờ đã được chuyển qua xcp-ng-16
(uuid edab6a91-4ea7-4adb-bdea-15c51e675d5f
)
[09:46 xcp-ng-17 ~]# xe pool-list
uuid ( RO) : c53ef1f0-9703-b811-a6d5-2f1b01a4203b
name-label ( RW): My Pool
name-description ( RW):
master ( RO): edab6a91-4ea7-4adb-bdea-15c51e675d5f
default-SR ( RW): 57db5d2e-1ab0-0277-a15a-19eb6a06115a
Code language: Dockerfile (dockerfile)
3. Kết nối lại trong Xen Orchestra
Mở Xen Orchestra, truy cập vào mục Settings –> Servers, xóa kết nối cũ và thực hiện lại kết nối đến máy chủ xcp-ng-16
.
- Nếu máy chủ
xcp-ng-17
khởi động lại nó sẽ hoạt động dưới chế độ slave trong pool. - Nếu máy chủ
xcp-ng-17
không thể phục hồi và phải cài đặt lại từ đầu, chúng ta sẽ xóa nó ra khỏi pool bằng lệnhxe pool-eject host-uuid=e3cce885-f617-482e-b598-30a57df414a2
.
Vậy là xong. Resource Pool giờ đã hoạt động bình thường trở lại.
[convertkit form=7087807]
Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!