飞牛安装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