Articles of kvm virtualization

主机重新启动时的KVM访客时间

我已经安装了Ubuntu Server 12.04作为KVM主机,并创build了一个Ubuntu客户机,它也运行Ubuntu服务器12.04。 服务器在AST时区,即UTC + 3小时。 使用date -s在客人中正确设置时间后,我可以按照自己的喜好重新启动客人,重新启动之间保留正确的时间。 但是,如果KVM主机重新启动(主机在重新启动之间没有时间问题),那么一旦启动我的KVM客人,所有这些主机都会在正确的时间后面3个小时。 下面的输出显示主机和来宾的系统时间和硬件时钟时间。 root@kvmhost1:~# date Wed Jan 16 14:10:38 AST 2013 root@kvmhost1:~# hwclock Wed 16 Jan 2013 02:10:40 PM AST -0.187899 seconds root@kvmguest1:~# date Wed Jan 16 11:10:45 AST 2013 root@kvmguest1:~# hwclock Wed 16 Jan 2013 02:10:47 PM AST -0.521226 seconds 一旦时间在客人更正,然后他们可以重新启动时间不正确的转移。 我试过/testing过的东西 我在三个独立的物理服务器上尝试了这一切,都显示出相同的行为。 其中一个kvm主机正在运行Ubuntu 11.04,并且发生了相同的行为。 我曾考虑过使用时间服务器来解决这个问题,但是Ubuntubuild议不要在KVM guest虚拟机上使用NTP […]

libvirtd:kvm:用户权限Centos 6

我需要通过用户访问控制他们如何使用虚拟机以及他们可以通过基于KVM的虚拟机pipe理程序上的Virsh来执行哪些操作。 到目前为止,我从http://wiki.libvirt.org了解到,我必须在/etc/libvirt/libvirtd.conf为unix套接字启用unix套接字权限,并创build一个名为libvirtd的新组,并将用户添加到。 所以这一切都很好,但是,与这些用户,我不能看到任何虚拟机,当我这样做 virsh list –all libvirt.ogr的文档也提到了使用polkit和其他技术。 如果有人能够帮助我使用简单的unix socket permission方法或polikit或sudoer方法或任何其他方法的任何工作示例。 我想有一个用户权限的方式,从VIRSH用户只能执行有限的任务,如无法做virsh start但不能virsh destroy 。

Ubuntu 12.04 KVM主机高负载闲置Ubuntu的12.04客人

我坚持这一个。 在两台物理机器上安装Ubuntu 12.04 server 64bit。 机器是相同的,除了一个有8GB内存和有问题的机器有32GB内存,两台机器同时购买相同的规格。 Ubuntu在24小时前完全更新。 我通过SSH隧道上的X-windows使用virt-manager来pipe理虚拟机,服务器操作系统根本不运行X-windows会话。 构build并运行多个Ubuntu 12.04服务器64位虚拟机,每个虚拟机分配1GB RAM。 虚拟机的configuration基本都是一样的(原谅MAC地址等)。 8GB的机器有2xVM,32GB的机器有3个VM。 所有的虚拟机报告低负载(小于0.5,通常为0.01),并没有高度利用。 8GB主机服务器报告负载小于0.1,一般为0.01。 32GB主机服务器报告负载大于10.0持续。 同样,所有虚拟机都报告内部负载小于0.5。 最高的CPU是95%+空闲,0.0%等待。 关于为什么32GB机器具有高负载(同时主机空闲和来宾空闲),而同样configuration的8GB机器报告预期的低负载? 一台虚拟机启动时,32GB的负载变高,运行3台虚拟机不会使负载变高。 停止所有虚拟机会导致32GB的机器负载下降。 我无法弄清楚这一点。 我希望32GB的负载能够匹配8GB的负载。 更新#1:内森C top – 16:19:54 up 8 days, 6:01, 1 user, load average: 14.33, 18.23, 18.07 Tasks: 135 total, 1 running, 134 sleeping, 0 stopped, 0 zombie Cpu(s): 0.5%us, 0.4%sy, 0.0%ni, 98.9%id, 0.0%wa, […]

GRE网格GRE打开虚拟交换机

我有3个kvm主机与许多虚拟机运行打开vswitch。 这些虚拟主机在两个独立的租户上,GRE隧道在这三个主机之间传输私有stream量。 但有没有更好的方法来做GRE隧道,因为目前这些GRE隧道是网状的,如果我想从3个主机扩展到10个主机,我应该build立9个连接。 是否可以通过打开vswitch来实现星型拓扑结构?

指示KVM / QEMU虚拟机停顿,准备进行实时备份

假设使用qcow / qcow2作为虚拟磁盘映像格式的KVM / QEMU虚拟机。 备份(将)在VM主机上完成。 据我目前的理解是,尽pipe我们可以使用快照(例如使用LVM)从虚拟机创build备份,但这些备份仅仅是崩溃一致的 ,这实际上并不适用于IMHO。 另外,经过仔细观察,目前stream行的很多工具和脚本都在做这个 – 所以作者是懒惰的或者错过了一些基础知识,或者我对整个演出完全错了。 我目前的解决scheme是在vm上调用fsfreeze (或使用设备映射器),然后在主机上拍摄快照。 但是,如何从主机优雅地做到这一点呢? 使用virtio通道,使用qemu-ga或使用QMP; 他们似乎都处于起步阶段,高度asynchronous,而且似乎没有任何事情可以保证。 我真的需要手动login到虚拟机? 是否没有工具正确处理这个已经存在的? (QEMU提供了很多function,但是我找不到有关这方面实现function的[体面]文档)。

