Cấu hình các Pool Lưu trữ KVM bằng WebvirtCloud
Trong môi trường ảo hóa, việc quản lý các nhóm lưu trữ là một nhiệm vụ quan trọng để đảm bảo lưu trữ hiệu quả và linh hoạt luôn có sẵn cho các máy ảo. WebVirtCloud có thể đơn giản hóa toàn bộ quá trình cấu hình, thậm chí cả việc sử dụng các nhóm lưu trữ trong KVM thông qua giao diện web thân thiện với người dùng. Trong phần này, chúng tôi sẽ hướng dẫn bạn qua quá trình quản lý các nhóm lưu trữ bằng WebVirtCloud.
📥 Chúng tôi chính thức phát hành eBook KVM mới – tải PDF hoặc đọc trực tuyến ngay bây giờ! Truy cập ngay
Storage Pools là gì?
Bạn có thể nghĩ về pool lưu trữ như một thùng chứa ảo kết hợp nhiều thiết bị lưu trữ vật lý thành một đơn vị (pool) duy nhất để quản lý dễ dàng. Lợi ích từ việc này là quản lý và phân bổ tài nguyên lưu trữ trở nên đơn giản hơn cho việc sử dụng bởi các máy ảo của bạn.
Từ WebvirtCloud, bạn có thể tạo và quản lý các loại nhóm lưu trữ sau:
THƯ MỤC (Directory)
- Đây là một loại lưu trữ dễ dàng thiết lập và quản lý
- Nó sử dụng bộ lưu trữ đơn giản dựa trên thư mục (hệ thống tập tin của máy chủ cục bộ)
- Nó kém khả năng mở rộng hơn và không cung cấp hiệu suất tốt nhất
Trình quản lý phân vùng logic (LVM)
- LVM cung cấp giải pháp quản lý ổ đĩa logic linh hoạt trên KVM của bạn
- Nó có hỗ trợ chụp nhanh và thay đổi kích thước (linh hoạt hơn)
- Bạn sẽ có hiệu suất tốt hơn so với lưu trữ dựa trên thư mục
Ceph
- Ceph là một hệ thống lưu trữ phân tán
- Nó có khả năng chịu lỗi và mở rộng cao hơn cả LVM và các thiết lập lưu trữ thư mục
- Nó cung cấp lưu trữ tệp, khối và đối tượng.
NFS (Hệ thống Tệp Mạng)
- Đây là bộ nhớ gắn mạng (bộ nhớ chia sẻ dựa trên mạng)
- Dễ dàng thiết lập và quản lý
- Hiệu suất của nó phụ thuộc nhiều vào băng thông mạng
ISO
- Bộ nhớ chuyên dụng cho các tệp hình ảnh ISO
- Mục đích của việc này là cài đặt VM đơn giản hóa
- Nó chỉ giới hạn cho việc lưu trữ các tệp ISO
Tạo Pool Lưu trữ cho KVM bằng WebvirtCloud
Để cấu hình hiệu quả các pool lưu trữ trong bảng điều khiển WebvirtCloud, cần phải đáp ứng một số điều kiện tiên quyết.
- Một hoặc nhiều trình siêu giám sát KVM hoạt động. Để biết quy trình cài đặt trên các hệ thống Linux chính, hãy tham khảo hướng dẫn này.
- Một thiết lập WebvirtCloud hoạt động; Xem hướng dẫn cài đặt cho Rocky/AlmaLinux và Ubuntu Linux.
Khi cả hai đều hoạt động, các phụ thuộc khác sẽ phụ thuộc vào loại nhóm lưu trữ. Ví dụ, để thêm loại lưu trữ Ceph, bạn phải triển khai cụm Ceph, và đối với NFS thì máy chủ NFS phải đã tồn tại.
Các yêu cầu cụ thể khác có thể khác nhau tùy thuộc vào bể lưu trữ mà bạn muốn sử dụng. Ví dụ, việc tạo một bể lưu trữ dựa trên Ceph yêu cầu phải triển khai một cụm Ceph, trong khi bể lưu trữ NFS sẽ yêu cầu một máy chủ NFS được cấu hình sẵn.
1 – Tạo Bộ Nhóm Lưu Trữ Thư Mục
Loại bể lưu trữ này sử dụng một thư mục trong hệ thống tệp của máy chủ. Trong KVM, đường dẫn thư mục mặc định cho các hình ảnh máy ảo là /var/lib/libvirt/images/, tuy nhiên, đường dẫn này có thể được điều chỉnh sang một đường dẫn riêng.
Sử dụng thiết bị đĩa bổ sung (tùy chọn)
Máy chủ được sử dụng trong ví dụ này có thêm một ổ đĩa thô /dev/sdb. Chúng ta sẽ sử dụng ổ đĩa này để lưu trữ các hình ảnh máy ảo.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 252:0 0 80G 0 disk
├─vda1 252:1 0 99M 0 part /boot/efi
├─vda2 252:2 0 1000M 0 part /boot
├─vda3 252:3 0 4M 0 part
├─vda4 252:4 0 1M 0 part
└─vda5 252:5 0 78.9G 0 part /
sdb 252:16 0 200G 0 diskHãy tạo bảng phân vùng trên thiết bị đĩa thô này.
sudo parted /dev/sdb mklabel gpt
sudo parted /dev/sdb mkpart primary 0% 100%Tạo hệ thống tệp và điểm gắn kết.
sudo mkfs.xfs /dev/sdb1
sudo mkdir -p /kvm/Xác nhận bố cục sơ đồ phân vùng đĩa:
$ lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vdb 252:16 0 200G 0 disk
└─sdb1 252:17 0 200G 0 partĐể gắn ổ đĩa một cách cố định, hãy chỉnh sửa tệp /etc/fstab.
sudo nano /etc/fstabThêm mục mới vào bảng hệ thống tệp cho việc gắn phân vùng của chúng tôi.
/dev/sdb1 /kvm xfs defaults 0 0Xác nhận xem việc lắp đặt có thành công hay không.
sudo systemctl daemon-reload
sudo mount -a
df -hTCấu hình nhóm lưu trữ Thư mục (DIR)
Hãy tạo một thư mục để lưu trữ các ảnh VM của phiên bản.
sudo mkdir /kvm/vmdataNếu bạn đang sử dụng SELinux ở chế độ enforcing (trên các hệ thống dựa trên RHEL), hãy áp dụng ngữ cảnh chính xác:
sudo semanage fcontext -a -t virt_image_t "/kvm(/.*)?"
sudo restorecon -Rvv /kvmKhi đăng nhập vào WebvirtCloud, đi tới “Computes” > “Tên nút” > “Storages”. Nhấp vào “+” để tạo nhóm lưu trữ mới.
Chọn “DIR” làm loại, đặt tên và thiết lập đường dẫn.
- Ví dụ về cách sử dụng đường dẫn KVM mặc định
- Ví dụ về cách sử dụng đường dẫn mount host tùy chỉnh
Nó sẽ hiển thị chi tiết nhóm lưu trữ sau khi bạn nhấn vào “Tạo”
Nếu đang hoạt động, nó sẽ chuyển sang màu xanh.
Lần tới khi bạn tạo một phiên bản VM, bạn có thể chọn bể lưu trữ đã thêm để lưu trữ dữ liệu của phiên bản.
2. Tạo Bộ Nhớ Lưu Trữ ISO
Bể lưu trữ ISO là nơi bạn có thể tổ chức và truy cập các hình ảnh ISO một cách hiệu quả. Các hình ảnh ISO này được sử dụng để tạo hệ điều hành thủ công.
Hãy tạo một thư mục trên máy chủ lưu trữ dành riêng cho các hình ảnh ISO.
sudo mkdir /kvm/isosĐể cấu hình pool lưu trữ, đăng nhập vào WebvirtCloud và đi đến tab Computes > Node > Storages. Nhấn vào nút “+” để tạo một pool lưu trữ mới và chọn “ISO”.
Sau khi nó được tạo, tải lại trang và chuyển sang tab «Storages» để kiểm tra trạng thái của pool.
3. Tạo Bộ Lưu Trữ NFS
Hệ thống tệp mạng (NFS) là một giao thức hệ thống tệp phân tán. Nó cho phép bạn chia sẻ thư mục qua mạng và các hệ thống khác có thể truy cập từ mạng.
Chuẩn bị máy chủ NFS
Máy chủ NFS sử dụng có thể là phần mềm chạy trên các thiết bị phần cứng như NAS – Synology, QNAP, TrueNAS hoặc Asustor.
Đây là một cấu hình mẫu trên máy chủ NFS (với quyền truy cập hạn chế cho các địa chỉ IP nguồn)
/nfs/kvm 172.20.30.0/24(rw,sync,no_subtree_check)Truy cập mở (không được khuyến nghị):
/nfs/kvm *(rw,sync,no_root_squash,no_subtree_check)Nếu bạn điều chỉnh file xuất khẩu, hãy áp dụng các thay đổi và kiểm tra xem chia sẻ NFS có sẵn không.
sudo exportfs -a
sudo exportfs -rvChuẩn bị máy chủ KVM
Đầu tiên, hãy đảm bảo rằng các tiện ích NFS đã được cài đặt trên máy khách của bạn.
# RHEL-based systems
sudo yum install -y nfs-utils
# Debian-based systems (like Ubuntu)
sudo apt update
sudo apt install -y nfs-commonTạo thư mục gắn kết NFS
sudo mkdir -p /mnt/nfsThêm Bể Lưu trữ NFS
Để thêm một Hồ bộ nhớ NFS mới, hãy đi tới „Storages” > „+” > „NETFS” > và điền các thông tin cần thiết.
Nơi:
- Loại: Loại bể lưu trữ.
netfs, chỉ hệ thống tệp mạng. - Tên: Tên được gán cho nhóm lưu trữ mới
- Hostname: Địa chỉ IP hoặc tên máy chủ NFS
- Đường dẫn từ xa: Đường dẫn thư mục trên máy chủ NFS được chia sẻ
- Định dạng: Các tùy chọn là auto, nfs, glusterfs, cifs
- Đường dẫn cục bộ: Đường dẫn thư mục cục bộ nơi chia sẻ NFS sẽ được gắn
Khi đã hoàn tất cài đặt, nhấp vào “Tạo” để tạo nhóm lưu trữ. Tải lại trang sau khi thêm xong để thấy nhóm lưu trữ mới đang hoạt động.
Trên máy chủ KVM, bạn có thể xác nhận nếu
$ df -hT
...
nfs.cloudspinx.com:/nfs/kvm nfs4 79G 4.7G 75G 6% /mnt/nfs4. Tạo Bộ nhớ Lưu trữ LVM
Trước khi cấu hình nhóm lưu trữ LVM trong WebVirtCloud, bạn cần thiết lập LVM trên máy chủ của mình.
Hãy đảm bảo rằng các tiện ích LVM đã được cài đặt trên máy chủ của bạn.
# RHEL-based systems
sudo yum install -y lvm2
# Debian-based systems
sudo apt update && sudo apt install -y lvm2Giả sử bạn có một ổ đĩa /dev/sdc trên máy chủ mà bạn muốn cấu hình thành phân vùng logic LVM:
$ lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 252:32 0 100G 0 diskKhi tạo một bể lưu trữ loại LVM, bạn sẽ cần cung cấp tên và chỉ định thiết bị mà nó sẽ sử dụng.
Tải lại trang kho sau khi thêm để xác nhận rằng việc thêm đã thành công.
Nếu bạn đăng nhập vào máy chủ KVM, bạn sẽ nhận thấy một ổ vật lý mới và một nhóm ổ xuất hiện.
$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/sdc lvmpool lvm2 a-- <100.00g <100.00g
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
lvmpool 1 0 0 wz--n- <100.00g <100.00g5. Tạo Pool Lưu trữ Ceph
Cụm Ceph nên được thiết lập đúng cách và có thể truy cập trước khi thêm vùng lưu trữ Ceph.
- Kiểm tra tình trạng sức khỏe của cụm Ceph
- Đảm bảo rằng khóa xác thực Ceph có sẵn trên máy chủ và instance WebVirtCloud
- Bạn có thể sao chép tệp keyring từ cụm Ceph của mình sang các máy chủ KVM và WebVirtCloud.
Để thêm pool lưu trữ Ceph, chọn loại là rbd, đặt tên cho nó, người dùng, pool Ceph và máy chủ, cùng với các thông tin bảo mật.
Các bí mật xác thực có thể được thêm vào tab “Secrets”. Trong bài viết tiếp theo, chúng tôi sẽ trình bày cách bạn có thể tạo một phiên bản từ bảng điều khiển WebVirtCloud.














