飞牛安装kvm
2024-11-20
3 min read
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