主机和来宾之间的Linux KVM磁盘caching平衡

假设您有一台运行多个KVM客户端的基本服务器。 现在就磁盘I / Ocaching而言,似乎基本服务器会将I / Ocaching在其内存中,但是访客是否也会在内存池中caching相同的I / O呢? 如果是这样,如果磁盘内容被caching两次,这不会浪费内存吗? 如果是这种情况,那么调整这种行为的好方法是什么(例如,caching基本服务器的所有内容,或者从基础caching任何内容,并且仅仅从客户端caching)? 我能想到的唯一方法是为客户分配较less的内存,通常情况下,将guest虚拟机中的swappiness参数设置为0(所以进程内存不会被换出,而不是磁盘caching),所以没有在guest虚拟机中可用于caching的额外内存。 这会强制所有caching在基本服务器中发生。 或者,这是一个由KVM自动解决的问题吗?

Ubuntu 14.04上的KVM上的Windows Server 2012。 运行一段时间,然后放慢速度

我将Windows Server 2012 Essentials作为运行在Ubuntu 14.04 LTS上的KVM上的虚拟机运行。 它在重新启动后performance非常好,但过了一段时间后开始变慢,变慢了。 这可能是几个小时或一天后。 我还没有发现在使用和减慢速度之间有明显的模式。 Windows VM有三个虚拟磁盘,两个是LVM,一个是LVM上的250 GB VMDK文件。 我打算将VMDK文件转换为直接LVM,这可能会有助于性能,但我不认为这是我目前的问题。 我们使用最新的virtio驱动程序。 当它变慢时,变得相当糟糕。 在菜单出现之前,右击任务栏可能需要5秒钟或更长的时间。 主机上的VNC或Windows服务器上的RDP的性能大致相同。 文件共享访问,DNS等都是我们局域网上的客户端缓慢。 重新启动Windows VM可以解决问题。 我不需要重新启动主机。 在Windows服务器上没有额外的应用程序运行,除了每四个小时检查一次文件更改的CloudBerry备份。 这似乎并不是这样。 扫描更改需要几分钟的时间,但如果在重新启动后立即运行,服务器仍然运行得很快。 此服务器为networking连接的打印机提供打印服务。 当东西变慢时,主机上qemu进程的CPU使用率会上升。 它总是有点高峰,但我认为高峰期更高,持续时间更长。 在Windows任务pipe理器中,我没有注意到任何特别的事情。 我知道KVM上的Windows当然不被微软支持,所以总是有点赌博。 也许这是一个愚蠢的想法,但安装和早期的performance已经绝对完美。 任何想法或build议? 我应该用什么工具或方法来追踪这个问题?

KVM中的Debian Wheezy:无法设置IO调度程序

我在KVM中运行一个Wheezy框,默认情况下它运行内核3.2。 从backports升级到3.14后,我不再能调整IO调度器。 之前: # cat /sys/block/vda/queue/scheduler noop deadline [cfq] # echo noop > /sys/block/vda/queue/scheduler # cat /sys/block/vda/queue/scheduler [noop] deadline cfq 后: # cat /sys/block/vda/queue/scheduler none # echo noop > /sys/block/vda/queue/scheduler # cat /sys/block/vda/queue/scheduler none 主机和虚拟机configuration不变。 可能是什么问题呢?

Xen PV,Xen HVM和KVM

我正确地指出,你可以用任何一种虚拟化types启动任何操作系统,因为它们是作为一个裸机来编译你自己的内核的? 我期待从OpenVZ切换到Type-1(是吗?)pipe理程序,因此可以引导更多的操作系统。 我只是想知道,如果Xen PV,Xen HVM或KVM是托pipe客户的更好select,还是只是归结为个人偏好? 我最近买了一个32GB RAM的E3-1230V3,并在硬盘上使用RAID-10的硬件RAID卡。 所以从我所收集的。 XEN HVM =裸机。 像物理机器一样 基于XEN PV = * nix和内核编译 KVM = * nix和内核编译

qemu-kvm VM中的磁盘IO非常慢

我有一个运行Debian Woody的虚拟机(内核2.4.18)。 Qemu-2.1.2,2个CPU内核,512M内存,qcow2映像作为IDE连接,ext3。 问题是磁盘IO很慢。 这是虚拟机重启后dd“基准”的结果: (none):〜#time dd if = / dev / zero of = test1 bs = 102400 count = 100 100 + 0logging 100 + 0logging 真正的0m0.035s 用户0m0.000s sys 0m0.020s (none):〜#time dd if = / dev / zero of = test1 bs = 102400 count = 100 100 + 0logging 100 + 0logging […]