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ố.
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
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
Kiểm tra thông tin pool bằng lệnh xe pool-list
[09:44 xcp-ng-17 ~]
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
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 ~]
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
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.
Nguồn: thuanbui