Articles of kvm virtualization

'lvremove'是否会破坏数据?

我为每个虚拟主机分配一个LV。 当删除虚拟机,我删除相应的lv运行'lvremove'。 但是在运行'lvremove'之前是否有必要破坏数据呢? lvremove是否做清除旧数据的工作? dd if=/dev/zero of=/dev/sda bs=1M 换句话说,一个新的vm客户是否可以挖掘以前的vm客户的数据? 我听说有人可以使用下面的命令挖出旧数据。 cat /dev/vda | strings > /dev/shm/dump.txt.

SELinux政策问题

由于qemu和KVM在SELinux开箱即用的情况下工作正常,我想启用SELinux来改善我的CentOS 6服务器上的客户隔离。 问题是我正在使用需要禁用SELinux的第三个奇偶校验虚拟化pipe理软件。 因为他们永远不会实现,我现在试图让我自己的工作… 虽然我能够修复所有libvirt / qemu相关的问题(更改默认图像/ lvm位置,并与audit2allow修复另一个问题),我卡住了他们用来处理各种pipe理任务的自定义lighttpd 。 我试图用audit2allow添加一个自定义规则,但是根本不起作用。 所以,我不是一个SELinux专家,我只是想找一个办法 只是把lighttpd放在宽松的模式(所以它可以做任何必要的) 仅对运行虚拟机的qemu / libvirt进程强制执行SELinux 我已经在semanage manpage中find了这个,我想这可能是一个解决schemesemanage permissive -a TYPE http_r命令,但是这只是返回: / usr / sbin / semanage:bad选项 我认为这是因为他们没有从CentOS仓库运行股票lighttpd,所以缺less了lighty的政策。 以下是audit.log中的一小段代码 type=SYSCALL msg=audit(1393761691.786:1259): arch=c000003e syscall=9 success=yes exit=140369999609856 a0=0 a1=1fa588 a2=5 a3=802 items=0 ppid=1 pid=8532 auid=4294967295 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=(none) ses=4294967295 comm="php" exe="/usr/bin/php" […]

G-WAN 4.3.14即使在空闲时,VPS上的CPU也是最大的

在Digital Ocean VPS实例上testinggwan_linux32位(4.3.14)会导致即使没有http请求,CPU也会被最大化。 VPS实例有1个核心和512 MB,运行32位CentOS 6.5。 下面是关于CPU和内核的一些信息,gwan.log内容可以在http://pastebin.com/2UUeGRxn 当gwan正在运行时(无论是./gwan还是./gwan -d,还是./gwan -d -w 1),我都可以浏览提供的示例页面/ servlet,而且没有明显问题,系统看起来很稳定。 但是,当我ssh进入vps,很明显,CPU是最大的。 观察负载在2到3之间,CPU平均达到95%,而且在terminal会话中一切都很慢。 我真的很想运行gwan,但是这个问题现在已经不成问题了。 这完全是在KVMpipe理程序下运行的结果吗? 什么时候可以解决这个问题? $ uname -a Linux 2.6.32-431.1.2.0.1.el6.i686 #1 SMP Fri Dec 13 11:45:23 UTC 2013 i686 i686 i386 GNU/Linux $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 2 model name : QEMU […]

当处理器是Ivy Bridge时,为客户KVM设置哪种CPU型号?

对于具有Ivy Bridge处理器的KVM主机, MODEL应该在Virtual Machine Manager中使用CPU> CONFIGURATION ? 常春藤桥不可用 。

在线调整kvm客户根文件系统的大小?

我有一个直接使用LVM卷作为根文件系统的Linux来宾(即没有分区表)。 libvirtconfiguration看起来如此: <os> <type arch='x86_64' machine='rhel6.4.0'>hvm</type> <kernel>/boot/vmlinuz-XYZel6.x86_64</kernel> <initrd>/boot/initramfs-XYZel6.x86_64.img</initrd> <cmdline>console=ttyS0 root=/dev/vda</cmdline> <boot dev='hd'/> </os> <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none' io='native'/> <source dev='/dev/vg/guest'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> 从客人的内部: $ mount /dev/vda on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts […]

虚拟机的基于VLAN的接口

我正在devise一个实验,在这个实验中,我们有多个VLAN到达单个NIC,每个VLAN都与一个VM关联。 直接的方法是使用vconfig设置带标记的接口,并将这些接口与每个VM相关联。 我有些担心这可能会对性能(CPU利用率和延迟)产生影响,因为我不确定数据包是如何重新路由到虚拟主机中的特定虚拟接口的。 有没有一种方法可以使用IOMMU来做同样的事情,假设可以直接访问虚拟机中的应用程序?

