我需要使用 LVM(逻辑卷管理器)扩展虚拟机 (VM) 的根分区。我可以承受几分钟的停机时间,因此 VM 关闭/重新启动就可以了。
虚拟硬盘为qcow2格式,但我可以轻松将其转换为原始格式。
搜索引擎并没有多大帮助,因为答案通常是指使用 LVM 分区来托管虚拟硬盘,这里的 LVM 分区位于虚拟硬盘内,这是一个简单的文件。
虚拟机使用 linux-kvm 运行,并且在操作后必须保持可引导。
我有一个 512mb Centos 6 VPS 在 KVM 上运行。现在来自组织的另一个 VPS。我管理正在 OVZ 上运行。
当我在 KVM 上键入 top 时,我会得到所有排序进程的完整列表。但是当我在 OVZ one 中这样做时,我只能得到大约 20,这是正常的。
那么我如何关闭所有这些(不必要的?)进程并保持干净呢?下面是 top 现在的样子:

如何检查 virtio 存储访问是否virtio_blk确实正在使用或最终存在的后备驱动程序?
现有文档没有回答这个问题:
下列。
lsmod | grep virtio
Run Code Online (Sandbox Code Playgroud)
仅显示 virtio 内核模块已加载。为尚未安装的硬件加载任意内核模块并不困难。问题仍然是,virtio 内核模块实际上正在使用还是最终存在的后备驱动程序?
我在 debian 主机上设置了 kvm win7 来宾。它已经启动并运行了一段时间,但我没有做太多。我所做的(当然)是下载putty.
今天我想尝试让putty访问主机,所以我不得不更新防火墙规则。在那之后,我再也没有来自客人的互联网连接。恢复更改也无济于事。所以我想知道为什么我不能再从客人那里访问互联网了。老实说,我不明白为什么。
我在此处附加以下最有可能引起兴趣的信息:
当前的 iptable 规则:http : //pastebin.com/pTnfs5sr
kvm 来宾 xml:http : //pastebin.com/U0GhW0px
运行来宾的 qemu cmd:http : //pastebin.com/htZ4R0FE
如果配置:http : //pastebin.com/uGVN29VZ
Ifconfig 显示 2 个虚拟接口:virbr0这是我期望的vnet0,我不知道它是如何设置的以及为什么。virbr0每次我运行virst net-destroy default并重新启动它时,它都会被破坏并重新出现。
预先感谢您的帮助。
编辑:还附加内核路由表:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 <external IP of Host> 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.122.0 …Run Code Online (Sandbox Code Playgroud) 我在 KVM(虚拟机管理器 1.3.2)中有 3 个 Ubuntu 17.10 来宾的 Ubuntu 16.04 主机。
我通过util创建的 iSCSI 门户将几个块设备从 2 个来宾导出到另一个来宾(我们称之为前端)targetcli。导入它们后,我大量使用multipath来查找相同的“物理”磁盘并md创建 RAID 10(例如,mdadm --create --quiet --metadata=1.2 /dev/md1 --level=1 --raid-devices=2 /dev/dm-10 /dev/dm-1)。然后我需要清除这些信息。
问题来了:它不会擦拭。我经历了通常的步骤(比如,清洁md1):
1) mdadm -S /dev/md1
2) mdadm --zero-superblock /dev/md1
3) mdadm --zero-superblock /dev/mapper/md1
一切似乎都很好,直到我删除导入的磁盘并在一段时间后重新导入它们:它们随机出现在 RAID 中。有时 RAID 组名称与最初创建的相差很远(例如 md126 和 md127,而我只创建了 md1、md2、... md12)。这些僵尸 RAID 可以用 掩埋mdadm -S,但它们会在下次导入块设备时再次出现。
为什么--zero-superblock不能完成它的工作?
UPD:正如@roaima 所提到的,命令 2 和 3 等确实返回错误:
Couldn't open /dev/md1 for …
在使用 qemu 设置内核环境时,我可以引导到来宾,但是 rootfs 挂载为'read-only filesystem'. 因此简单的命令就像touch ~/a.txt在来宾中失败。
我在有和没有 sudo 许可的情况下在下面尝试过,但没有任何成功。
qemu-system-x86_64 -kernel arch/x86/boot/bzImage -drive file=~/fs.img,index=0,media=disk,format=raw -append "root=/dev/sda" --enable-kvm
Run Code Online (Sandbox Code Playgroud)
即使将~/fs.img权限从 644更改为 666
$ ls -l ~/btrfs.img
-rw-rw-rw- 1 laks laks 1073741824 Dec 22 11:29 ~btrfs.img
Run Code Online (Sandbox Code Playgroud)
关于我在这里缺少什么的任何想法?谢谢。
从 libvirt / KVM 主机,我想获取通过桥接适配器连接到网络的正在运行的虚拟机的 IP 地址。
重要提示:当虚拟机通过 libvirt / kvm 默认 NAT 网络连接时,我知道如何获取 IP 地址 - 这就是 Internet 上针对此问题的大多数解决方案所描述的。
但是,我无法找到通过网桥连接的虚拟机的 IP 地址。
从虚拟机中:
root@zvm:~# ifconfig -a
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.133 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::5054:ff:fed0:1e27 prefixlen 64 scopeid 0x20<link>
ether 52:54:00:d0:1e:27 txqueuelen 1000 (Ethernet)
RX packets 36 bytes 18540 (18.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 37 bytes 4128 (4.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 …Run Code Online (Sandbox Code Playgroud) Stéphane Chazelas 写道,我可以在虚拟机的文本虚拟控制台上启动 Debian 吗?
你也不能给你的虚拟机提供一个虚拟显卡,而控制台是串行的。就像物理服务器一样,这使得操作 VM 变得更容易,因为当您从主机上的终端仿真器访问该控制台时,您可以更轻松地复制粘贴文本。
在这两个 virsh和virt-manager,我怎么可以:
如何使用 TigerVNC 在 Linux 上配置和保护 VNC 服务器?(在无屏幕服务器或经典机器上)
由于 VNC 服务器 (TigerVNC) 配置在大多数 Linux 发行版上都是相同的,只是安装方法不同,所以这个问题针对:OpenSUSE、Fedora、CentOS、RHEL、Debian、Mageia、Void Linux、Arch Linux、Manjaro 和 FreeBSD(在为了对更多人有用)