飞牛安装kvm

1. 安装依赖

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

2. 安装cockpit 以及虚拟机管理软件

. /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit cockpit-machines

3. 启动cockpit

sudo systemctl start cockpit

4. 访问cockpit

https://ip:9090

5. cockpit官网指南

https://cockpit-project.org/guide/latest/guide

6. 关闭Apparmor对Libvirt安全限制

Libvirt在执行和访问系统文件的时候会被Apparmor阻挡,因此为了确保Libvirt始终有必须的权限,必须禁用apparmor:

ln -s /etc/apparmor.d/usr.sbin.libvirtd  /etc/apparmor.d/disable/
apparmor_parser -R  /etc/apparmor.d/usr.sbin.libvirtd

执行完成后重启设备

7. 账号密码

飞牛的账号密码

8. 再cockpit操作界面上创建Bridge网络,使虚拟机通过bridge0桥接到物理网络

9. 解决虚拟机网桥不通的问题

9.1 添加规则

nft add rule ip filter FORWARD iifname "bridge0" accept
nft add rule ip filter FORWARD oifname "bridge0" accept

9.2 保存规则

sudo nft list ruleset > /etc/nftables.conf

9.3 重启、检查错误、设置开机启动

# 设置开机启动
sudo systemctl enable nftables
# 重启
sudo systemctl restart nftables

这里说到错误,如果你装了其他的shell代理软件保存规则时可能会报错
去cockpit里看错误,然后哪一行就自己注释掉

10. 解决虚拟机开机无法自动启动的问题

sudo  vi /lib/systemd/system/libvirtd.service

在 Service里找到 ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS 这行

修改为改为:
ExecStart=/bin/bash -c 'while [ ! -d /vol1/1000/vm ]; do sleep 5; done; /usr/sbin/libvirtd $LIBVIRTD_ARGS'

/vol1/1000/vm 为虚拟机的路径

# 重启
sudo systemctl restart libvirtd

8.isotreos安装教程

8.1 进入虚拟机管理界面新增存储池


存储池路径选择为istoreos存放的路径,别的不用改,新增后注意要激活

8.2 新增虚拟机

按照图上所述来就行

存储:刚刚新增的存储池名称
卷:就是你的镜像

修改你的网络并启动

根据自己需求来不懂的就看官方的wiki