KVM 虚拟机无法分配 IP


KVM 是默认安装的
提示:Libvirt 版本不支持物理端口列表。我应该如何分配 IP 呢?也没搜索到相关的。

谢谢,元旦快乐!

这会儿河南移动访问不了 openSUSE 的网站 :sweat_smile:

抱歉,可能是我看不太懂吧,首先图形界面展示的步骤和 15.2 中虚拟系统管理器中的并不相同,步骤也不同。命令管理我创建了一个默认的配置,如下:
image
我不理解为什么创建虚拟机不能使用该网络配置,按照我的理解,如果我只需要在主机和虚拟机之间通信的话,主机创建一个虚拟网络,虚拟机加入该虚拟网不就可以了吗?如果需要访问外网,再配置路由转发。

比如说 YaST 中网络设置
Screenshot_20201231_235851
我将 network.service 关闭也无法进行设置,是我关错服务了吗?

另外我感到无法理解的一点,我通过 kvm 能够正常安装启动 Windows XP,虽然没有网络,但是无法安装 openSUSE,安装过程中绿色进度条走到头就完全没反应了,哪怕我等了十几分钟。

看你别的问题提问的方式像是新手,建议直接 VirtualBox 吧。我手里没有 ISO,怕费劲下好给你操作一遍发现是你操作问题彼此就很尴尬了:sweat_smile:

就是新手,简单实用主义,从没想过认真了解实现原理甚至看代码去。VirtualBox 安装打开就报错,已放弃。难道适合我的是 Windows 上装 Linux 虚拟机 :sweat:

我看您也不一定是新手了,起码 libvirtd 的 default 网络是 192.168.122.0/24 已经被您改过了。

安装完 libvirtd 后,default 这个 NAT 网络也被创建了,这时再用 virt-manager 进行 VM 创建,连接 default 上网,是完全没有问题的。

按您的说法,XP 是正常的,我建议你在 Host 上运行 journalctl -f , 对比两个 vm 的启动日志,特别是 DHCP 响应部分,然后再进一步判断。

  • 我确实不了解 kvm,三年前 CentOS 上用过纯命令的 kvm,都忘得差不多了。
  • XP 是正常可以启动的的,但是 XP 也不能配置网卡;安装 openSUSE 直接卡在进度条走到头,这让我很诧异。
  • 安装之前有个硬件配置,鼠标移动上去提示 “Libvirt 版本不支持物理端口列表。”
    另外弱弱的问一句,Linux 日志是都在 var/log/下吗?查 Windows 日志我倒是有点心得,Linux 的没经验呀 :sweat_smile:

Libvirtd 管理网络接口的功能很早就取消了吧, 早期 Fedora 还支持过一段时间,但现在新的 F32/33 也跟 openSUSE 一样了 – 也就是说,接口管理由系统做(NetworkManager 或 Wicked), 虚拟网络由 libvirtd 来做。

至于命令行运行 kvm,我觉得只有两种人会这样: 1 是对 kvm 烂熟的,2 是自虐的。

Linux 的日志十分灵活,不同产品/发行版和不同版本,都有些小差异. 比如 openSUSE Leap 15.2 ,日志是 systemd 接管的, 日志文件是二进制格式,持久日志在/var/log/journal/ 中, 如果配置成内存日志,则在/var/run/log/journal/ 中,但同源的企业级产品, SUSE Linux Enterprise 15 SP2, 则在/var/log/messages 文本文件也有,同时上面的 journal 也有。

所以,撇开版本谈配置啥的,很容易有歧义。

openSUSE 的 VM 启动到最后,卡住时, 鼠标点进去后,按方向键或 ESC 键,应该会有文本屏幕切换的。

查了一些资料的安装步骤,没有找到和我类似提示的。按照网上操作步骤手动创建一个网桥,发现没有网上说的 ifcfg-eth0,貌似 15.2 使用 network manager 也不能图形界面添加网桥。但是网桥和虚拟接无法分配 IP 应该没关系,我不用外网本地虚拟化一个网络应该没毛病。
另外一个疑惑的地方就是 YaST 默认安装的 KVM 和管理工具并没有安装 libvirt、qemu-kvm。

以前是学习才用的命令行,完全内网基础版本安装,一个包一个包的下载安装,算自虐吧。
参考注如:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/index 之后已经放弃在我的 openSUSE 机器上使用虚拟机了。因为只能创建 Windows 虚拟机,下了几个 Linux 发行版的镜像,都无法正常安装,就算能通过复杂命令创建,也不符合我的使用初衷。实在不行就改 Windows 装 openSUSE 吧。

zypper pt 可以看到,关于 kvm 有 kvm_server 和 kvm_tools 两个 pattern, 本身这两种东西就是分应该分开了。 您只是同时在一个系统中同时需要这两套东西而已。 --当然,至今您仍然未透露用的哪个 openSUSE 产品和版本。

另外,您看 RH 的软件去指导在 openSUSE 的的使用,这个…怎么说呢,虽然不是说全错,但感觉怪怪的,但是我自己也这样干,却不感觉我自己怪~

再另外,了解网络配置是操纵一个发行版的基础技能,对于 openSUSE 来说,起码有三种方式可以配置网络: wicked, network-manager, systemd, 这三种方式,什么 bridge/vlan 都肯定是没有问题的,至于 YaST 工具支持的是 wicked 方式,

最后,现代 Linux 产品都已经很方便了,并没有您说得这么难用,除非您自己预设了错误的使用方法,那肯定是碰壁的,即使你切换回 windows, 用 XP 的技巧去操作 win10 也会有诸多不便的。

非常感谢您的热心帮助!我暂时用下 Windows 加 openSUSE 虚拟机。
您说的对,了解网络配置是操纵一个发行版的基础技能。我是那种简单实用主义,加之安装在工作的物理机上,所以一般不折腾,倾向于开箱即用。之后就好很多了,虚拟机不怕折腾,平时就怕折腾出问题耽误使用,但问题是日常使用 openSUSE 的时间也减少了,心痛五秒。

我最近正好要用 Leap 15.1 的虚拟机测试 fcitx5,等 ISO 下好我也不用 VirtualBox,用 KVM 看看能不能复现你的问题。

歪个楼,virtualbox 超级简单的!
楼主看到的提示,无外乎三种:
1.问你要不要启用虚拟机的 USB,Enable 是启用;
2.virtualbox 的内核模块没加载。普通的内核装上 virtualbox-kmp-default,再 sudo modprobe vboxdrv 就好;
3.用户不在 vboxusers 组里。sudo usermod -aG vboxusers <你的用户名>,注销并重新登陆
一般就可以愉快地使用啦。

@HTSG 我的 openSUSE Leap 15.1 已经通过 KVM 方式装好了。

回过头来看您的帖子,你的意思是说,给 VM Guest 分配 IP 地址的时候不想用:

<network connections="1">
  <name>default</name>
  <uuid>07f5f940-0e5d-4a57-a1bf-cda2d0ed5331</uuid>
  <forward mode="nat">
    <nat>
      <port start="1024" end="65535"/>
    </nat>
  </forward>
  <bridge name="virbr0" stp="on" delay="0"/>
  <mac address="52:54:00:8a:37:29"/>
  <ip address="192.168.122.1" netmask="255.255.255.0">
    <dhcp>
      <range start="192.168.122.2" end="192.168.122.254"/>
    </dhcp>
  </ip>
</network>

而是用那个 55.55.55.1?

试试改 SUSE 的源地址,在安装界面安 f2-4 其中一个是换源