Articles of kvm virtualization

每当我连接到虚拟机时,virsh控制台都会挂起

每当我尝试使用virsh console <vm name>连接到VM,我的屏幕挂起并显示: Connected to domain <vm name> Escape character is ^] 我在互联网上发现了很多解决scheme,但是没有任何解决scheme可以用于我,而且我甚至无法find/etc/init目录,因为CentOS 7具有不同的目录结构。 我需要/etc/init目录创build一个脚本,我在互联网上find一个解决scheme。 我只使用SSH连接,没有GUI,我没有任何访问物理机器。

如何阻止从我的虚拟机使用iptables的ping?

我有一个运行4个KVM虚拟机的服务器。 这些虚拟机只有一个接口,所有的接口连接到同一个OVS网桥。 我试图使用下面的iptables命令来阻止这些虚拟机上的ping iptables -A OUTPUT -o ${tap_interface} -p icmp -m icmp –icmp-type 8 -j DROP 但是,这不起作用。 然后我说,让我们去基本的东西,并阻止所有的ping消息,甚至从服务器。 所以我执行了: iptables -A OUTPUT -p icmp -m icmp –icmp-type 8 -j DROP 现在的情况是,我的服务器无法ping(我看到数据包击中以前的规则),但我的虚拟机仍然能够ping。 我不明白为什么来自虚拟机的stream量绕过了规则。

KVM虚拟机客户端 – 从KVM主机获得最佳输出? 访客监控工具?

有没有办法从KVM主机获得来自KVM虚拟机客户端的最高输出? 我没有看到使用virsh获取进程列表的方法。 我真的很想知道我的一个客户正在pipe理的虚拟机中有哪一个正在执行。 CPU使用率很高,我想从虚拟机pipe理程序主机(这是一个Linux客户机)获得特定虚拟机中正在发生的事情的快照。 作为一个更为通用的问题,是否有一种很好的方法来监视每个客户正在从主机上做些什么? 数据包捕获应该是可能的,正确的? 是否有任何程序允许您从主机监控和获取有关KVM访客的信息,而无需具有root访问权限或VNC访问权限的VNC访问权限? 由于networking作为客人的桥梁,在主机上应用的iptables规则是否会影响客人呢? 可以从主机pipe理虚拟机(重新启动,启动,停止等),但是如何从主机监控客户自己正在发生什么? 任何帮助表示赞赏。

Linux网桥 – 多个VLAN到默认的VLAN中

我有一个CentOS 6 Box(内核2.6.32-642.6.1.el6.x86_64),其中2个KVM实例正在运行。 我从数据中心获取两个VLAN。 不幸的是,他们不会把两个VLAN都组合到一个VLAN中。 我需要在相同的KVM guest虚拟机上同时使用两个VLAN。 默认VLAN是未标记的,第二个vlan标记为id 471。 目前,我是这样做的: bridge name bridge id STP enabled interfaces br0 8000.0cc47a7fed0a no eth1 kvm1100.0 br1 8000.0cc47a7fed0a no eth1.471 kvm1101.0 这是按预期工作。 我可以使用KVM实例1100上的未标记VLAN和KVM实例1101上的VLAN 471。 现在,我希望KVM 1101可以使用来自未标记的VLAN和VLAN 471的IP地址。 所以我把eth1.471添加到br0,然后把kvm1101.0添加到br0。 bridge name bridge id STP enabled interfaces br0 8000.0cc47a7fed0a no eth1 eth1.471 kvm1100.0 kvm1101.0 这是工作,我可以访问两个实例的VLAN。 它工作,我喜欢它。 但是,当eth1.471被添加到br0时,我看到整个networking上的数据包丢失。 不仅在这个服务器上,它影响一切。 当我从br0删除eth.471时,数据包丢失停止。 看来这不是正确的方法。 我尝试了各种各样的东西,但我总是以相同的结果结束。 […]

使用KVM和virt-install安装guest虚拟机之后的控制台

我试图用KVM将几台虚拟机安装到我的Debian Jessie系统上。 我研究了很多,但还没有find帮助我解决问题的答案。 我通过SSH连接到我的主机,并尝试通过以root身份运行以下命令来安装新的客户机: virt-install –connect qemu:///system -n vpsName –memory=5000 –vcpus=4 –disk path=/var/lib/libvirt/images/nix.img,size=125 -c /home/localuser/images/debian-8.6.0-amd64-netinst.iso –graphics vnc,listen=0.0.0.0 –noautoconsole –os-type linux –os-variant generic –accelerate –network=bridge:br0 –hvm 几秒钟后,我收到以下消息: 域安装仍在进行中。 您可以重新连接到控制台来完成安装过程。 我现在确切的问题是:如何使用Debian安装程序的标准安装提示符(hostname,country,…)到达安装程序控制台? 我尝试过的一种方法是在打开的端口上使用VNC,但无法连接。 它要求input密码,然后在密码input后冻结。 我尝试的另一件事是打开与-Y选项的ssh连接,然后通过指定 – —-graphics none –console pty,target_type=serial 。 那也不pipe用; 我卡在一个冻结的命令行。 我敢肯定,我不是唯一有这个问题的人。 不幸的是,我找不到一个类似的post,还有一个有用的答案。 感谢你们对我的帮助! 问候。

