Sau khi thiết lập thành công Resource Pool trên Xen Orchestra, mình đã có thể nghiên cứu tiếp các tính năng năng cao cấp: thiết lập NFS Shared Storage và cấu hình High Availability cho máy ảo.
High availability (có thể hiểu là “Luôn trực chiến”) là tính năng cho phép những thiết bị hoặc web server sẽ luôn ở trong tình trạng sẵn sàng để phục vụ, giảm thiểu khả năng gián đoạn của toàn hệ thống.
Mục Lục
1. Tạo NFS Shared Storage
Mình sẽ tạo một khu vực lưu trữ mạng dành riêng cho Resource Pool. Ổ đĩa mạng này được thiết lập trên một máy chủ khác, và được chia sẻ thông qua NFS Server.
Tạo thêm khu vực lưu trữ bằng cách truy cập vào mục New -> Storage để tạo khu vực lưu trữ mới.
Mục General
- Host: chọn bất kỳ máy chủ nào thuộc My Pool.
- Name: tên của khu vực lưu trữ
- Description: chú thích
- Storage Type: NFS
Mục Settings:
- Nhập IP của NFS Server
- Bấm vào biểu tượng tìm kiếm để kết nối
- Chọn thư mục trong phần Path
Kéo xuống dưới và bấm Create để tạo.
Sau khi tạo xong, truy cập vào phần Storage sẽ thấy NFS Shared Storage xuất hiện, với thông số Shared nfs
.
2. Tạo máy ảo mới
Mình sẽ tạo máy ảo mới với ổ đĩa ảo được lưu trên NFS Shared Storage, chú ý 2 mục sau.
- Chọn My Pool (không chọn được máy chủ riêng lẻ)
- Chọn NFS Shared Storage trong phần Disks.
Các mục còn lại tùy chọn theo nhu cầu sử dụng, sau đó bấm Create để tạo máy ảo mới.
Máy ảo sau khi tạo sẽ được tự động liên kết đến 1 trong số các máy chủ nằm trong Pool. Ví dụ: Ubuntu 22.04 thuộc máy chủ xcp-ng-18 còn VyOS thuộc máy chủ xcp-ng-17.
3. Kích hoạt High Availablity
Truy cập vào Pool, bấm qua tab Advanced, sẽ thấy tính năng High Availability đang tắt (Disable).
Để kích hoạt High Availability (HA) cho Resource Pool, chúng ta cần sử dụng giao diện dòng lệnh CLI (SSH vào 1 trong số các máy chủ trong Pool) để bật HA cho Shared Storage bằng lệnh sau.
xe pool-ha-enable heartbeat-sr-uuids=<SR_UUID>
Code language: JavaScript (javascript)
Để tìm UUID, bấm vào tên của Shared Storage tương ứng và copy phần mã ở bên dưới tên.
Hoặc có thể sử dụng lệnh sau để tìm UUID của Storage
xe sr-list shared=true
Code language: PHP (php)
uuid ( RO) : f26868ac-a772-f769-531b-ed5d8e688e5a
name-label ( RW): XCP-ng Tools
name-description ( RW): XCP-ng Tools ISOs
host ( RO): <shared>
type ( RO): iso
content-type ( RO): iso
uuid ( RO) : b918ca9c-8bcd-b144-5aa4-b37c2f594a79
name-label ( RW): NFS Shared Storage
name-description ( RW): Shared Storage
host ( RO): <shared>
type ( RO): nfs
content-type ( RO): user
uuid ( RO) : 6a2980f5-dd3e-0409-bb44-bc3f47e1542e
name-label ( RW): ISO Storage
name-description ( RW): ISO Storage
host ( RO): <shared>
type ( RO): iso
content-type ( RO): iso
Code language: Dockerfile (dockerfile)
Kích hoạt High Availabity cho NFS Shared Storage (UUID: b918ca9c-8bcd-b144-5aa4-b37c2f594a79)
xe pool-ha-enable heartbeat-sr-uuids=b918ca9c-8bcd-b144-5aa4-b37c2f594a79
Code language: Nginx (nginx)
Quay lại Xen Orchestra, sẽ thấy kế bên tên của NFS Shared Storage hiện ra thêm chữ HA.
Còn kế bên tên của My Pool cũng sẽ có thêm biểu tượng HA, xác nhận Pool đã được kích hoạt tính năng High Availability.
Mục High Availability giờ đã được chuyển thành Enable.
Ở phần sau mình sẽ hướng dẫn kích hoạt tính năng High Availability của máy ảo nằm trong My Pool và demo cách hoạt động của High Availability trên XCP-ng.
Tham khảo: Xen-Orchestra
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!