安装KVM

1、KVM 相关工具包介绍

  • qemu-kvm:为kvm提供底层仿真支持
  • libvirt-daemon:libvirtd守护进程,管理虚拟机
  • libvirt-client:用户端软件,提供客户端管理命令
  • libvirt-daemon-driver-qemu:libvirtd连接qemu的驱动
  • libvirt:使用最多的KVM虚拟化管理工具和应用程序接口,即通过libvirt调用KVM创建虚拟机,libvirt是KVM通用的访问API,其不但能管理KVM,还能管理VMware、Xen、Hyper-V、virtualBox等虚拟化方案。
  • virt-manager:图形界面管理工具,其底层也是调用libvirt API来完成对虚拟机的操作,包括虚拟机的创建、删除、启动、停止以及一些简单的监控功能等。
  • virt-install:虚拟机命令行安装工具
  • virsh:命令行工具是基于 libvirt API 创建的命令行工具,它可以作为图形化的 virt-manager 应用的备选工具。virsh 命令可以被用来创建虚拟化任务管理脚本,如安装、启动和停止虚拟机
  • virt-viewer:通过 VNC 和 SPICE 协议显示虚拟机器图形控制台的最小工具。该工具在其同名软件包中:virtviewer
  • cockpit:CentOS8 专门提供的基于Web的虚拟机管理界面

2、libvirt 包功能

libvirt 程序包是一个与虚拟机监控程序相独立的虚拟化应用程序接口,它可以与操作系统的一系列虚拟化性能进行交互
libvirt 程序包提供:

  • 一个稳定的通用层来安全地管理主机上的虚拟机。
  • 一个管理本地系统和连网主机的通用接口。

在虚拟机监控程序支持的情况下,部署、创建、修改、监测、控制、迁移以及停止虚拟机操作都需要这些API。尽管 libvirt 可同时访问多个主机,但 API 只限于单节点操作
libvirt 程序包被设计为用来构建高级管理工具和应用程序,例如 virt-manager 与 virsh 命令行管理工具。libvirt 主要的功能是管理单节点主机,并提供 API 来列举、监测和使用管理节点上的可用资源,其中包括CPU、内存、储存、网络和非一致性内存访问(NUMA)分区。管理工具可以位于独立于主机的物理机上,并通过安全协议和主机进行交流

图片[1]-安装KVM-李佳程的个人主页

3、安装KVM相关包

使用虚拟化,需要至少 qemu-kvm 和 qemu-img(安装qemu-kvm会自动安装) 软件包
建议安装:yum install -y qemu-kvm libvirt virt-manager virt-install

[root@kvm ~]# yum install -y qemu-kvm libvirt virt-manager virt-install
[root@kvm ~]# systemctl start --now libvirtd

4、图形化工具 virt-manager

使用Xmanager – Passive工具

[root@kvm ~]# export DISPLAY=192.168.1.1:0.0
[root@kvm ~]# virt-manager
[root@kvm ~]# libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
图片[2]-安装KVM-李佳程的个人主页

5、默认网络配置

安装完虚拟工具后,会自动生成一个 virbr0 网卡,类似于Vmware workstation 生成的VMnet8 网卡,充当虚拟机的 NAT 网卡

[root@kvm ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:33:e3:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.11/24 brd 192.168.1.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe33:e325/64 scope link
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:64:e9:a8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:64:e9:a8 brd ff:ff:ff:ff:ff:ff
[root@kvm ~]# grep -R 192.168.122.1 /etc/libvirt/*
/etc/libvirt/qemu/networks/autostart/default.xml:  <ip address='192.168.122.1' netmask='255.255.255.0'>
/etc/libvirt/qemu/networks/default.xml:  <ip address='192.168.122.1' netmask='255.255.255.0'>
[root@kvm ~]# ip a show virbr0
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:64:e9:a8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
[root@kvm ~]# cat /etc/libvirt/qemu/networks/default.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh net-edit default
or other application using the libvirt API.
-->

<network>
  <name>default</name>
  <uuid>f8456f2f-628e-4593-8a0e-e41eaeba6449</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:64:e9:a8'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

6、准备安装系统的ISO相关文件

[root@kvm ~]# mkdir -pv /data/isos/
[root@kvm isos]# ll
total 4601856
-rw-r--r-- 1 root root 4712300544 Dec 17 12:50 CentOS-7-x86_64-DVD-2009.iso

7、使用 virt-manager 创建虚拟机

virt-manager 是一个图形化虚拟机管理工具,方便管理和查看虚拟机

注意:此方式创建虚拟机的磁盘空间为立即分配,所以不要分太大!

图片[3]-安装KVM-李佳程的个人主页
图片[4]-安装KVM-李佳程的个人主页
图片[5]-安装KVM-李佳程的个人主页
图片[6]-安装KVM-李佳程的个人主页
图片[7]-安装KVM-李佳程的个人主页
图片[8]-安装KVM-李佳程的个人主页
图片[9]-安装KVM-李佳程的个人主页
图片[10]-安装KVM-李佳程的个人主页
图片[11]-安装KVM-李佳程的个人主页

其余安装步骤和普通安装一样

图片[12]-安装KVM-李佳程的个人主页

# 生成的虚拟机相关文件
[root@kvm ~]# ll -h /var/lib/libvirt/images/rhel7.9.qcow2
-rw------- 1 qemu qemu 11G Dec 17 13:06 /var/lib/libvirt/images/rhel7.9.qcow2
[root@kvm ~]# ll /etc/libvirt/qemu/
networks/    rhel7.9.xml
[root@kvm ~]# ll /etc/libvirt/qemu/rhel7.9.xml
-rw------- 1 root root 4755 Dec 17 12:56 /etc/libvirt/qemu/rhel7.9.xml

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享