libguestfs: truy cập và sửa đổi ảnh đĩa của máy ảo

libguestfs

Có lẽ không nhiều người biết libguestfs, một thư viện được viết bằng C và một bộ công cụ cho phép bạn truy cập và sửa đổi hình ảnh đĩa ảo được sử dụng trong máy ảo. Ngoài ra, bạn sẽ có thể làm việc với một số nền tảng ảo hóa dựa trên Linux KVM và hình ảnh VM sẽ được gắn trực tiếp trên máy chủ lưu trữ bằng cách sử dụng mô-đun FUSE và các công cụ guestmount / guestunmount.

Một điều thú vị khác về libguestfs là có thể truy cập hầu hết mọi FShoặc hệ thống tệp và bao gồm tất cả Linux (ext2, ext3, ext4, XFS, btrfs,…), MS Windows (VFAT và NTFS), macOS (HFS và HFS +), cũng như BSD và thậm chí cả quản lý khối lượng LVM2. Tất cả điều này trong cả MBR và GPT.

Đối với các loại đĩa ảo mà bạn có thể truy cập, có thể là:

  • qcow2
  • VirtualBox .vdi
  • VMware .vmdk
  • Hyper-V .vhd và .vhdx

Bạn cũng có thể truy cập và sửa đổi các tệp, thiết bị cục bộ, hình ảnh ISO, thẻ nhớ SD hoặc thực hiện điều đó từ xa thông qua giao thức như:

  • FTP
  • HTTP
  • SSH
  • iSCSI
  • NDB
  • GlusterFS
  • ceph
  • Chó chăn cừu
  • và vv

Hơn nữa, libguestfs không cần đặc quyền, điều đó cũng thú vị. Nhờ dự án này, bạn sẽ có nhiều công cụ dòng lệnh khác nhau như guestfish, guestmount, guestunmount, Virt-Rescue để sửa các máy ảo không thể khởi động, Virt-cat, Virt-tar, v.v.

libguestfs cũng hoạt động như một API để có thể liên kết các chương trình quản lý bằng nhiều ngôn ngữ lập trình khác nhau:

  • C
  • C + +
  • Perl
  • Python
  • hồng ngọc
  • Java
  • PHP
  • Haskell
  • nhị lang
  • lấy
  • C#
  • và vv

Bạn cũng có thể sử dụng nó từ các tập lệnh, điều này rất thiết thực khi quản trị hệ thống. Ngoài ra, dự án này của Richard Jones có thể được cài đặt từ kho của nhiều bản phân phối nổi tiếng theo cách này:

  • Debian / Ubuntu và các dẫn xuất
sudo apt install libguestfs-tools

  • Fedora / CentOS / RHEL và các dẫn xuất
sudo dnf install libguestfs

  • Arch Linux và các dẫn xuất
sudo pacman -Sy libguestfs

Nhân tiện, nếu bạn sử dụng libvirt và bạn cố gắng gọi bất kỳ tiện ích hoặc công cụ nào có trong libguestfs, bạn sẽ nhận được lôi như thế này:

libguestfs: error: could not create appliance through libvirt.

La giải pháp nó đơn giản như xuất một biến dưới dạng "trực tiếp" như vậy:

export LIBGUESTFS_BACKEND=direct

Thêm thông tin - Trang web chính thức


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.