我最近开始在具有 8G 内存的 Linux 主机系统上将 KVM 用于我的开发/测试环境。之前,我在我的虚拟环境中使用 VMware Fusion,但我的 Macbook 只有 2G 内存。我在主机上尝试了 VMware Server 和 ESX 而不是 KVM,但是 webUI 不能在 Mac OSX 的 Firefox 上运行,无论如何我们将使用 KVM 做更多的事情。
我想念的 VMware 的主要功能是强大的快照/回滚,但我在 KVM 中缺少它。我理解快照命令,但它在完成后关闭来宾操作系统,然后复制磁盘映像以保留其状态很麻烦。
这真的是在 KVM 上管理快照的最佳方式吗?
我找不到有关备份 qcow2 kvm 来宾的任何好的信息。我对来宾运行状态并不真正感兴趣,只对文件系统感兴趣。这个问题建议使用savevm但会创建一个适当的快照。我想远程备份文件系统。
有没有比以下更好的方法:
这有几个缺点。首先,复制一个巨大的图像文件需要(相对)很长时间。其次,我必须始终确保我有足够的空间来备份我的机器。这并不理想。有没有其他更好的方法来管理 KVM 备份?
谢谢。
我有一个通过 ssh 连接的虚拟化服务器。如果我现在更改窗口的大小,它将自动传播到服务器。使用stty -a,检查列和行值最容易看到。
然后我使用virsh console连接到基于 KVM 的虚拟机上的串行接口。当我现在更改窗口的大小时,它不会传播到虚拟服务器。这最容易通过检查 看到,stty -a当我更改窗口大小时,它不会在虚拟机上更新。这意味着换行符在终端中无法正常工作,并且任何依赖窗口大小进行格式化的应用程序(emacs、man 等)都会被弄乱,除非客户端上的窗口大小与服务器上的默认大小匹配。
一种解决方法是使用 stty 手动设置窗口大小以匹配客户端窗口,但我想知道是否有任何方法可以让此信息自动传播并在虚拟机中设置窗口大小。
如果我尝试在 KVM 主机上执行以下操作:
# kpartx -av /dev/VolGroup00/kvm101_img
add map kvm101_img1 : 0 208782 linear /dev/VolGroup00/kvm101_img 63
add map kvm101_img2 : 0 125612235 linear /dev/VolGroup00/kvm101_img 208845
# mount /dev/mapper/kvm101_img1 /mnt
Run Code Online (Sandbox Code Playgroud)
然后我正在安装 /boot 分区。但是,如果我输入以下内容,则会出现错误:
# mount /dev/mapper/kvm101_img2 /mnt
mount: you must specify the filesystem type
Run Code Online (Sandbox Code Playgroud)
这是客户机上的 fdisk 布局:
# fdisk -l
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 7832 62806117+ 8e Linux LVM
Run Code Online (Sandbox Code Playgroud)
是否可以在来宾上找到根分区并将其挂载到主机系统上?
我希望我的一些域在我的主机启动时自动启动(我在 ubuntu 上使用 libvirt+KVM)。我想我可以在 rc.local 中放置一些“virsh start...”语句,但是有没有办法在 libvirt/virsh 中配置它?
如何减少或缩小 KVM 虚拟机磁盘的大小?
我分配了一个 500GB 的虚拟磁盘(存储在 /var/lib/libvirt/images/vm1.img),我发现这有点矫枉过正,所以现在我想释放一些空间用于其他虚拟磁盘机器。关于如何增加图像存储空间似乎有很多答案,而不是减少它。我找到了virt-resize工具,但它似乎只适用于原始磁盘分区,而不适用于磁盘映像。
编辑:我使用的是带有 Ext4 格式分区的 LVM。
编辑:显示我的 LVM 分区布局的 GParted 屏幕截图。我需要做更多的事情,然后只是调整文件系统的大小。我知道没有安全的方法来调整 LVM 的大小。并且请不要告诉我使用pvresize. 尽管它的名字,它不支持调整 LVM 的大小。

我确实尝试过sudo pvresize /dev/vda5,但它只是说physical volume "/dev/vda5" changed但实际上并没有减小尺寸。
我尝试开始parted手动设置分区大小(非常危险),但这样做print all只会给我错误“/dev/sr0 无法识别的磁盘标签”。
编辑:通过遵循这些说明,我能够成功缩小我的逻辑和物理卷(尽管我必须记住在某些命令之前和之后激活和停用 lvm,这些指令省略了。
现在 GParted 显示 250G 的未分配可用空间。如何从 KVM 磁盘映像中删除它并将其返回给底层管理程序?
我找到了以下集群管理软件工具:
一个网站,两者都有演示文稿
看来起搏器的使用范围更广了。我有 2 个用于 12 个不同 VM 的硬件服务器。我将使用的 linux 系统是 debian lenny。我想使用的设置:drddb、heartbeart、kvm。我没有使用集群管理软件的经验。
有人对起搏器和/或 openqrm 有一些经验吗?哪个更容易使用?还有其他候选人吗?
我有 2 个虚拟机作为来宾运行在 Ubuntu 10.04 上运行的 KVM 虚拟化平台上。一个VM是Ubuntu 10.04系统,另一个是Windows 7系统。根据 top 的说法,当两台机器都完全注销时,Linux 机器使用 1% 的 CPU,Windows 机器使用 45-50%。virt-manager 中的图表似乎支持这一点。在后台运行的 Win7 映像上没有安装任何东西;它尽可能新鲜。
为什么 Windows VM 在注销和空闲时使用的比 Linux VM 多得多?
编辑:
我从一开始就使用 paravirt 存储和网络驱动程序安装了来宾。我不相信我还缺少其他任何驱动程序,我错了吗?
根据客人的任务管理器,它确实是空闲的。Taskman 大约占用来宾 CPU 的 1% 或 2%,但没有其他进程占用任何 CPU 时间。
我刚刚构建了一个全新的基于 KVM/libvirt 的虚拟机主机,包含 4 个 SATA II 硬盘驱动器,并运行 CentOS 5.5 x86_64。
我决定在作为 libvirt 存储池管理的 LVM 卷组中创建虚拟机磁盘作为逻辑卷,而不是将磁盘创建为 qcow 映像的通常做法。
我无法决定是应该在 VM 主机的卷组中还是在专用卷组中创建虚拟机逻辑卷。
我应该选择哪种方法,为什么?
md0包含/boot文件系统的小型 RAID1md1占用剩余空间的大型 RAID10 ,其中包含一个 LVM 卷组vghost。vghost包含 VM 主机的根文件系统和交换分区vghost根据需要创建虚拟机磁盘作为逻辑卷vghost相对轻松地从中分配更多空间尽管这种方法似乎有效,但我无法摆脱这样的感觉,即这在某种程度上是个坏主意。我觉得:
md0,并md1在方法1,除了化妆md1只是大到足以容纳VM主机(如5至10GB)md2占用剩余空间。md2包含一个 …