[ad_1]
KVM là một công nghệ ảo hóa được tích hợp vào nhân Linux. Bạn có thể tạo máy ảo và tương tác với KVM bằng các công cụ như virsh, Virt-manager và GNOME Boxes.
Hết dung lượng ổ đĩa là một trong những vấn đề phổ biến nhất của khách máy ảo. Bạn có thể đã bắt đầu với một đĩa nhỏ có chủ đích trong khi bạn thử nghiệm một máy ảo mới. Theo thời gian, bạn tích lũy các tệp cho đến khi đĩa ảo gần đầy. Đây là cách thay đổi kích thước đĩa của bạn tại chỗ mà không cần phải sao chép tệp vào một ổ đĩa lớn hơn riêng biệt.
Tắt máy ảo của bạn
Bắt đầu bằng cách tắt máy ảo của bạn. Bạn có thể tắt trong hệ điều hành khách, sử dụng các điều khiển trong giao diện người dùng quản lý của mình hoặc bằng cách phát hành virsh shutdown
yêu cầu:
$ sudo virsh list Id Name State ------------------------------ - ubuntu22.04 running $ sudo virsh shutdown ubuntu22.04 Domain ubuntu22.04 is being shutdown
Chờ cho đến khi máy ảo tắt. Nó sẽ biến mất khỏi virsh list
đầu ra sau khi nó tắt. Bạn có thể xem chi tiết về các máy ảo không hoạt động bằng cách thêm --all
lá cờ:
$ sudo virsh list --all Id Name State ------------------------------ - ubuntu22.04 shut off
Tìm vị trí của đĩa
Tiếp theo, bạn cần xác định đường dẫn nơi đĩa VM của bạn được lưu. Mỗi máy ảo nhận được một tệp hình ảnh đĩa lưu trữ toàn bộ nội dung của hệ thống tệp của nó. Một số định dạng có thể được sử dụng bao gồm QCOW2, VDI, VMDK và VHDX.
Hầu hết các máy ảo được tạo trong môi trường KVM hiện đại sẽ có hình ảnh đĩa QCOW2 được lưu trữ bên trong /var/lib/libvirt/images
danh mục. Tên của tệp sẽ khớp với tên của máy ảo được hiển thị trong virsh list
đầu ra của lệnh.
Bạn có thể kiểm tra đường dẫn đến đĩa của máy ảo bằng cách chạy virsh domblklist
:
$ sudo virsh domblklist ubuntu22.04 Target Source ----------------------------------------------------- sdb /var/lib/libvirt/images/ubuntu22.04.qcow2
Điều này xác nhận tệp để thay đổi kích thước cho máy ảo này là /var/lib/libvirt/images/ubuntu22.04.qcow2
.
Xóa ảnh chụp nhanh máy ảo
Bạn không thể thay đổi kích thước hình ảnh đĩa có lưu trữ ảnh chụp nhanh dựa trên chúng. Bạn sẽ phải xóa ảnh chụp nhanh trước khi thực hiện thay đổi kích thước. Nếu bạn cần giữ ảnh chụp nhanh, trước tiên hãy sao chép máy ảo và sử dụng bản sao để truy cập các trạng thái được chụp nhanh. Sau đó, bạn có thể xóa các ảnh chụp nhanh khỏi máy ảo gốc và tiếp tục thao tác thay đổi kích thước của mình.
Các virsh snapshot-list
lệnh sẽ tiết lộ liệu máy ảo của bạn có bất kỳ ảnh chụp nhanh nào hay không:
$ virsh snapshot-list ubuntu22.04 Name Creation Time State --------------------------------------------------- 13-09-2022 2022-09-13 22:36:41 +0100 shutoff
Xóa chúng bằng snapshot-delete
yêu cầu. Ảnh chụp nhanh để xóa được xác định bằng cách sử dụng <vm-name> <snapshot-name>
cú pháp.
$ virsh snapshot-delete ubuntu22.04 13-09-2022
Thay đổi kích thước đĩa
Các qemu-img
lệnh bây giờ có thể được sử dụng để thay đổi kích thước đĩa. Các đối số của nó là đường dẫn đến tệp ảnh đĩa và lượng dung lượng bổ sung cần thêm vào đĩa.
$ sudo qemu-img resize /var/lib/libvirt/images/ubuntu22.04.qcow2 +16G
Các +16G
có nghĩa là đĩa sẽ lớn hơn 16 GB so với kích thước hiện tại của nó. Bạn cũng có thể sử dụng các hậu tố tiêu chuẩn khác như M cho megabyte và T cho terabyte. Bỏ qua +
ký hiệu hướng dẫn QEMU tạo kích thước đĩa cụ thể, chẳng hạn như 1T
để cung cấp 1 TB dung lượng.
Quá trình thay đổi kích thước sẽ chỉ mất vài giây. Nó sẽ không nhất thiết ảnh hưởng ngay lập tức đến tổng mức sử dụng đĩa của máy chủ lưu trữ tùy thuộc vào định dạng hình ảnh được sử dụng.
Mở rộng phân vùng của đĩa
Tiếp theo, khởi động máy ảo của bạn và sử dụng tiện ích quản lý đĩa của hệ điều hành khách để mở rộng bảng phân vùng của đĩa vào không gian trống mới được cấp phát. Nếu không có bước này, dung lượng mới của bạn sẽ không thể truy cập được vào hệ điều hành.
Của Linux resize2fs
lệnh sẽ tự động phát triển một phân vùng được chỉ định đến mức tối đa cho phép của bất kỳ không gian trống nào có sẵn:
$ sudo resize2fs /dev/sda
Tìm thiết bị phù hợp để nhắm mục tiêu (/dev/sda
trong lệnh trên) bằng cách chạy df -h
và tìm kiếm hệ thống tệp được gắn vào /
:
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda 32G 17G 15G 53% /
Để thay đổi kích thước phân vùng bằng đồ thị, bạn có thể sử dụng Đĩa GParted hoặc GNOME trong máy khách Linux hoặc Quản lý đĩa cho máy Windows.
Đây là máy ảo Ubuntu 22.04 có đĩa của nó được thay đổi kích thước 16 GB trong ví dụ trên. Sau khi khởi động khách và mở GParted, dung lượng trống 16 GB hiển thị dưới dạng vùng chưa được phân bổ ở cuối đĩa.
Không gian được đưa vào sử dụng bằng cách nhấp chuột phải vào phân vùng hệ thống hiện có, chọn “Thay đổi kích thước / Di chuyển” từ trình đơn của GParted và phát triển phân vùng thành không gian trống ở cuối. Sau khi áp dụng thao tác, phân vùng có dung lượng sử dụng là 48 GB như mong đợi.
Giảm kích thước đĩa
Hình ảnh đĩa có thể được giảm kích thước nếu máy ảo của bạn được cấp phát nhiều dung lượng hơn mức cần thiết. Đây là một hoạt động tiềm ẩn nhiều rủi ro. Sao lưu đĩa của bạn trước khi bạn bắt đầu thay đổi kích thước để bạn có thể khôi phục tình hình nếu dữ liệu bị xóa:
$ sudo cp /var/lib/libvirt/images/ubuntu22.04.qcow2 ubuntu22.04.qcow2.bak
Tiếp theo bạn phải điều chỉnh bảng phân vùng từ bên trong máy ảo sao cho có sẵn dung lượng trống chưa được phân bổ trên đĩa. Ví dụ: khi bạn thay đổi kích thước đĩa 32 GB thành 20 GB, bạn nên đảm bảo có ít nhất 12 GB dung lượng trống ở cuối bảng phân vùng. Quên bước này sẽ khiến việc thay đổi kích thước xóa dữ liệu từ cuối đĩa một cách bừa bãi, làm hỏng bảng phân vùng và khiến máy ảo của bạn không thể khởi động.
Máy chạy Windows 10 này có đĩa 40 GB trong đó chỉ có 32 GB được ánh xạ thành các phân vùng. Dung lượng trống 8 GB chưa được phân bổ ở cuối ổ có nghĩa là bạn có thể giảm kích thước ổ đĩa lên đến 8 GB một cách an toàn.
Khi bạn đã chuẩn bị xong các phân vùng của mình, bạn có thể sử dụng qemu-img resize
để thực hiện giảm kích thước. Hỗ trợ cho hoạt động này phải được kích hoạt thủ công mọi lúc bằng cách bao gồm --shrink
gắn cờ bằng lệnh của bạn. Điều này cho phép bạn chỉ định kích thước đích nhỏ hơn dung lượng hiện tại của đĩa. Bạn cũng có thể -8G
cú pháp để giảm kích thước theo một số lượng xác định trước.
$ qemu-img resize --shrink /var/lib/libvirt/images/win10.qcow2 -8G
Sau khi khởi động lại máy khách, Windows xác nhận dung lượng trống 8GB đã bị xóa khỏi phần cuối của đĩa.
Bản tóm tắt
Hình ảnh đĩa được sử dụng bởi máy ảo KVM có thể được thay đổi kích thước với virsh
và qemu-img
các lệnh. Thay đổi kích thước đĩa là đáng tin cậy và sẽ hoàn thành trong vài giây nhưng nó không hoạt động khi máy ảo đã lưu trữ ảnh chụp nhanh. Bạn nên sao lưu hình ảnh đĩa của mình trước khi bắt đầu công việc.
Một số KVM GUI như GNOME Boxes bao gồm hỗ trợ thay đổi kích thước, cho phép bạn phóng to đĩa mà không cần sử dụng thiết bị đầu cuối. Tuy nhiên, bạn áp dụng thay đổi kích thước, bạn phải khởi động máy ảo khách sau đó và điều chỉnh bảng phân vùng để sử dụng không gian. Điều này cho phép hệ điều hành sử dụng dung lượng đĩa tăng lên.
[ad_2]