标签: libvirt

Amazon S3的文件下载速度降至<2 kb/s =下载速度非常慢(在已上传的计算机上)

基本问题:

我们在当前的基础架构设置中遇到了非常奇怪的行为:

  • 如果从同一IP /机器下载文件,则从Amazon S3的文件下载速度降至<2 kb/s(在下载速度完全正常的~10次之后)
  • 在我们的其他机器上,我们可以下载文件几千次而且看不到这种行为

额外细节:

  • 机器使用木偶设置相同
  • 它们都是在KVM上运行ubuntu 12.04.4的虚拟机,在ubuntu 12.04.4和13.04主机上运行libvirtd
  • 每个VM都有自己的公共IP,流量来自该公共IP
  • 几分钟后,可以再次以> 5 mb/s的速度下载文件几次(似乎是10次)
  • 使用fog gem从rails应用程序上传文件

用wget测试:

使用wget,您可以在受影响的计算机上看到我们上传的文件的输出:

--2014-07-31 16:33:38--  http://s3-eu-west-1.amazonaws.com/not_the_real_file_url
Resolving s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)... 178.236.6.160
Connecting to s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)|178.236.6.160|:80...      connected.
HTTP request sent, awaiting response... 200 OK
Length: 2801149 (2.7M) [text/plain]
Saving to: `/dev/null'

0% [                                ] 10,111      1.05K/s  eta 68m 26s
Run Code Online (Sandbox Code Playgroud)

68米就像这样!(它确实在那之后完成下载)

其他人在亚马逊s3上托管的随机文件输出:

--2014-07-31 16:39:21--  https://s3.amazonaws.com/Minecraft.Download/versions/14w31a/minecraft_server.14w31a.jar
Resolving s3.amazonaws.com (s3.amazonaws.com)... 72.21.211.199
Connecting to s3.amazonaws.com (s3.amazonaws.com)|72.21.211.199|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10342238 (9.9M) [application/octet-stream]
Saving …
Run Code Online (Sandbox Code Playgroud)

ubuntu kvm libvirt amazon-s3 amazon-web-services

6
推荐指数
1
解决办法
3129
查看次数

KVM/QEMU网络与libvirt的TAP问题

我正在尝试使用libvirt和virsh来管理我的kvm/qemu vms.我遇到的问题是让它与公共IP协同工作.服务器正在运行ubuntu 8.04.

libvirt一直试图将其运行为:

/usr/bin/kvm -M pc -m 256 -smp 3 -monitor pty -no-acpi \ 
  -drive file=/opt/virtual-machines/calculon/root.qcow2,if=ide,boot=on \ 
  -net nic,vlan=0,model=virtio -net tap,fd=10,vlan=0 -usb -vnc 127.0.0.1:0
Run Code Online (Sandbox Code Playgroud)

哪个靴子,但没有任何网络访问(ping无处可去).在没有fd = 10的情况下运行它可以使它正常工作,kvm为我创建了必要的TAP设备,并在主机内部建立了网络功能.我看到的所有设置指南都专注于设置伪装,而我只想要一个简单的桥接器和未经过滤的网络访问(访客和主机都必须使用公共IP).

在主机上运行ifconfig可以在我的/ etc/network/interfaces文件中手动设置网桥.:

br0   Link encap:Ethernet  HWaddr 00:1e:c9:3c:59:b8
      inet addr:12.34.56.78  Bcast:12.34.56.79  Mask:255.255.255.240
      inet6 addr: fe80::21e:c9ff:fe3c:59b8/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:3359 errors:0 dropped:0 overruns:0 frame:0
      TX packets:3025 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:180646 (176.4 KB)  TX bytes:230908 (225.4 KB)

eth0  Link encap:Ethernet  HWaddr 00:1e:c9:3c:59:b8
      inet6 addr: fe80::21e:c9ff:fe3c:59b8/64 Scope:Link …
Run Code Online (Sandbox Code Playgroud)

kvm qemu libvirt

5
推荐指数
1
解决办法
9798
查看次数

使用python + libvirt获取运行域信息

我正在尝试做一个简单的脚本,它将获得有关在xen主机上运行域的各种信息.

到目前为止,我有:

import libvirt
import pprint
conn = libvirt.open('xen:///')

for id in conn.listDomainsID():
    dom = conn.lookupByID(id)
    infos = libvirt.virDomainGetInfo(dom)
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

AttributeError: 'module' object has no attribute 'virDomainGetInfo'
Run Code Online (Sandbox Code Playgroud)

根据API(http://www.libvirt.org/html/libvirt-libvirt.html#virDomainGetInfo),至少应该给我一些东西.

任何线索?(我是一个蟒蛇新手)

python libvirt

5
推荐指数
1
解决办法
6766
查看次数

动态删除重复的日志消息

最近我们有一条消息在几分钟内填满 /var/log/libvirt/qemu/.log,其中一行重复出现,由于根分区被填满(几分钟内 20+ Gig),我们的系统崩溃了。

“设备‘drive-virtio-disk0’中的块 I/O 错误:不允许操作 (1)”

有没有办法确保重复的行不会被推送到日志中,或者有办法限制该目录被填满?Logstash maxsize 对我们不起作用,因为我们在每天的 cronjob 上运行它。

linux logging libvirt

5
推荐指数
1
解决办法
4528
查看次数

在 Ubuntu 中安装 KVM

我曾尝试根据 Ubuntu wiki 上提供的指南安装 KVM,但是当我打开虚拟机管理器时,它说,

'警告:KVM 不可用。这可能意味着未安装 KVM 软件包,或未加载 KVM 内核模块。您的虚拟机可能性能不佳。

我在 BIOS 设置中启用了硬件虚拟化。这是sudo /usr/sbin/kvm-ok 的输出

信息:/dev/kvm 不存在提示:sudo modprobe kvm_intel modprobe:致命:未找到模块 msr。

此外,sudo modprobe kvm_intel 的输出如下:

modprobe:致命:未找到模块 kvm_intel。

ubuntu kvm libvirt

5
推荐指数
1
解决办法
2万
查看次数

Python libvirt API - 创建一个虚拟机

我正在尝试创建一个python脚本来处理基本的VM操作,例如:创建VM,删除VM,启动,停止等.

目前我很"坚持" create

从命令行,您将执行以下操作:

qemu-img create -f qcow2 vdisk.img <size>
virt-install --virt-type kvm --name testVM --ram 1024
 --cdrom=ubuntu.iso  --disk /path/to/virtual/drive,size=10,format=qcow2
 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
 --os-type=linux
Run Code Online (Sandbox Code Playgroud)

这将创建一个新的VM,testVM并在之前定义的上安装它vdisk.img

但我想在python中完成所有这些; 我知道如何处理第二部分:

  1. 从VM的XML模板开始
  2. 打开libvirt连接并使用连接处理程序创建VM

    但我想知道第一部分,你必须创建虚拟磁盘.

有没有libvirt API calls可以使用的?

或者,你必须在系统调用qemu-img create来创建虚拟磁盘?

python kvm libvirt hypervisor

5
推荐指数
1
解决办法
4123
查看次数

libvirt的api virDomainGetVcpus中的cpumaps和maplen参数是什么

我正在尝试获取在我的机器上运行的 vcpus 的信息,同样我正在使用 libvirt。我无法理解如何使用具有 cpumaps 和 maplen 参数的 api virDomainGetVcpus。

我正在使用 C。如果您有一些见解,请告诉我。

谢谢。

operating-system libvirt

5
推荐指数
1
解决办法
1324
查看次数

当设备在启动时已连接时,不会触发带有 ACTION=="add" 的 Udev 规则

这是我的简单 udev 规则:

ACTION=="add",SUBSYSTEM=="usb",DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb3/3-13",RUN+="/opt/usb-libvirt-hotplug/ usb-libvirt-hotplug.sh debian_testing" ACTION=="add",SUBSYSTEM=="usb",DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb3/3-14",RUN+=" /opt/usb-libvirt-hotplug/usb-libvirt-hotplug.sh debian_testing"

这个被调用的脚本不是我的,但它只是计算出该端口上的 USB 设备的设备总线和编号,并将其添加到 libvirt 来宾 xml。

问题是当我在端口 13 或 14 上物理插入一些东西时,这工作正常,但是当 PC 启动并且 USB 设备已经插入时,这些规则不适用并且脚本不会被调用。

我该如何解决?

先感谢您。

linux libvirt udev

5
推荐指数
0
解决办法
515
查看次数

将 iPhone 连接到运行 OSX 的 libvirt 虚拟机

我创建了一个 OSX Mojave 虚拟机,并试图将 iPhone 传递给它,以便我可以使用 XCode。我已经测试过将键盘传递给来宾,这很好用。但是,iPhone 没有。

当我使用 virt-manager 添加 USB 主机设备时,iPhone 会发出声音表示它已连接,但它似乎没有连接到访客。

我注意到的一些事情可能有助于解决这个问题:

如果我添加 USB 主机设备,然后很快切换到 VM 并运行system_profiler SPUSBDataType,iPhone 将显示为已连接。不过这只会持续几秒钟。system_profiler SPUSBDataType几秒钟后运行显示 iPhone 不再连接。

我已经测试过将 iPhone 传递给 Linux 来宾。将它传递给 Linux 来宾时,它似乎确实保持连接。

人们报告说,通过添加usb.quirks.device0 = "0x05ac:0x12a8 skip-reset, skip-refresh, skip-setconfig"到他们的 VMWare VMX 文件,成功地将 iPhone 传递到 VMWare 虚拟机,我提到这一点是因为我认为在 libvirt 中复制这些设置可能会以某种方式解决问题。

当我添加 USB 主机设备时,我在主机上的 dmesg 中得到了这个:

[178165.281031] audit: type=2501 audit(1540468134.413:1654): pid=604 uid=0 auid=4294967295 ses=4294967295 msg='virt=kvm resrc=cgroup reason=allow vm="macos-high-sierra" uuid=2aca0dd6-cec9-4717-9ab2-0b7b13d111c3 cgroup="/sys/fs/cgroup/devices/machine.slice/machine-qemu\x2d34\x2dmacos\x2dhigh\x2dsierra.scope/" class=path path="/dev/bus/usb/003/050" rdev=BD:131 acl=rw exe="/usr/bin/libvirtd" hostname=? addr=? terminal=? …
Run Code Online (Sandbox Code Playgroud)

iphone usb kvm libvirt ios

5
推荐指数
0
解决办法
1625
查看次数

QEMU+Virt-manager 无法连接到 virtlxcd-sock

我已经在 Linux Mint 20 上安装了 qemu virt-manager libvirt,我有一个 AMD FX(tm)-4300 四核处理器,在 bios 中启用了 AMD-V,重新启动了很多但是 virt-manager(虚拟机管理器)是说:

Unable to connect to libvirt lxc:///.
Failed to connect socket to '/var/run/libvirt/virtlxcd-sock': No such file or directory
Libvirt URI is: lxc:///
Run Code Online (Sandbox Code Playgroud)

我在本地运行这个。文件/套接字不存在,但该文件夹中有一个“libvirt-sock”(和其他文件)。服务正在运行,但是报同样的错误:

    libvirtd.service - Virtualization daemon
     Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-09-01 10:11:27 BST; 12min ago
TriggeredBy: ? libvirtd.socket
             ? libvirtd-ro.socket
             ? libvirtd-admin.socket
       Docs: man:libvirtd(8)
             https://libvirt.org
   Main PID: 731 (libvirtd)
      Tasks: 19 (limit: 32768)
     Memory: 34.2M
     CGroup: /system.slice/libvirtd.service …
Run Code Online (Sandbox Code Playgroud)

qemu libvirt linux-mint

5
推荐指数
1
解决办法
1815
查看次数