Chuyên mục
Virtualization

[XCP-ng] Thiết lập NFS Shared Storage và kích hoạt High Availability

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.

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:

  1. Nhập IP của NFS Server
  2. Bấm vào biểu tượng tìm kiếm để kết nối
  3. 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.

  1. Chọn My Pool (không chọn được máy chủ riêng lẻ)
  2. 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=trueCode 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): isoCode 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-b37c2f594a79Code 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

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

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 mò vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!

Bởi Thuận Bùi

Runner at Yêu Chạy Bộ. Blogger at Ba Lô & Dép Lào. Web Developer at TB's Blog.
Follow me: Facebook / Instagram

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *