无法访问 KVM 内核模块 GNS3

无法访问 KVM 内核模块 GNS3

我安装了全新的 ubuntu 18.04。我尝试在 GNS3 上运行 cisco virl 映像。当我启动映像时,它抛出一个错误

“QEMU 进程已停止,返回代码:1 使用 /usr/bin/qemu-system-x86_64 -name CiscoIOSvL215.2.4055-1 -m 768M -smp cpus=1 -enable-kvm -machine smm=off -boot order=c -drive file=/home/aj/GNS3/projects/switchinstall/project-files/qemu/2a28d664-2c5b-4cb5-bca0-dc3c7b28999a/hda_disk.qcow2,if=virtio,index=0,media=disk -uuid 2a28d664-2c5b-4cb5-bca0-dc3c7b28999a -serial telnet:127.0.0.1:5001,server,nowait -monitor 启动 QEMU tcp:127.0.0.1:42319,服务器,nowait -net none -设备e1000,mac=0c:7d:d6:99:9a:00,netdev=gns3-0 -netdev 套接字,id=gns3-0,udp=127.0.0.1:10001,localaddr=127.0.0.1:10000 -设备e1000,mac=0c:7d:d6:99:9a:01,netdev=gns3-1 -netdev 套接字,id=gns3-1,udp=127.0.0.1:10003,localaddr=127.0.0.1:10002 -设备e1000,mac=0c:7d:d6:99:9a:02,netdev=gns3-2 -netdev套接字,id=gns3-2,udp=127.0.0.1:10005,localaddr=127.0.0.1:10004 -设备 e1000,mac=0c:7d:d6:99:9a:03,netdev=gns3-3 -netdev 套接字,id=gns3-3,udp=127.0.0.1:10007,localaddr=127.0.0.1:10006 -设备 e1000,mac=0c:7d:d6:99:9a:04,netdev=gns3-4 -netdev 套接字,id=gns3-4,udp=127.0.0.1:10009,localaddr=127.0.0.1:10008 -设备e1000,mac=0c:7d:d6:99:9a:05,netdev=gns3-5 -netdev 套接字,id=gns3-5,udp=127.0.0.1:10011,localaddr=127.0.0.1:10010 -device e1000,mac=0c:7d:d6:99:9a:06,netdev=gns3-6 -netdev 套接字,id=gns3-6,udp=127.0.0.1:10013,localaddr=127.0.0.1:10012 -device e1000,mac=0c:7d:d6:99:9a:07,netdev=gns3-7 -netdev套接字,id=gns3-7,udp=127.0.0.1:10015,localaddr=127.0.0.1:10014 -设备 e1000,mac=0c:7d:d6:99:9a:08,netdev=gns3-8 -netdev 套接字,id=gns3-8,udp=127.0.0.1:10017,localaddr=127.0.0.1:10016 -设备 e1000,mac=0c:7d:d6:99:9a:09,netdev=gns3-9 -netdev 套接字,id=gns3-9,udp=127.0.0.1:10019,localaddr=127.0.0.1:10018 -设备e1000,mac=0c:7d:d6:99:9a:0a,netdev=gns3-10 -netdev 套接字,id=gns3-10,udp=127.0.0.1:10021,localaddr=127.0.0.1:10020 -device e1000,mac=0c:7d:d6:99:9a:0b,netdev=gns3-11 -netdev 套接字,id=gns3-11,udp=127.0.0.1:10023,localaddr=127.0.0.1:10022 -device e1000,mac=0c:7d:d6:99:9a:0c,netdev=gns3-12 -netdev套接字,id=gns3-12,udp=127.0.0.1:10025,localaddr=127.0.0.1:10024 -设备 e1000,mac=0c:7d:d6:99:9a:0d,netdev=gns3-13 -netdev 套接字,id=gns3-13,udp=127.0.0.1:10027,localaddr=127.0.0.1:10026 -设备 e1000,mac=0c:7d:d6:99:9a:0e,netdev=gns3-14 -netdev 套接字,id=gns3-14,udp=127.0.0.1:10029,localaddr=127.0.0.1:10028 -设备e1000,mac=0c:7d:d6:99:9a:0f,netdev=gns3-15 -netdev socket,id=gns3-15,udp=127.0.0.1:10031,localaddr=127.0.0.1:10030 -nographic

执行日志:无法访问 KVM 内核模块:权限被拒绝 qemu-system-x86_64:无法初始化 KVM:权限被拒绝

启动 CiscoIOSvL215.2.4055-1 时出错:无法启动 QEMU 控制台 [Errno 111] 连接调用失败('127.0.0.1',5001)

无法启动 QEMU 控制台 [Errno 111] 连接调用失败 ('127.0.0.1', 5001)”

但是当我以超级用户身份在终端运行时,它运行正常。

事实上,gns3 在 ~/.conf/GNS3/run_as_root 中创建一个文件,退出活动连接后,只有我以 root 身份运行或删除该文件才能启动它。

我确信它与权限和特权有关。

我是新手,希望得到某种指导。

谢谢。

答案1

作为普通用户:

sudo usermod -aG kvm $(whoami) && sudo reboot

答案2

你需要在虚拟机组才能访问/dev/kvm. 你可以使用以下方式检查ID 此外,作为你的用户,你可以运行 kvm-ok,它看起来应该是这样的

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

在其他情况下,例如通过 libvirt,守护进程需要被允许这样做(默认情况下),但你需要能够与它对话,这取决于设置是网络还是基于组的套接字libvirtd

我不知道 gns3,但如果它具有类似的特殊设置,它可能需要类似的额外权限,如我的 libvirt 示例,才允许运行它。

另外,如果这不能完全解决问题,请报告您使用的启动客户机的确切命令。如果通过 libvirt 或其他工具,请在这些工具中提供您的客户机配置。

答案3

我在 Ubuntu 18.04 LTS 上运行 GNS3 2.2.5 时也遇到了这个问题。我运行了此线程中推荐的命令:

sudo usermod -aG kvm $(whoami) && sudo reboot

这非常有效,我现在能够在 GNS3 中运行 VIRL 图像。非常感谢!!!

相关内容