我在通过 libvirt/qemu-kvm 执行虚拟化时遇到问题,其中我的桥接网络设置似乎无法正常工作。我遵循了我能找到的每一个教程,并花了几个小时浏览论坛,但目前无济于事。
主机和来宾都使用 Centos6。
这是主机的设置:
[root@node2 ~]# ifconfig -a
bridge0 Link encap:Ethernet HWaddr BC:30:5B:E8:C0:4F
inet addr:10.59.190.253 Bcast:10.59.190.255 Mask:255.255.255.0
inet6 addr: fe80::be30:5bff:fee8:c04f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5315 errors:0 dropped:0 overruns:0 frame:0
TX packets:3350 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:316961 (309.5 KiB) TX bytes:3943630 (3.7 MiB)
eth0 Link encap:Ethernet HWaddr BC:30:5B:E8:C0:4F
inet6 addr: fe80::be30:5bff:fee8:c04f/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:5286 errors:0 dropped:0 overruns:0 frame:0
TX packets:5325 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 …Run Code Online (Sandbox Code Playgroud) 是否可以监控/限制 KVM 来宾的带宽?我想在我的服务器上为人们提供虚拟机,但我想小心不要超过我的每月带宽限制。我能找到的唯一支持它的地方是“云”框架,我猜我要么在 Linux 中遗漏了一些简单的东西,要么我需要与我上方的路由器交谈(我无权访问)。
networking libvirt bandwidth-control ubuntu-10.04 kvm-virtualization
我正在从 Xen 切换到 qemu-kvm。我当前的 Xen 安装有许多 LVM 卷,每个卷都有一个分区(而不是完整的磁盘映像)。在 Xen 中,我使用如下配置启动每个 VM:
kernel = "/boot/vmlinuz-2.6.18-128.4.1.el5xen"
ramdisk = "/boot/initrd-xen-2.6.18-128.4.1.el5xen"
disk = [ 'phy:/dev/vmdata/vm-standalone,sda1,w' ]
Run Code Online (Sandbox Code Playgroud)
我现在想重用这些虚拟机,而是在 kvm 下启动它们。似乎 virt-install--import会让我这样做,使用--boot kernel=<kernel>,initrd=<initrd>,但我不知道如何指示 virt-install 将现有卷附加为引导/根文件系统。这可能吗?
我正在使用 KVM 进行虚拟化,并通过 Libvirt 守护进程对其进行管理。
如何配置 Libvirt 或 KVM 以侦听发送到虚拟机 NIC 的 MAC 地址的 LAN 唤醒数据包,并在收到此类数据包时启动虚拟机?
有没有办法即时编辑 Libvirt-Machine 的监听地址?目前好像要编辑监听地址,得先关闭对应的VM,再编辑xml,重新定义域。
我目前正在构建一个小型 Web 应用程序(libvirt 前端),我想在其中实现一个名为“启用/禁用 vnc”的功能 - 但是,如果唯一的方法是关闭虚拟机。
我正在使用 libvirt 在 Openstack 环境之外启动 cirros 虚拟机。启动时,虚拟机会检查元数据二十次,这会增加启动时间的大量延迟。
cirros-ds 'net' 升级至 6.14
检查http://169.254.169.254/2009-04-04/instance-id 失败1/20:上涨6.18。请求失败 2/20失败:上涨18.32。请求失败 3/20失败:上涨30.38。请求失败 4/20 失败:上涨 42.44。请求失败 [剪]
我正在使用 cirros-0.3.3。
我可以使用 cloud-init 或其他机制来禁用元数据查找吗?
我使用 virt-manager 创建了一个虚拟机并保存了其当前状态的快照。
现在我想使用第一台机器的所有快照创建一个完全相同的重复机器。
我怎样才能做到这一点?
我想知道是否可以使用 KVM libvirt 创建一个多用户环境
,即每个用户都可以创建自己的虚拟机,但其他人不能访问它,
看到这个多用户使用 virt-manager
似乎不起作用
EDIT1:我想要为每个虚拟机设置所有者
我的问题是“/var/lib/libvirt/qemu 文件夹中存储了什么?” 这是用作某种备份文件夹吗?
背景信息:我有一个 Debian 服务器,其中运行着 KVM 安装(+libvirt)和大约 15 个正在运行的虚拟机。我想了解为什么这个文件夹中有一个虚拟机的多个文件。类似于域 35-[VM1] 和域 18-[VM1]。
我最近“获得”了服务器,之前从未使用过 KVM/libvirt。
感谢您的帮助。
我想使用libvirt网络NAT配置。
libvirt 说https://wiki.libvirt.org/page/Virtual_network_%22default%22_has_not_been_started:
“1) 如果您实际上并未在物理机上使用 dnsmasq 来为物理网络提供 DHCP 服务,则应该完全禁用 dnsmasq”
这与我的上下文相对应,因此我在主机系统中停止并禁用 dnsmasq。
在qemu系统中:
virsh # net-edit default
<network>
<name>default</name>
<uuid>b6ef8506-d4c7-4bba-9fe7-8f971ea87d10</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:06:86:de'/>
<domain name='circus.net'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.10'/>
</dhcp>
</ip>
</network>
Run Code Online (Sandbox Code Playgroud)
我启动默认网络:
virsh # net-start default
Network default started
virsh # net-list
Name State Autostart Persistent
----------------------------------------------------------
default active no yes
Run Code Online (Sandbox Code Playgroud)
我启动客人S0和S1
virsh # start S0
Domain S0 started
virsh # …Run Code Online (Sandbox Code Playgroud) libvirt ×10
qemu ×2
centos ×1
dhcp ×1
linux ×1
lvm ×1
nat ×1
networking ×1
ubuntu-10.04 ×1
virsh ×1
vnc ×1
wake-on-lan ×1