安装libvirt

在计算节点(x86-compute和arm-compute)执行以下操作。使用的是libvirt-5.6版本。

  1. 关闭SSL校验。

    1. 打开文件。
      1
      vi /etc/yum.conf
      
    2. 按“i”进入编辑模式,将如下内容添加到文件中。
      1
      sslverify=false
      
    1. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  2. 安装edk2。

    1
    wget https://www.kraxel.org/repos/firmware.repo --no-check-certificate -O /etc/yum.repos.d/firmware.repo
    
    x86-compute计算节点:
    1
    yum -y install edk2.git.x86_64
    
    arm-compute计算节点:
    1
    yum -y install edk2.git-aarch64
    

  3. 安装依赖包。

    1
    yum -y install gnutls-devel libnl-devel libxml2-devel yajl-devel device-mapper-devel libpciaccess-devel
    

  4. 通过源码编译安装方式安装libvirt-5.6.0。

    1. 下载libvirt源码。
      1
      wget https://libvirt.org/sources/libvirt-5.6.0-1.fc30.src.rpm --no-check-certificate -O /root/libvirt-5.6.0-1.fc30.src.rpm
      
    2. 编译libvirt源码。
      1
      2
      3
      4
      5
      cd /root/
      rpm -i libvirt-5.6.0-1.fc30.src.rpm
      yum -y install gcc git rpm-build iscsi-initiator-utils libxml2-devel readline-devel ncurses-devel libtasn1-devel gnutls-devel libattr-devel libblkid-devel augeas systemd-devel libpciaccess-devel yajl-devel sanlock-devel libpcap-devel libnl3-devel libselinux-devel dnsmasq radvd cyrus-sasl-devel libacl-devel parted-devel device-mapper-devel xfsprogs-devel librados2-devel librbd1-devel glusterfs-api-devel glusterfs-devel numactl-devel libcap-ng-devel fuse-devel netcf-devel libcurl-devel audit-libs-devel systemtap-sdt-devel nfs-utils dbus-devel scrub numad bash-completion qemu-img
      cd ~/rpmbuild/SPECS/
      rpmbuild -bb libvirt.spec
      

      如果编译过程中提示如下信息:

      "gcc ../src/libvirt_probes.o.dtrace-temp.c" failed
      Usage /usr/bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o <File>]

      请修改文件“ /bin/dtrace”,找到第308行,将keep_temps = False修改为keep_temps = True

    3. 安装libvirt。
      • ARM计算节点:
        1
        yum install -y /root/rpmbuild/RPMS/aarch64/*.rpm
        
      • x86计算节点:
        1
        yum install -y /root/rpmbuild/RPMS/x86_64/*.rpm
        
    4. 重启libvirt服务。
      1
      systemctl restart libvirtd
      

  5. 在ARM计算节点修改配置文件“/etc/libvirt/qemu.conf”

    1. 打开文件。
      vi /etc/libvirt/qemu.conf
    2. 按“i”进入编辑模式,在文件中添加AAVMF内容。
      1
      nvram = ["/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd","/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw"]
      

    3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。

  6. 检验libvirt和QEMU版本。

    1
    virsh version
    

    返回如下信息,其中libvirt版本为5.6.0,如果安装了QEMU,则QEMU应该为4.0.0,否则为默认版本2.12.0。