与多个子网绑定的KVM桥接器

我可以通过分配给br0:1 213.xxx.xxx.1访问主机,但是213.xxx.xxx.2 ( br0:1上的网桥接口)的VM不起作用。 我必须为第二个子网创build另一个网桥接口,但是bond0已经连接到br0 基本上我怎么能在这种情况下使用虚拟机的第二个子网? 子网: 213.xxx.xxx.176/28 213.xxx.xxx.0/27 routed via 213.xxx.xx.180 build立: EM [1-2] # cat /etc/sysconfig/network-scripts/ifcfg-em[1-2] DEVICE="em[1-2]" NAME="bond0-slave[1-2]" BOOTPROTO="none" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" USERCTL=no IPV6INIT=no PEERDNS=no MASTER=bond0 SLAVE=yes bond0 # cat /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE="bond0" NAME="bond0" BOOTPROTO="none" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Bond" USERCTL="no" IPV6INIT="no" PEERDNS="no" BONDING_OPTS="mode=active-backup miimon=100" BRIDGE=br0 BR0 # cat /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE="br0" NAME="br0" BOOTPROTO="none" IPADDR="213.xxx.xxx.180" GATEWAY="213.xxx.xxx.177" NETMASK="255.255.255.240" […]

用于在KVM主机和虚拟机的不同服务之间路由交通的networkingconfiguration

我们有3台KVM主机(CentOS 7),上面运行着多台虚拟机,每台服务器都提供FTP,HTTP,SSH等不同的服务。我们只有一个外部(dynamic)的IP和一个noip.com域。 我需要find一种方法(如HTTP服务器的反向代理)将不同的服务请求路由到相应的VM IP /端口。 为了实现这个路由,我需要configuration/安装什么? 感谢您的帮助。 编辑:我添加一个图表,我希望它可以更好地解释我想要实现的。

安装cloudstack-agent后,KVM模块不能加载

我遵循本指南来安装CloudStack和KVM: https://docs.cloudstack.apache.org/projects/cloudstack-installation/en/latest/qig.html#kvm-setup-and-installation 一切顺利,但安装cloudstack代理后: # yum -y install cloudstack-agent 并做configuration为指导,检查KVM在我的机器上是否正常运行时,我看不到任何结果: # lsmod | grep kvm 我不知道原因。 当我检查云端代理状态时: # service cloudstack-agent status cloudstack-agent dead but subsys locked 日志是: # tail /var/log/cloudstack/agent/agent.log … 2017-04-18 12:13:14,205 ERROR [kvm.storage.LibvirtStorageAdaptor] (Agent-Handler-1:null) (logid:) org.libvirt.LibvirtException: XML error: missing pool source name element …

可以访问互联网的KVM虚拟机的网桥接口?

我为我的KVM虚拟机创build一个桥接接口: ip link add name br0 type bridge ip addr add 172.20.0.1/24 dev br0 ip link set dev br0 up 我创build了KVM虚拟机: virt-install –name $VM_NAME1 –network=bridge:br0,mac=$VM_MAC1 virt-install –name $VM_NAME2 –network=bridge:br0,mac=$VM_MAC2 现在,我想让互联网访问虚拟机: brctl addif enp3s0 br0 enp3s0是我的主要接口。 一旦我运行这个命令,我的主机就失去了IP并访问了Internet。 即使我给它一个IP,问题依然存在: dhclient enp3s0 主机和虚拟机都不能访问互联网。

使用virsh离线迁移KVM guest?

我想使用virsh离线迁移KVM客户e-devel到另一个centos73主机。 所以我呢 # virsh -d 0 migrate –offline –persistent e-devel qemu+ssh://kvm2/system migrate: offline(bool): (none) migrate: persistent(bool): (none) migrate: domain(optdata): e-devel migrate: desturi(optdata): qemu+ssh://kvm2/system migrate: found option <domain>: e-devel migrate: <domain> trying as domain NAME root@kvm2's password: migrate: found option <domain>: e-devel migrate: <domain> trying as domain NAME # input根密码后,我会期待客人被迁移,但没有任何反应。 最后一个debugging行migrate: <domain> trying as domain NAME接缝,缺less一些东西。 […]