如何kvm
在启动时以全屏模式启动 Windows 虚拟机,使 Windows 运行虚拟化这一事实对 Windows 用户完全隐藏?
基本上在启动 kvm 主机后,Windows 应该会出现并且底层的 kvm 主机应该完全隐藏。
VM使用KVM,时间不同步。暂停 2 分钟后,它会保持永久的 2 分钟间隔。使用不同的网络配置设置另一个 VM 显示网络配置阻止 ntp 工作。修复此网络问题已不合时宜。
但是,没有网络问题的新虚拟机在恢复后也不同步。相同的测试:暂停 2 分钟。使用正确同步的机器检查日期差异。2 分钟的延迟是永久性的。
这似乎是一个常见问题,关于如何保持 VM 同步以及同时使用 NTP 和 kvm-clock 存在争议。我找到了很多参考资料,但没有答案。
我有一个 Debian VMntpd
正在运行但没有更正时间。例如,在暂停/恢复之后,我得到了 2 分钟的永久偏移。
/etc/ntp.conf
是默认的或接近默认的,没什么特别的:
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
driftfile /var/lib/ntp/ntp.drift
# Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 qemu-system-ppc64(类似于 lkvm)启动虚拟机。我正在使用以下命令:
qemu-system-ppc64 --enable-kvm -vga none -nographic -nodefaults -chardev stdio,id=id1 -device spapr-vty,chardev=id1 -machine type=pseries-2.2,usb=off -smp 1 -m 128 -kernel vmlinux -fsdev local,id=root,path=.,security_model=none -fsdev local,id=containerfs,path=opt/stage2/hello/rootfs/,security_model=none -device virtio-9p-pci,fsdev=root,mount_tag=/dev/root -device virtio-9p-pci,fsdev=containerfs,mount_tag=/dev/basefs -append 'root=/dev/root rootfstype=9p rootflags=trans=virtio,version=9p2000.L init=lib/systemd/systemd systemd.log_level=debug systemd.log_target=console '
我想向控制台显示一个简单的“hello world”。所以我在 lib/systemd/system 中编写了以下名为 hello.service 的服务文件:
[Service]
Restart=no
Type=oneshot
ExecStart=/bin/echo "hello world"
User=0
Group=0
StandardOutput=journal+console
StandardError=journal+console
SyslogIdentifier=hello
[Unit]
Description= Application "Hello"
DefaultDependencies=false
OnFailure=reaper.service
Wants=exit-watcher.service
Requires=base-mount.service
After=base-mount.service
Run Code Online (Sandbox Code Playgroud)
但是当我启动虚拟机时,我在屏幕上看不到输出“hello world”。你能帮忙说明如何在控制台上输出输出吗?
是否可以使用 libvirt 或 virsh 在来宾 VM 内为 eg:iostat 执行命令。我想找出来宾 vm 的 IOPS 但使用 libvirt java api 我无法获得 vm 的 IOPS,因此另一种方法将是在来宾虚拟机中执行类似 iostat 的命令并记录读数。
我不小心删除了 /var/lib/libvirt/images 目录中的错误图像文件。我不知道如何重新创建一个或撤消我的删除。任何提示?
根据大量消息来源,KVM 时钟驱动程序加载如下所示:
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
Run Code Online (Sandbox Code Playgroud)
这些消息来源似乎都认为这必然意味着运行 Linux 的来宾 VM 正在从该时钟驱动程序中获取其时钟值。我的经验是事实并非如此。几个独立的测试表明,与主机时钟和网络时间源相比,来宾操作系统时钟每天关闭多达 3 秒。该hwclock
程序也用于确认这一点。是否需要一些额外的步骤来获取 current_clocksource?还是其他地方的问题?还是应该使用tsc
驱动程序?
是否可以像在 vmware Player 上一样将 QEMU/KVM/libvirt(在 x86-64 上)下的虚拟机状态保存到磁盘,这意味着:
如果可能,它是否需要 VM 中的特殊驱动程序?哪一种适用于 Linux 和 Windows 7 来宾?
我已经使用 virt-manager 设置了一个 qemu Linux 客户机。我已经成功挂载了一个主机路径。主机上的 libvirt 配置片段:
<filesystem type='mount' accessmode='mapped'>
<source dir='/home/robert/Documents/sources/oss/linux'/>
<target dir='/linux-src'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</filesystem>
Run Code Online (Sandbox Code Playgroud)
来宾上的 fstab 行:
/linux-src /mnt/linux-src 9p defaults 0 0
Run Code Online (Sandbox Code Playgroud)
访问和阅读工作正常,但我无法写入该目录
$ cd /mnt/linux-src
$ touch asd
$ touch: cannot touch 'asd': Permission denied
Run Code Online (Sandbox Code Playgroud)
我作为root
来宾中的用户运行,文件属于我的用户 ( robert
) 在主机上。
我该怎么做才能允许来宾对该文件夹的写访问权限?
与在裸机上(直接在主机上)运行 docker 容器相比,在 VM 内运行 docker 容器有什么好处?
我听说过一些公司在 VM 中运行 docker 容器,特别是在 docker 会议中提到一些组织正在这样做。为什么?
(比较在主机上运行的 Docker 容器与在主机上的 KVM 内运行的 Docker 容器)
那么为什么有人会在 KVM 中运行 Docker?他们不会从 KVM 中承受不必要的性能损失吗?
我正在尝试按照 Michael Jang 的 RHCSA/RHCE 设置指南设置一个 RHCE 研究实验室。我已经按照书中的指南找到了点,尽管在我看来缺少很多信息(对于这样的书来说,一步一步会很好)。
TL;DR - 在我的 KVM 设置中,我无法让虚拟机在同一子网中相互通信。我的学习指南说要对 virbr# 设备使用前向 NAT...但它不起作用。
我遇到的主要问题是我的虚拟机无法 ping 网络上的任何内容:“目标主机无法访问”。server1 无法 ping 其默认网关、主机,甚至无法 ping 通位于同一子网上的 tester1。尝试访问 externalr1 也是如此,它是同一 KVM 主机 PC 上的不同子网。VM tester1 和 outsider1 上也存在相同的行为。
对于设置,我在专用网络 (192.168.5.0/24) 上有一台主机,根据本书我创建了两个 KVM 虚拟网络和三个 VM。以下是每个 VM 的配置摘要。
server1.example.com
- 附加到虚拟网络“example.com”:NAT
- 设备型号:virtio
- vNIC MAC 52:54:00:86:51:d2
- 静态 IP:192.168.122.50/24,gw=192.168.122.1
tester1.example.com
- 附加到虚拟网络“example.com”:NAT
- 设备型号:virtio
- vNIC MAC 52:54:00:89:20:c7
- 静态 IP:192.168.122.150/24,gw=192.168.122.1
局外人1.example.org
- 附加到虚拟网络“example.org”:NAT
- 设备型号:virtio
- vNIC MAC 52:54:00:03:c3:0a
- 静态 IP:192.168.100.100/24,gw=192.168.100.1
我按照说明创建了两个虚拟网络,从虚拟主机 PC 上看到的设置如下:
# virsh list
Id Name State
----------------------------------------------------
1 outsider1 running …
Run Code Online (Sandbox Code Playgroud)