我们有一个 64 位虚拟机 (CentOS),我们想在 64 位主机上运行(可能在任何操作系统下运行),但该主机不支持硬件虚拟化,你知道,这应该是在其中运行 64 位虚拟机。
我尝试过 VirtualBox 和 VMware Player,但它们都存在非硬件虚拟化处理器的问题。我想也许另一个虚拟化系统可能会有所帮助,比如 OpenVZ 或 XEN 或 KVM?你怎么认为?
在 Stackoverflow,我被建议使用 Qemu。OpenVZ 或 XEN 或 KVM 不能工作吗?我们只是想尝试这些软件中的一个,如果其中一个可以解决这个问题。
谢谢!
在我的虚拟化系统上有一些 VM。其中之一旨在测试其上的某些服务。因此,在这种情况下,我需要拥有该 VM 的第一个状态。
我搜索了一个解决方案,发现这snapshot是一个很好的方法。然后进一步搜索,发现 virsh 可以通过snapshot-create. 但除此之外,还有另一个命令,snapshot-create-as. 我读了他们两个,他们的行为都是一样的。
现在我的问题是,snapshot-create和之间有什么区别snapshot-create-as?
请详细描述!!
我有几个CentOS 6.5 x64 服务器,64 GB RAM 运行大量KVM VPS。
其中一些服务器根本没有交换使用,而有些则使用。我已将swappiness设置为零。但是,即使 RAM 中有大量空闲 GB,有些仍然会交换。
有问题的* 程序是 qemu-kvm - VPS 是 KVM 虚拟机。
这是top通过交换排序的输出(Op 输入):
top - 10:47:31 up 14 days, 1:25, 1 user, load average: 0.05, 0.10, 0.13
Tasks: 325 total, 1 running, 324 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.4%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 65940252k total, 41202572k used, 24737680k free, 9129148k buffers
Swap: 5240808k total, 1039544k used, 4201264k free, 10935732k cached
PID …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建可以看到彼此和主机的虚拟机。它们由 qemu/kvm 托管并通过 libvirt 进行管理。VM 的网络适配器使用 macvtap(VEPA 模式)创建以提高性能。
启用hairpinover switch后,无论是在VM之间还是在VM与Host之间,单播流都可以。
但是,当谈到多播时,我遇到了问题。我发现主机无法 ping6 每个虚拟机。使用 tcpdump,我观察到ff02::1:ff00:212从主机发送到多播地址的 Neighbor Solicitation 数据包没有被我的 VM 收到,其 ipv6 地址是2001:da8:a0:600::212/64. 显然,这个多播数据包应该已经通过 macvtap 传递给 VM。
由于组播问题,所有 ipv6 数据包丢失,邻居发现无法正常工作。
我确定交换机没有任何问题,因为当我通过物理网络适配器运行 tcpdump 时,我可以每秒看到两次 Neighbor Solicitation,一次出,一次进。
在我将主机上的 macvtap 接口设置为混杂模式后,VM 获得 Neighbor Solicitation 数据包以及其他一些应由 macvtap 过滤的多播数据包,但没有到其他 VM 的单播数据包,即使我 ping6 其他 VM 上的同时主持。
所以我认为在所有 macvtap 接口上启用混杂模式是一种可以接受的解决方法,但并不优雅。
我所有的主机和 VM 都是 CentOS 7.0。我已经尝试在我的主机上从 elrepo 安装 kernel-ml(linux 4.1.3) 但它没有区别。
所以:
我读过 Linux (ubuntu/mint) 上的 GPU 直通可以使用正确类型的硬件。我正在寻找直通的特定用例,我想知道技术是否已经足够先进以允许它发生。
我有一个 linux mint 主机,想要一个 Windows 8/10 来宾。CPU/主板支持 vt-d (i7-5820k, asus x99-a)。gpu是一对gtx970。我想:1)设置来宾,使其在主机的窗口内运行,从而允许我使用类似统一模式的东西 2)将 1 个 GPU 传递给来宾 3)当我关闭来宾时VM,我希望通过的 GPU 返回主机,以便我可以使用这对 GPU 执行计算/cuda 繁重的任务
有时我想玩游戏(因此是直通),但是当我实际工作时,我经常需要访问两个 GPU 上的 cuda 核心。我读过的很多关于这个的旧线程都表明 1 张卡从主机上完全消失了,有没有办法让它在不重启的情况下恢复运行?
通常你需要 2 台显示器来处理这种类型的事情,将每个显示器插入一个单独的 GPU。但是是否可以使用第二个 GPU 在主机内呈现窗口化虚拟机,而不是第二个显示器?
关于窗口模式,我确实在 virtualbox 站点上看到了这一点,但我不确定在这种情况下 VM 是否仍然窗口化:https : //www.virtualbox.org/manual/ch09.html#pcipassthrough
我已经搜索过这个并找到了简短的内容,但话虽如此,大多数搜索结果已经有好几年了,所以从那时起它并没有说明任何技术进步。我发现的唯一一件事是 youtube 上的一个视频,它表明它可能是可能的,因为它看起来像是在以窗口模式运行的 VM 上通过 GPU:https : //www.youtube.com/watch?v=XY1zDgCxARw
参考最初的问题,config\Software.log 的目的是什么,但我的问题是为什么要连续写入该文件。我有 6 个 Windows 2008R2 SP1 VM,它们消耗恒定的 1 到 3MByte/秒的写入速度,查看性能监视器,该文件及其同级文件 c:\windows\system32\config\SOFTWARE.LOG 我发现每个文件都使用大约 2Kbyte /sec 正在写入其中。
好吧,我是一个 Un*x 人,所以这就是我问为什么或者在哪里可以跟踪这种持续 I/O 的原因的原因。
编辑:它正在由图像写入:系统PID:4(几乎任何“系统”似乎在此实例上都有该PID号)
主机操作系统:Fedora 来宾操作系统:Windows 10 虚拟化:KVM
所以这个想法是运行一个 Windows 10 主机,它不知道它是一个虚拟机。因此,当我在来宾 Windows 机器上打开任务管理器,并在“虚拟机”标签设置为“否”的性能选项卡下。到目前为止,我已经了解到任务管理器根据这两个参数做出决定:
我希望在 VM(作为来宾)中运行 Windows 10 并让它确信它不在 VM 中。确实有很多原因:GPU 直通、驱动程序终止开关、测试等......
谁能帮我配置这个虚拟机,让它不再知道它是一个虚拟机。
我也在使用 Virt-Manager。
迈克尔的回答解决了这个问题并提供了明确的指导方针。然而,即使目的已经实现,并且在任务管理器中,当在 powershell 中运行“systeminfo”命令时,这不再报告为 VM,除了“BIOS 版本”读取类似“ SeaBios-......fedora28.....”和“系统制造商”,其内容为“QEMU”。
这些参数也可以改变吗?
感谢您的时间和精力。
我正在将我的 PC 从 Windows 10 迁移到 Linux。有一些事情我仍然需要 Windows,而且我目前正在双引导,Windows 和 Linux 位于不同的物理磁盘上。我想摆脱双引导,并在 KVM+libvirt+qemu 下运行虚拟化的 Windows 10 安装。
这里棘手的部分似乎是我的 Windows 10 安装是通过 UEFI(使用 GPT 分区表)完成的,而不是传统的 BIOS MBR。这是我的 Windows 磁盘的样子:
$ sudo parted /dev/nvme0n1 print
Model: Unknown (unknown)
Disk /dev/nvme0n1: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 524MB 523MB ntfs Basic data partition hidden, diag
2 524MB 628MB 104MB fat32 EFI system partition boot, esp
3 628MB 645MB 16.8MB …Run Code Online (Sandbox Code Playgroud) 我正在设置一个新的家庭服务器,以边缘偏执的安全为目标。
因此,所有可以进入虚拟机的开放端口都拥有自己的虚拟机。我使用 Ubuntu Server 作为主机,因为我喜欢免费的无需重新启动的内核修补。
我已经设置了四个 Debian VM,连接到默认的虚拟桥接口。我现在可以看到并访问应该从主机打开的端口,但是当我尝试从网络访问它们时,我失败了。当使用 nmap 查看它们时,它们显示为“已过滤”。
如何使这些端口可以从更广泛的网络访问?我可以将端口从物理接口转发到网桥上的子网吗?还是让访客使用我的实际路由器(而不是 KVM 内置的路由器)作为网关会更好?
请参阅下面的更新,了解我发现的有关此问题的更一般性质的内容。
我有一个运行 OVMF 固件的 Windows VM,带有 VFIO 直通功能,用于在 Arch Linux 主机上运行的显卡。我正在尝试在所述 VM 中启用 Windows Sandbox。Microsoft 文档表明在 L1 VM 中运行 Sandbox 应该是可能的,尽管他们的文档是为 Hyper-V 管理程序编写的。
当我在我的 VM 中启用 Windows Sandbox 并作为其安装过程的一部分重新启动时,VM 在启动过程中大约半秒失败。它会这样做两次,然后尝试启动修复。这是一个显示发生了什么的视频(对质量表示歉意)。该视频结束后,自动修复告诉我我的电脑无法正常启动。
如果我从那个环境进入恢复命令行并运行dism /image:D:\ /disable-feature /featurename:containers-disposableclientvm(即禁用 Windows Sandbox),我就可以很好地启动到我的系统中。在我的系统上,此问题始终可重现。
文档表明,如果计算机配置不支持 Windows 沙盒,则它不会成为 Windows 功能对话框中的启用选项,并且如果我设置了主机内核参数,kvm_intel.nested=0它确实会变灰。
此问题最初出现在 Windows 10 Pro 版本 1909 上,但更新到版本 2004(内部版本 19041.388)后问题仍然存在。
那么,我的问题是:我怎样才能得到错误消息而不是无消息崩溃,和/或我怎样才能让它不崩溃?我发现在没有错误消息或有用的日志条目的情况下很难在这种情况下进行谷歌搜索,而且我不知道从哪里开始。
我尝试过的事情:
linux-kvm ×10
libvirt ×3
linux ×2
windows ×2
centos-7 ×1
fedora ×1
gpu ×1
hyper-v ×1
iptables ×1
memory ×1
networking ×1
openvz ×1
p2v ×1
qemu ×1
snapshot ×1
swap ×1
swappiness ×1
ubuntu ×1
uefi ×1
virt-manager ×1
virtualbox ×1
vmware ×1
windows-10 ×1
xen ×1