Articles of kvm虚拟化

多个公共IP通过Cisco ASA路由到Proxmox VM

我有一个IP 199.221.2.136(/ 29)的networking。 我希望Cisco ASA5505 [1]在.137上作为路由器使用,并在Proxmox服务器上的两个虚拟机上使用两个公有IP(.138和.139)。 不知道如何通过思科和Proxmox将这些公共IP路由到虚拟机。 一个虚拟机将从OVH转移到我们自己的硬件,第二个将是全新的(如果这改变了什么)。 后来(但现在不重要),与其他两个公共IP,我想在其他Proxmox服务器上使用不同的虚拟机。 [1]也有思科C3825,如果这样做会更好

KVM – graphics直通

我的电脑有两个PCI,并安装了CentOS 7。 我遵循这个关于PCI传递的文档 我添加了iommu并启用了BIOS VT-D grep iommu /boot/grub2/grub.cfg linux16 /vmlinuz-3.10.0-229.7.2.el7.x86_64 root = / dev / mapper / centos_vmc-root ro rd.lvm.lv = centos_vmc / swap rd.md.uuid = 0eab480a:fdd4b7cf:23049706:f8baaa8b crashkernel = auto vconsole.keymap = us rd.md.uuid = b253d03a:92df752c:0b497a9e:ca0646b2 vconsole.font = latarcyrheb-sun16 rd.lvm.lv = centos_vmc / root rhgb quiet radeon.audio = 0 LANG = en_US.UTF-8 intel_iommu = on […]

kvm原始磁盘克隆

我有一个原始磁盘上的kvm访客机器,我想克隆,以便我可以使用drbd将它恢复到lvm上的另一台kvm主机。 我需要在没有或者尽可能less的停机的情况下做到这一点。 所有的主机都在Debian Wheezy上。 达到上述目的的最佳方法是什么? 谢谢大家。

如何设置KVM内核启动“只有一次”?

我正在尝试通过KVM使用自动安装。 步骤是: 从磁盘加载内核和initrd 它会将定制的Linux安装到硬盘,并自动重启 从HDD启动 所以我使用这个命令来安装我自定义的linux: virt-install –name Kernel_Test –ram 16384 –vcpus=8 –os-type=linux –os-variant=rhel6 –vnc –hvm –disk path=/kvm_images//Kernel_Test.qcow2,device=disk,format=qcow2,size=50,bus=sata –boot hd,kernel=/tmp/my_vmlinuz,initrd=/tmp/my_image,kernel_args="append stage2=initrd:" –network bridge=bridge1,model=virtio –network bridge=bridge1,model=virtio –network bridge=bridge0,model=virtio 但是,它会陷入一个循环,如下所示: 从内核/ initrd引导 – >安装完成 重新开始 从内核/ initrd引导 – >安装完成 重新开始 (循环) 我试图用下面的命令去掉内核相关的configuration,但没有成功: virsh dumpxml <VMNAME> >> vmname.xml (do something to change vmname.xml, strip kernel/initrd boot part) virsh […]

Qemu如何处理内存?

我真的很难理解一些东西,我想知道是否有人有这方面的经验,并能够提供帮助。 我有两个KVM VMHost,一个运行qemu 2.4.1,另一个运行1.1.0。 在每个虚拟机上,我们都有一台运行CentOS 6的分配了80GB内存的虚拟机。这两个虚拟主机都运行着CentOS 6。 在1.1.0盒子里,当我在占用所有80GB内存的虚拟机中运行一个进程时,Qemu分配了80GB并保留它。 如果你看上面你看到的QEMU过程的RES大小是80GB。 空闲命令确认内存不空闲。 在2.4.1框中,当我做同样的事情时,它分配80GB到虚拟机,RES列确认。 但是,一旦我杀死虚拟机内的进程占用了所有的内存,Qemu似乎把内存送回系统。 RES列一直保持在80GB,但是我可以逐渐看到我的自由内存增加了自由的命令,直到它几乎全部回来。 我不知道这是为什么,这让我困扰。 我期望的行为是1.1.0 Qemu虚拟主机给了什么。 这就是为什么人们使用内存膨胀(这实际上是我正在试验)。 它几乎看起来像2.4.1框是自动气球,但我的RES列永远不会减less,所以我不知道这是可能的。 我不确定是否有一个我不知道的QEMU变化或什么… 任何有识之士将不胜感激。 谢谢!

如何从服务器A到B执行远程调用来创build虚拟机

