创建 VM 映像(例如 KVM 映像)时,是否应将 LVM 用于分区?如果您想在主机中挂载 qcow2 映像(如果映像具有 LVM 分区),这似乎会增加复杂性。
另一方面,LVM 分区的优势在 VM 映像上似乎没有那么重要,因为与物理系统相比,使 VM 脱机并调整分区大小要容易得多。
我正在使用以下命令在 Debian 测试 x64 上运行 QEMU/KVM:
kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user
Run Code Online (Sandbox Code Playgroud)
但是当我在虚拟机内部单击时,QEMU 会捕获我的鼠标并且不会放开它。我认为释放鼠标的组合键是Right Ctrl,但按下它时没有任何反应。我也尝试附加-usbdevice tablet
或-usbdevice mouse
选项:
kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user -usbdevice tablet
Run Code Online (Sandbox Code Playgroud)
或者
kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user -usbdevice mouse
Run Code Online (Sandbox Code Playgroud)
但情况是一样的。我正在使用 QEMU 模拟器版本 1.7.0(Debian 1.7.0+dfsg-2)。
是否可以使用 virt-manager 中的“Filesystem Passthrough”虚拟硬件选项与我的 Windows 来宾共享 Linux 主机上的文件夹?我找到了一些关于如何使用 Linux 客户机执行此操作的教程,但是当我使用 Windows 客户机尝试此操作时,我在尝试启动 VM 时收到以下错误消息:
Error starting domain: Unable to read from monitor: Connection reset by peer
Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 100, in cb_wrapper
callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/asyncjob.py", line 122, in tmpcb
callback(*args, **kwargs) File "/usr/share/virt-manager/virtManager/domain.py", line 1210, in startup
self._backend.create() File "/usr/lib64/python2.7/site-packages/libvirt.py", line 698, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: Unable to read from monitor: Connection reset by peer …
Run Code Online (Sandbox Code Playgroud) 除非您已经有一个可用的 XML 文件,否则您似乎无法使用 virsh 创建全新的 VM。
我刚刚安装了 QEMU-KVM 工作所需的所有位,现在需要创建我的第一个 VM。
如何?
提示:我没有图形!
我已按照本指南(在 Ubuntu 11.10 上使用 KVM 进行虚拟化)在我的 Ubuntu 11.10 服务器上设置我的 KVM(虚拟机软件)。但是,我在创建 VM 时没有设置 VM 的 IP 地址,而是使用:
vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --ip=192.168.0.101 --gw=192.168.0.1 --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/vm1/boot.sh --mem=256 --hostname=vm1 --bridge=br0
Run Code Online (Sandbox Code Playgroud)
我用过:(我从命令行中删除了“--ip=192.168.0.101 --gw=192.168.0.1”)
vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/vm1/boot.sh --mem=256 --hostname=vm1 --bridge=br0
Run Code Online (Sandbox Code Playgroud)
我已经按照向导的指示设置了网桥,并且新虚拟机的接口已连接到网桥。
我假设 KVM 将通过 DHCP 分配我的 VM,但我没有关于我的新 VM 的 IP 地址的信息,我在哪里可以找到 VM 的 IP 地址和到新 VM …
我有 2 台计算机(都运行 linux),我目前正在使用协同作用来使用它们。这很棒,但现在我想知道,有没有办法(有可能吗?正在研究?尝试过但失败了?绝对不可能?)不仅可以在计算机之间共享鼠标/键盘/剪贴板,而且可以共享X 会话?我在想的是能够在显示器之间拖动 X 窗口。
我意识到这是非常重要的事情,而且我对 linux(虽然不是 xserver)有足够的了解,我想追求这个想法,即使没有什么可以为你做这件事。
另外,我不需要能够“安装它并且它可以工作”。我完全愿意(如果不需要,我会感到惊讶)安装自定义内核,或在机器之间安装分区,或任何需要的东西。因为我认为它需要在两台机器上运行相同的 xorg 服务器实例。
[背景:我想实际测试如何在未连接时关闭静态网络接口?]
我正在使用 libvirt(通过virt-manager
)设置 QEMU-KVM 虚拟机。我在上面放了两个网卡(都是 virtio)。它们桥接到主机上的物理 NIC。
我想测试当我“拔掉”一个 NetworkManager 时它会做什么。但是在 virt-manager 中没有按钮/复选框,也没有快速的谷歌搜索出现任何东西。
如何模拟拔掉网线?
我试图了解 VM 生态系统的所有组件是如何组合在一起的。
有什么区别:
哪个由virsh
和控制virt-install
?
这个评论说 libvirt 是 QEMU 之上的抽象,QEMU 是 KVM 之上的抽象。然而官方的 QEMU 文档说 QEMU 是一个处理器模拟器,这听起来像是最低级别的组件。
我使用 Ubuntu 12.04 64 位和 KVM,我的 CPU 是 Core i5 3.3 GHz,我有 8 GB 的 DDR3 RAM。我在 KVM 中运行 Windows 7,它非常慢。我的同事在相同的 PC 配置上使用 Debian,并且可以非常快地运行 Windows 7!我的问题在哪里?
[guyfawkes@guyfawkes-pc ~/work]$ sudo cat /etc/libvirt/qemu/windows.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit windows
or other application using the libvirt API.
-->
<domain type='kvm'>
<name>windows</name>
<uuid>5c685175-baea-0ca6-591f-8269d923ffb8</uuid>
<memory>2097152</memory>
<currentMemory>2097152</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='x86_64' machine='pc-1.0'>hvm</type>
<boot …
Run Code Online (Sandbox Code Playgroud) 我正在使用qemu-system-x86_64
. 我知道通过 USB 设备的两种方法。
比如说,我有一个鼠标出现在 lsusb 中
Bus 003 Device 011: ID 6ade:9582 Amazing Mouse Maker
Run Code Online (Sandbox Code Playgroud)
我可以通过使用
-device usb-host,vendorid=0x6ade,productid=0x9582
Run Code Online (Sandbox Code Playgroud)
或者
-device usb-host,hostbus=3,hostaddr=11
Run Code Online (Sandbox Code Playgroud)
这两个我都不喜欢。如果我通过供应商/产品 ID 抓取它,那么在 VM 关闭之前,我将永远无法收回该鼠标。
如果我通过 BUS 和设备号获取它,那么如果我拔掉它,我将不得不告诉 Qemu 重新获取它。
我可以通过端口(实际的物理插槽)发送它吗?假设它已插入总线 3 端口 2。我可以通过它吗?