如何使用virsh edit或virt-manager将Qemu KVM机器架构从440fx更改为q35

仍然试图让GPU直通工作,并决定改变机器types从旧的440FX到Q35即PC-Q35,但如果我做了virshconfiguration编辑它拒绝保存说“PCI桥不支持”…由当前qemu二进制。 我需要在虚拟机xml文件中修复/更改什么? 经过一些研究似乎Q35只允许PCIexpress PCIe,而不是PCI,但我不知道如何改变我的XML文件,以便VIRSH停止抱怨,并接受从440FX到Q35的变化。 这是在Debian Jessie上:uname -a Linux vmserver 3.16.0-customvmkernel#1 SMP Sun Sep 28 00:34:42 PDT 2014 x86_64 GNU / Linux kvm –version QEMU模拟器版本2.1.0(Debian 2.1 + dfsg-4) 这是我目前使用440fx的虚拟机文件,我想要更改为q35: <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>Win7enterprise32bit</name> <uuid>77599af9-35a3-45e1-9fce-74304f7d7a9c</uuid> <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu> <os> <type arch='i686' machine='pc-i440fx-2.1'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset='localtime'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> […]

英特尔至强e3 1231 v3服务器负载

我正在运行带有一个用作虚拟机主机的Intel Xeon E3-1231 v3处理器的服务器(主机操作系统是CentOS 7,我正通过virt-manager使用KVMpipe理程序)。 我创build了4个虚拟机,安装了CentOS 7,它们都是同时运行的“yum update”。 当在主机上运行“top”或“htop”时,服务器负载大致在18.0到36.0之间波动,但是主机和任何运行的虚拟机都显示出任何性能问题 – 实际上一切都是仍然performance很好。 通过“htop”,我可以看到所有的8个核心,在这段时间内,每个核心的使用率都不到2%。 要么我完全误解了一个8核处理器的服务器负载值(我假设8.0是100%的CPU负载),或者以某种方式(如果可能的话)服务器负载被错误地读取? 有什么我可以用来validation我看到的服务器负载实际上是正确的吗? 这里可能会出现某种错误configuration吗? 如前所述,服务器没有显示出任何的困难 – 传感器显示的CPU温度平均为32摄氏度,每个核心的百分比很低。 先感谢那些分享他们的想法的人。 这是我在编辑时从“top”收到的输出。 top – 03:09:20 up 1 day, 10:50, 4 users, load average: 20.74, 24.92, 23.20 Tasks: 257 total, 1 running, 256 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.6 us, 0.2 sy, 0.0 ni, 93.2 id, 6.1 […]

gluster libgfapi HA

我正在用gluster分布式存储来探索KVM_qemu。 我的目标是build立一个完整的HAtesting集群。 即HA的虚拟机以及gluster存储。 我打算设置一个3节点gluster集群,并使用libgfapi而不是旧的FUSE方法的qemu gluster驱动程序。但是,然后我注意到在vm xml文件或qemu映像创build命令我们只能指定一个gluster服务器的IP! 那么如果那台服务器出现故障,存储将不可用? 那么在使用qemu libgfapi方法时应该怎样提供HA呢? 用keeplived分配虚拟浮动IP到gluster服务器? 请咨询..谢谢

有没有办法locking/解锁oVirt中的托pipe引擎?

oVirt中的托pipe引擎有一个奇怪的情况。 我们有一个使用gluster作为引擎isos和所有信息的存储设置的oVirt集群。 大约一个星期前,三台服务器中有两台出现故障。 我们重新启动机器大约三次,并报告连线的gluster主机,并没有报告任何裂脑错误。 托pipe引擎进程尝试在其中一台主机上启动托pipe引擎,但进入EngineUnexpectedlyDown状态。 它会从服务器得分中扣除1600,然后尝试在下一台机器上启动它,直到它们都以800分左右的速度结束,然后只是试图在一台机器上启动,然后就坐在那里“无法达到vm“消息。 我们已经知道,托pipe引擎实际上是在启动,因为我们可以用vnc客户端连接到它。 但似乎处于某种locking状态。 如果您login到托pipe引擎,即使以root身份,也不能通过任何其他方式更改文件,并且无法访问vm。 有没有什么办法来看看虚拟机是locking/只读? 反正有去除locking?