这是我在serverfault的第一个问题,所以我希望我这样做正确,因为我通常在Stackoverflow 🙂 我有两个Ubuntu 14.04 LTS服务器,服务器A和B. 服务器A运行我的客户门户运行的Web服务器,客户可以在其中订购虚拟机。 服务器B是具有KVM的虚拟机pipe理程序,其中创build映像并最终创build虚拟机。 我最近在服务器A上创build了一个bash脚本: 从一个仍然需要创build的虚拟机的mysql表中获取信息,并通过它们循环; 检查服务器B的可用磁盘空间,然后是否有足够的空间 用服务器B上的fallocate程序创build图像; 在服务器B上使用先前创build的映像创build具有vert-install的虚拟机。 所有这些命令都是使用SSH执行的。 这意味着对于每个虚拟机,我需要执行3个SSH命令。 如果虚拟机pipe理程序没有足够的磁盘空间用于创build映像,则更多。 当只有一个客户订购一个虚拟机,并且只有一个虚拟机pipe理程序时,这种脚本就可以正常工作。 有多个客户订购虚拟机和有多个虚拟机pipe理程序可能会破坏脚本。 然后我想到了以下解决scheme: 每当客户点击button“订购虚拟机”时,就会完成对虚拟机pipe理程序+端口的telnet调用,监听该端口的守护进程将运行一个脚本,例如: 端口7000:创build图像 端口7001:创build虚拟机 然而问题是我对这种东西缺乏了解。 例如: 我用什么语言编写守护进程? PHP是我的主要语言,但是因为它是“死亡的语言”,所以编写守护进程可能不太好。 这个守护进程如何监听多个端口并根据哪个端口进入正确的动作? telnet是用于这种过程的正确协议吗? 守护进程只会监听我们自己networking中的私有地址,这意味着安全性在这里没有问题。 有不同的技术更适合吗? 我没有尝试太多,因为我不知道从哪里开始。 有很多事情要考虑,但我只是需要一点点正确的方向才能开始。 我不一定需要示例代码(当然可能有帮助)。 我可以提供我创build的bash脚本,如果需要的话。

通过外部dynamicip将域路由到本地networking上的不同服务器

我一直在阅读和学习很多,但是这是我第一次在这里发表一个问题。 这就是这样的情况: – 我有几台Web服务器(CentOS 7 + Apache),其中一些使用KVM和一台物理服务器,在本地networking中运行。 – 该networking使用dynamicIP连接到互联网。 – 目前,我添加一个端口redirect到路由器为了访问不同的networking服务器。 例如,如果我需要访问我的web服务器在192.168.0.33我使用mydomain.dyndns.org:8033,路由器映射外部端口8033与192.168.0.33机器的内部端口80。 这就是我所需要的: – 我想有一种中间服务(bind9?proxy?vhosts?任何东西!)来充当apache的虚拟主机,以将域路由到内部IP。 例如,当我想要访问192.168.0.33的networking应用程序,我只使用domain33.dyndns.org。 – 如果可能的话,我希望能够制作子域名。 例如,使用webapp1.domain.dyndns.org来访问特定的apache目录。 对不起,如果这是一个愚蠢的问题,并提前谢谢。 问候, Damon H.

用于kvm虚拟化的共享存储解决scheme? (主页设置)

目前我有一个小型的家庭kvm基础设置,我主要是为了学习的目的。 它目前是一个主机与RAID 1设置存储。 我为客人使用lvm,并有大约8位客人。 最近在工作中,我经历了更新我们的全新的VMware vSphere环境的过程。 它由两台戴尔主机组成,而存储则由iscsi返回Dell Equallogic SANS。 我真的想在家里做类似的设置。 能够在一台主机上进行维护的同时保持一切正常运行。 仍然主要是为了学习的目的,但它会很高兴有。 我想第一步就是搞清楚我的存储解决scheme应该是什么。 我有一个单独的freenas框设置,所以我可以很容易地做iscsi或nfs,但做了一些快速谷歌search后,我看到像GlusterFS其他解决scheme,认为相似,但我没有任何经验,这些东西或涉及的硬件是什么。 我想我正在寻找一种可以在生产环境中使用的解决scheme,但是在家庭实验室中可以做到。 有什么build议么?

Linux KVM主机CPU核心与客户端的比例

我知道这是一个常见的问题,但我仍然需要问清楚:我应该为我的kvm客户端分配多less个核心? 主机有1个8核的CPU。 我应该给客户多less个内核? 我只有一个客户 我有两个同等负载的客户端 我有两个不同负载的客户端 我有8个客户 我有超过8个客户 我的客户主要运行MongoDB + NodeJS,我认为multithreading将是一个优势或不是? 主机CPU来自英特尔,我也有超线程(虚拟)核心。 我对任何经验和build议感到高兴,关于这个问题的大部分线程以“每个客户端使用1个核心”结束 – 但是变化1-3会以核心完全不使用 – 或者我错了 编辑:我想我需要更多地关注这个问题: 分配给客户端的核心比实际的主机有更多的核心是不是一个好主意? 更多虚拟机核心是否意味着更多的权力? 为虚拟机需要线程更改/(核心更改??)比运行它作为单个核心更多的性能? 这不是资源计划 – 我很感激一些kvm的build议,因为我不了解在某些情况下的影响。

限制linux文件caching内存的使用(以避免pipe理程序内存耗尽)

我有一个16GB内存的服务器运行几个Linux虚拟机(10左右),执行几个不同的任务。 这些具有默认configuration的机器将会填满我所提供的带有caching的最大内存。 即使对于物理主机来说,这是一个理想的行为,但是在我的设置中,这个caching实际上消耗了不能从主机上释放的真正的主机RAM,并迫使我设置相对较低的RAM数量(不超过(16 – host cache)/number of vms )。 这是非常不可取的,因为系统失去了灵活性,无法处理来自具体vms的零散RAM请求。 我想到的唯一方法是限制内核可用于caching的RAM数量(或使caching尽早过期),但是我还没有find有关如何执行此操作的任何文档。 大多数论坛post都是指linuxatemyram.com或者类似的,我似乎也没有在/ proc / sys / vm /下面公开任何相关的参数。 也许有些人可以提供一些见解呢? 我会很感激。