Để vận hành XCP-ng hiệu quả, chúng ta cần phải hiểu rõ cách nền tảng này quản lý các đối tượng lưu trữ (Storage). Bài viết này mình sẽ giới thiệu nhanh qua về các khái niệm Storage trên XCP-ng. Bạn nào quan tâm có thể xem chi tiết trong tài liệu chính thức của XCP-ng Storage in XCP-ng | XCP-ng documentation
Khi nhắc đến Storage trên XCP-ng, có 3 từ khoá chính mà chúng ta cần quan tâm.
- VDI SR: VDI Storage Repository, là khu vực lưu các file ổ đĩa cứng dành cho máy ảo
- VDI: file ổ đĩa cứng ảo.
- ISO SR: ISO Storage Repository, là khu vực lưu trữ đặc biệt chỉ dành cho các file ISO (chỉ có thể đọc, không thể ghi dữ liệu vào ISO SR)
I. Phân loại Storage Type
XCP-ng phân chia Storage làm 2 loại:
- Thin Provisioned: chỉ sử dụng dung lượng lưu trữ tương ứng với dung lượng ổ cứng sử dụng hiện tại của máy ảo.
- Thick Provisioned: sử dụng toàn bộ dung lượng lưu trữ tương ứng với kích thước ổ đĩa cứng của máy ảo.
Ví dụ: bạn thiết lập 1 máy ảo Linux với ổ cứng ảo = 40GB. Sau khi cài đặt, máy ảo chỉ sử dụng 10GB. Với Think Provisioned, máy ảo chỉ chiếm 10GB của ổ cứng vật lý. Trong khi đó nếu sử dụng Thick Provisioned, máy ảo sẽ chiếm toàn bộ 40GB của ổ cứng vật lý.
Ngoài ra, XCP-ng còn phân chia khu vực lưu trữ làm 2 loại dựa vào kết nối vật lý:
- Local: khu vực lưu trữ nằm trên ổ cứng của Host
- Shared: khu vực lưu trữ nằm trên máy tính khác trong mạng nội bộ.
II. Tạo khu vực lưu trữ
Mặc định sau khi cài đặt, XCP-ng đã tự động tạo 1 khu vực lưu trữ mặc định (Default SR) với tên gọi Local Storage để bạn lưu các file ổ đĩa cứng ảo VDI dành cho máy ảo.
Để có thể cài đặt hệ điều hành cho máy ảo, chúng ta cần phải thiết lập khu vực lưu trữ dành cho các file *.iso (ISO SR). Đây sẽ nơi lưu các file iso của hệ điều hành.
1. Sử dụng Xen Orchestra
Bạn có thể tạo thêm khu vực lưu trữ VDI SR hoặc ISO SR bằng cách truy cập vào mục New -> Storage để tạo khu vực lưu trữ mới
Bạn có thể lựa chọn giữa 3 loại ISO SR:
- Local: thư mục trên Host
- SMB: Kết nối với Samba Server (dùng trên Windows)
- NFS: kết nối với NFS Server (dùng trên Linux)
a. Local ISO SR
Bạn có thể chọn Local và nhập vào đường dẫn của thư mục trên Host sau đó bấm Create. Tiếp theo bạn cần truy cập vào XCP-ng thông qua SFTP hoặc SSH để tải file iso trên mạng về hoặc copy file iso từ máy khác vào thư mục đã thiết lập.
b. SMB
Nếu có 1 máy tính khác đang chạy Windows có sẵn thư mục lưu trữ các file ISO. Bạn hãy thiết lập chia sẻ (Sharing) cho thư mục đó trên Windows. Sau đó qua XOA, chọn SMB
- Server: nhập vào địa chỉ IP của máy tính Windows kèm theo tên thư mục
- Username: tên đăng nhập vào Windows
- Password: mật khẩu đăng nhập vào Windows
Sau đó bấm Create để tạo mới.
c. NFS
Tương tự như SMB, với NFS Storage, bạn cũng cần nhập vào địa chỉ IP của NFS Server vào mục Server. Sau đó bấm Create để tạo.
d . Kiểm tra ISO Storage
Sau khi tạo thành công ISO Storage, truy cập vào tab Disks sẽ thấy tất cả các file iso có sẵn trên thư mục shared hiện ra trên Xen Orchestra.
2. Sử dụng XCP-ng Center
Bạn còn có thể tạo khu vực lưu trữ cho XCP-ng bằng cách sử dụng XCP-ng Center.
- Bấm chọn XCP-ng bên cột trái
- Bấm vào New Storage trên Menu bar
- Chọn Windows File Sharing hoặc NFS ISO
Bấm Next để tiếp tục
Chọn tên cho khu vực lưu trữ và bấm Next
Nhập vào đường dẫn mạng của khu vực lưu trữ. Bấm Finish để hoàn thành
Hạn chế của việc sử dụng XCP-ng Center là bạn không thể tạo Local Storage (khu vực lưu trữ nằm trên ổ cứng của máy chủ). Bạn chỉ có thể tạo Share Storage. Do đó nếu muốn tạo Local Storage, bắt buộc bạn phải dùng Xen Orchestra hoặc gõ lệnh CLI.
3. Sử dụng CLI
Ngoài 2 cách trên, chúng ta còn có thể tạo SR bằng cách sử dụng giao diện dòng lệnh CLI trực tiếp trên Console của XCP-ng. Tuy nhiên cách này phức tạp, khuyến khích không nên dùng. Bạn nào quan tâm có thể xem trong tài liệu của XCP-ng:
xe CLI reference | XCP-ng documentation
Sau khi thiết lập xong khu vực lưu trữ ISO SR, bạn đã có thể bắt đầu tạo máy ảo trên XCP-ng.