组件介绍
- qemu-kvm #仿真工具,为kvm提供底层系统设备仿真支持
- libvirt-daemon #是libvirtd守护进程,管理虚拟机
- libvirt-client #libvirt-client客户端软件提供客户端管理命令(virsh)
- libvirt-daemon-driver-qemu #libvirtd连接qemu的驱动
查询是否支持虚拟化
##查询是否支持虚拟化,/proc/cpuinfo记录了cpu的信息,以及指令集的名称
grep -Po "vmx|svm" /proc/cpuinfo
- 查看windows是否支持虚拟化指令集,可以双击下载好的securable程序,结果如图所示:
安装相关软件包
##安装qemu-kvm仿真工具,为kvm提供底层系统设备仿真支持
yum install -y qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client
##启动libirtd工具
systemctl enable --now libvirtd
##载入模块br_netfilte模块,用于网络过滤功能
modprobe br_netfilter #载入模块之后,有可能需要调整内核参数:sysctl
创建虚拟磁盘
- qcow2格式支持弹性空间,后端盘服用,快照,压缩、raw格式原始格式,原始大小。
- 官方最小化硬盘链接:https://caiyun.139.com/m/i?165CdAHZ8Rxe5
提取码:YZgu
复制内容打开移动云盘PC客户端,操作更方便哦
##拷贝官方虚拟硬盘镜像到虚拟机默认路径
scp cirros.qcow2 /var/lib/libvirt/images #cirros.qcow2官方最小硬盘
##进入虚拟机默认硬盘目录
cd /var/lib/libvirt/images/
##以官方硬盘为基础创建新的虚拟硬盘(b=指定后端盘)(-F=后端盘格式)(-f=硬盘格式)
qemu-img create -b cirros.qcow2 -F qcow2 -f qcow2 vmhost.img 20G
##查看虚拟硬盘详细信息
qemu-img info vmhost.img
创建虚拟机配置文件创建网桥
##安装ebtables,iptables对网络数据包进行控制,dnsmasq是DHCP和DNS服务程序,管理局域网上的IP地址和DNS查询
yum install -y ebtables iptables dnsmasq
##重启libvirtd服务
systemctl restart libvirtd
##编写xml配置文件
vim /etc/libvirt/qemu/networks/vbr.xml
<network>
<name>vbr</name> #网桥的名字,关闭开启等管理网桥
<forward mode='nat'/> #网桥的工作模式
<bridge name='vbr' stp='on' delay='0'/> #这个name是ifconfig看到的网卡名,在linux中网桥(交换机)是显示不出来的,以网卡的形式存在
<ip address='192.168.100.254' netmask='255.255.255.0'> #网桥的IP,其实是虚拟机的网关,不同的网段通信需要做转发
<dhcp>
<range start='192.168.100.128' end='192.168.100.200'/>
</dhcp>
</ip>
</network>
##net-define根据xml文件创建虚拟网络
virsh net-define /etc/libvirt/qemu/networks/vbr.xml
##列出虚拟网络
virsh net-list --all
##启动
virsh net-start vbr
##开机自启
virsh net-autostart vbr
##验证查询是否出现vbr网卡
ifconfig
虚拟机指令
##列出已经启动的虚拟机
virsh list
##列出所有的虚拟机
virsh list --all
##启动虚拟机
virsh start vmhost
##连接虚拟机
virsh console vmhost
##关闭虚拟机
virsh shutdown vmhost
##切换root用户
sudo -i
##登出
exit
##退出终端
ctrl + ]
常用管理命令
命令 | 说明 |
virsh list --all | 列出所有虚拟机 |
virsh start/shutdown/reboot | 启动/关闭/重启虚拟机 |
virsh destroy | 强制关闭虚拟机 |
virsh define/undefine | 创建/删除虚拟机 |
virsh console | 连接虚拟机的 console |
virsh edit | 修改虚拟机的配置 |
virsh autostart | 设置虚拟机开机自启 |
virsh dominfo | 查看虚拟机摘要信息 |
virsh domiflist | 查看虚拟机网卡信息 |
virsh domblklist | 查看虚拟机硬盘信息 |
virsh net-list --all | 列出虚拟网络 |
virsh net-start | 启动虚拟交换机 |
virsh net-destroy | 强制停止虚拟交换机 |
virsh net-define | 根据xml文件创建虚拟网络 |
virsh net-undefine | 删除一个虚拟网络设备 |
virsh net-edit | 修改虚拟交换机的配置 |
virsh net-autostart | 设置开机自启动 |