libguestfs: acesse e modifique imagens de disco de máquinas virtuais

libguestfs

Talvez muitos não saibam libguestfs, uma biblioteca escrita em C e um conjunto de ferramentas que permitem acessar e modificar as imagens de disco virtual usadas em máquinas virtuais. Além disso, você poderá trabalhar com várias plataformas de virtualização baseadas em KVM Linux e as imagens de VM serão montadas diretamente no host usando o módulo FUSE e as ferramentas guestmount/guestunmount.

Outra coisa legal sobre libguestfs é que pode acessar quase qualquer FS, ou sistema de arquivos, e isso inclui todo o Linux (ext2, ext3, ext4, XFS, btrfs,…), MS Windows (VFAT e NTFS), macOS (HFS e HFS+), bem como BSD e até gerenciamento de volume LVM2. Tudo isso em MBR e GPT.

Quanto a tipos de discos virtuais que você pode acessar, pode ser:

  • qcow2
  • VirtualBox.vdi
  • VMWare.vmdk
  • Hyper-V .vhd e .vhdx

Você também pode acessar e modificar arquivos, dispositivos locais, imagens ISO, cartões de memória SD ou fazê-lo remotamente via protocolos como:

  • FTP
  • HTTP
  • SSH
  • iSCSI
  • NBD
  • GlusterFS
  • ceph
  • Cão de guarda
  • etc.

Além disso, libguestfs não precisa de privilégios, o que também é interessante. Graças a este projeto, você terá várias ferramentas de linha de comando como guestfish, guestmount, guestunmount, virt-rescue para corrigir VMs não inicializáveis, virt-cat, virt-tar, etc.

libguestfs também atua como uma API para poder vincular programas de gerenciamento em várias linguagens de programação:

  • C
  • C + +
  • Perl
  • Python
  • Ruby
  • Java
  • PHP
  • Haskell
  • Erlang
  • Lua
  • C#
  • etc.

Você também pode use-o a partir de scripts, o que é muito prático na administração de sistemas. Além disso, este projeto de Richard Jones pode ser instalado a partir dos repositórios de muitas das distribuições conhecidas desta maneira:

  • Debian / Ubuntu e derivados
sudo apt install libguestfs-tools

  • Fedora/CentOS/RHEL e derivados
sudo dnf install libguestfs

  • Arch Linux e derivados
sudo pacman -Sy libguestfs

Aliás, se você está usando libvirt e você tentar invocar qualquer um dos utilitários ou ferramentas incluídos no libguestfs, você receberá um erro como esse:

libguestfs: error: could not create appliance through libvirt.

La solução é tão simples quanto exportar uma variável como "direta" assim:

export LIBGUESTFS_BACKEND=direct

Mais informação - Website oficial


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.