如何在CentOS上安装KVM
KVM(基于内核的虚拟机)是一种开源的、事实上的标准虚拟化解决方案,与Linux紧密集成。它是一个可加载的内核模块,可创建一个用于运行虚拟机(vm)的虚拟操作平台。
在KVM下,每个VM虚拟机都是一个由内核调度和管理的Linux进程,并且具有专用的虚拟化硬件(如CPU、网卡、磁盘等)。它还支持嵌套虚拟化,允许在另一个VM中运行VM。
检查硬件是否支持虚拟化
# grep -e 'vmx' /proc/cpuinfo #Intel CPU # grep -e 'svm' /proc/cpuinfo #AMD CPU
如果没显示,需要重启,进入bios。查看是否已开启Intel VT or AMD-V(虚拟化技术)
确认KVM模块已加载到内核中
# lsmod | grep kvm
在CentOS 8上安装cockpit Web控制台
这里我们将使用cockpit Web控制台在CentOS 8和RHEL 8 Linux上安装KVM虚拟化,创建和管理虚拟机。
cockpit是一个易于使用、集成和可扩展的基于web的界面,用于在web浏览器中管理Linux服务器。通过它能够配置网络、管理存储、创建vm和检查日志等。
cockpit是预先安装的,并在新安装的CentOS 8和RHEL 8系统上启用。
如果您没有安装它,使用下面的dnf命令进行安装。其中cockpit-machines扩展是用来管理基于Libvirt的虚拟机的。
使用阿里云镜像,速度更快
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo # yum makecache
# dnf install cockpit cockpit-machines
启动cockpit socket服务
# systemctl start cockpit.socket # systemctl enable cockpit.socket # systemctl status cockpit.socket
配置防火墙
# firewall-cmd --add-service=cockpit --permanent # firewall-cmd --reload
使用浏览器打开 https://服务器IP:9090/
。 (不能使用老IE浏览器打开)
用户名和密码和系统的一样。
点击左侧的终端,打开一个终端。
在CentOS 8安装KVM虚拟化
安装虚拟化模块和其他虚拟化包
virt-install包提供了从命令行界面安装虚拟机的工具,virt-viewer用于查看虚拟机。
# dnf module install virt # dnf install virt-install virt-viewer
运行virt-host-validate命令来验证主机是否设置为运行libvirt管理程序驱动程序。
# virt-host-validate
启动libvirtd守护进程(libvirtd),并使它能够在每次系统启动时自动启动。然后检查它的状态。
# systemctl start libvirtd.service # systemctl enable libvirtd.service # systemctl status libvirtd.service
创建网桥
创建一个网桥(虚拟网络交换机),将虚拟机集成到与主机相同的网络中。默认情况下,启动libvirtd守护进程后,它将激活默认的网络接口virbr0,该接口表示在NAT模式下运行的虚拟网络交换机。
在这里,我们将以桥接的模式创建一个网络接口br0。它将运行从主机网络访问虚拟机。
从cockpit主界面,点击网络,然后点击添加网桥。
在弹出的窗口中,输入网桥的名称,端口选择以太网接口ens32。然后单击应用。
可以看到新创建的网桥。而几秒钟后,以太网接口ens32被禁用了。
创建和管理KVM虚拟机
从cockpit主界面,点击虚拟机选项。然后点击创建虚拟机。
将弹出一个创建新虚拟机的窗口。
输入连接
虚拟机名
安装源类型
安装源
存储
大小
内存等虚拟机配置。
在选择安装源后会自动选择操作系统厂商和操作系统。
选上立即启动VM的选项,然后单击创建。
现在就是开始虚拟机上的操作系统安装。
安装完成后,重新启动VM。
然后转到Disks选项卡,在VMs磁盘下移除cdrom。然后单击Run启动虚拟机。
现在在右边的控制台下,可以登录到虚拟机的操作系统了。