libvirt 安装以及远程调用

libvirt 安装以及远程调用

April 272 2023-04-18

libvirt 是个嘛?

Libvirt是一个用于管理虚拟化平台的开源工具集,它提供了一组API和工具,可以让用户在不同的虚拟化平台上管理虚拟机。Libvirt支持多种虚拟化技术,包括KVM、Xen、QEMU、LXC等,它可以让用户通过统一的接口来管理这些虚拟化平台上的虚拟机,从而简化了虚拟化环境的管理和维护。Libvirt还提供了一些高级功能,如虚拟机快照、虚拟机迁移、虚拟机监控等,这些功能可以帮助用户更好地管理虚拟化环境。

libguestfs 这又是嘛?

Libguestfs是一个用于管理虚拟机镜像的库,它提供了一组工具和API,可以让用户在不启动虚拟机的情况下访问和修改虚拟机镜像中的文件系统。它支持多种虚拟机镜像格式,包括qcow2、vmdk、vdi、raw等。使用Libguestfs,用户可以轻松地执行各种任务,如文件系统检查、文件复制、安装软件包等,而无需启动虚拟机。

简单来说,就是一个管理虚拟机镜像的工具,我最常用的就是命令就是virt-copy-in, 其他的还用好多命令
如下

  1. guestfish:用于访问虚拟机镜像的文件系统,可以执行文件操作、查看文件内容等。

    用法:guestfish -i 镜像文件

  2. virt-cat:用于查看虚拟机镜像中的文件内容。

    用法:virt-cat 镜像文件 文件路径

  3. virt-copy-in:用于将本地文件复制到虚拟机镜像中。

    用法:virt-copy-in 本地文件 镜像文件 目标路径

  4. virt-copy-out:用于将虚拟机镜像中的文件复制到本地。

    用法:virt-copy-out 镜像文件 文件路径 目标路径

  5. virt-edit:用于编辑虚拟机镜像中的文件。

    用法:virt-edit 镜像文件 文件路径

  6. virt-filesystems:用于列出虚拟机镜像中的文件系统。

    用法:virt-filesystems -a 镜像文件

  7. virt-inspector:用于查看虚拟机镜像的元数据信息。

    用法:virt-inspector 镜像文件

  8. virt-rescue:用于在故障虚拟机上执行救援操作。

    用法:virt-rescue 镜像文件

以上是Libguestfs的一些常用命令及其用法,还有其他一些命令和选项可以通过man手册或官方文档进行查看。

安装

yum install -y centos-release-qemu-ev.noarch
yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64

# cloud-utils、 bridge-utils.x86_64 好像是不需要的,手头上没有测试机器,只能暂时写着, 后面有机会验证一下。
# libvirt* 打头的包内置用于管理虚拟化平台的工具
yum install -y libvirt libvirt-client cloud-utils virt-install  openssh-askpass qemu-img.x86_64 bridge-utils.x86_64 libguestfs-tools libguestfs-winsupport

# 注意: libguestfs-tools 只支持Linux, 想要支持windows, 必须安装ibguestfs-winsupport, 

systemctl enable libvirtd

vim /etc/libvirt/libvirtd.conf

listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
listen_addr = "0.0.0.0"
auth_tcp = "none"

vim /etc/sysconfig/libvirtd

LIBVIRTD_ARGS="--listen"

重新启动libvirtd

systemctl stop firewalld
systemctl restart  libvirtd