fedora虚拟化
系统要求
KVM 要求 CPU 有虚拟化扩展功能,近些年生产的很多 CPU 都具有该类扩展功能。这些扩展功能被称为 Intel VT 或 AMD-V 。使用如下命令检查您的 CPU 是否支持虚拟化:
1
| egrep '^flags.*(vmx|svm)' /proc/cpuinfo
|
如果没有任何输出,则说明您的系统不支持相关扩展功能。您仍然可以使用 QEMU/KVM ,但是虚拟将只能使用软件虚拟化(想当慢)。
安装虚拟化软件包
1
| su -c "yum install @virtualization"
|
该命令将安装 qemu-kvm、python-virtinst、qemu、virt-manager、virt-viewer 以及所有需要的依赖软件包。
su -c “systemctl start libvirtd”
确认所有 kvm 内核模块已正常加载:
1 2 3 4
| $ lsmod | grep kvm kvm_intel 471040 0 kvm 1486848 1 kvm_intel irqbypass 12288 1 kvm
|
如果该命令没有列出 kvm_intel 或 kvm_amd, 则说明 KVM 没有正常配置。确保系统正常使用 KVM 以解决问题。
例如:
重载内核module,if you know,you know.
卸载kvm模块
1 2 3 4 5
| sudo modprobe -r kvm_intel kvm
sudo modprobe -r kvm_amd kvm
|
重新加载 KVM 模块
1 2 3 4
| sudo modprobe kvm sudo modprobe kvm_intel
sudo modprobe kvm_amd
|
如出现错误自行查看内核信息
1 2
| demsg |grep -i kvm jounalctl -k |grep -i kvm
|
如果需要嵌套虚拟化,载入kvm虚拟化module时可以加个参数
1 2 3 4 5
| sudo modprobe kvm_intel nested=1
sudo modprobe kvm_amd nested=1
|
如果需要永久生效,用一下命令创建修改module载入的默认参数的配置文件
1 2 3 4 5
| echo "options kvm_intel nested=1" | sudo tee /etc/modprobe.d/kvm.conf
echo "options kvm_amd nested=1" | sudo tee /etc/modprobe.d/kvm.conf
|
网络支持
配置默认的NAT,查看是否存在default
Libvirt 是 Linux 上管理 KVM/QEMU 等虚拟机的通用工具。为了让虚拟机能上网,它默认自带了一个基于 NAT(网络地址转换)的虚拟网络,名字就叫 “default”。能让你的虚拟机通过宿主机(运行虚拟机的电脑)的网络上网,但外界无法直接访问虚拟
1
| sudo virsh net-list --all
|
如果不存在,使用默认的XML重载
1 2 3 4 5 6 7 8
| sudo virsh net-define /usr/share/libvirt/networks/default.xml
sudo virsh net-autostart default
sudo virsh net-start default
|
安装创建guest
直接virt-manager图形化安装
命令行安装
1
| su -c "/usr/bin/virt-install --prompt"
|
虚拟机管理
启动虚拟机
例如启动我的rhel9.0
1
| sudo virsh start rhel9.0
|
显示已运行的虚拟机
显示所有包括未运行的虚拟机
关闭虚拟机
1
| sudo virsh shotdown rhel9.0
|
强制关闭虚拟机
1
| sudo virsh destroy rhel9.0
|
将机器快照保存到文件
1
| sudo virsh save rhel9.0 my-snapshot-file
|
导出机器的xml配置文件输出到终端
拍摄管理快照
拍摄快照
1
| sudo virsh snapshot-create rhel9.0
|
拍摄快照名为test
1
| sudo virsh snapshot-create-as test rhel9.0
|
显示虚拟机已有快照
1
| sudo virsh snapshot-list rhel9.0
|
删除名为test快照
1
| sudo virsh snapshot-delete rhel9.0 test
|
恢复到指定快照
1
| sudo virsh snapshot-revert rhel9.0 1757256035
|
查看虚拟机ip信息
1
| sudo virsh domifaddr rhel9.0
|
console 连接虚拟机
1
| sudo virsh console rhel9.0
|
按回车如果没反应,则系统没启用该功能,我这边就不配置了,需要的可以自行上网配置