标签: kvm-virtualization

虚拟机快照工作原理的详细解释

我想完全了解虚拟机快照的工作原理。尽管我已经研究过这个主题,但我似乎无法找到快照实际工作方式的“高级”概述。我的问题是:

示例场景:我有一个运行 KVM 的 Ubuntu 12.04 主机和一个 Ubuntu 来宾。虚拟机采用 RAW 格式。我使用virsh命令对其进行快照,

  1. 生成的文件(快照)是否可启动?或者只是更改需要基本图像可用的数据?
  2. 如何回滚到先前的状态?
  3. 拥有冗长的快照链是否会降低虚拟机的性能?如果是这样,为什么?
  4. 如何管理/修剪快照?

linux ubuntu snapshot kvm-virtualization virsh

2
推荐指数
1
解决办法
1264
查看次数

将 OpenStack 部署到单个节点有用吗?

由于一些限制以及基于 Windows 的专用服务器的报价很少且价格昂贵,我考虑租用一台 Linux 服务器,并在该服务器上运行多个虚拟机。

我想过使用 KVM,但是在命令行中设置和运行一个新的 VM 并不是一件容易的事(并不难,只是点击几下)。我可以访问 OpenStack 集群,部署新机器真的很容易,所以我的同事也能做到。

问题是,现在我们只有一台租用的服务器,而这些服务器只有一个物理网络。我找到了一个脚本,可以在一台机器上设置所有 OpenStack 服务(https://github.com/ilearnstack/cloudgear),但是这样做有用吗?或者我应该直接坚持使用 KVM,因为无论如何我将在具有 5-10 个 VM 的第二台机器上最多只有 1 个,并且 OpenStack 开销太大?

或者有没有像virt-manager这样的在线工具?通过这种方式,创建和运行虚拟机也将得到简化。

virt-manager openstack kvm-virtualization ubuntu-12.04

2
推荐指数
1
解决办法
3714
查看次数

如何使用 LVM VG 作为存储池增加 KVM 来宾磁盘大小?

KVM 主机服务器运行 CentOS 6.5,LVM 卷组“storage_pool”用作 KVM 的主要存储池。

使用 ext4 文件系统安装 Ubuntu 客户机并将整个 /dev/vda1 挂载为 /。这是来宾磁盘配置:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw' cache='none' io='native'/>
  <source dev='/dev/storage_pool/kvmguest.img'/>
  <target dev='vda' bus='virtio'/>
  <alias name='virtio-disk0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
Run Code Online (Sandbox Code Playgroud)

增加来宾磁盘大小的最佳方法是什么?VG 有很多可用空间。

我找到了一些例子,但大多数也在来宾内部使用 LVM,或者并不完全适用。据我了解,常见的方法是在同一个VG中创建一个更大的LV,关闭guest,传输数据,编辑配置以使用新的LV?

预先感谢您的任何建议或指示

lvm disk-space-utilization kvm-virtualization

2
推荐指数
1
解决办法
1万
查看次数

为什么我会失去 /24 之外的虚拟机的网络连接?

我在单个真实服务器(带有 KVM 的 Ubuntu Server 14.04)上托管了一堆虚拟机(Ubuntu Server 14.04)。虚拟机的数量不断增加,我很快就会拥有超过 254 台。

去测试,

  1. /etc/network/interfaces将真实服务器的网络掩码从255.255.255.0更改为255.255.254.0。真实服务器的IP地址是192.168.1.30

  2. 我做了类似的操作virsh net-edit default,将 的网络掩码更改virbr0255.255.254.0

  3. 我也将交换机的网络掩码更改255.255.254.0为。

  4. 我像这样更改了测试虚拟机的配置:

    auto eth0
    iface eth0 inet static
    address 192.168.2.35
    netmask 255.255.254.0
    network 192.168.1.0
    broadcast 192.168.2.255
    gateway 192.168.1.1
    dns-nameservers 192.168.1.13
    dns-search example.com
    
    Run Code Online (Sandbox Code Playgroud)

这是目前的状态:

  1. 我无法192.168.2.35从真实服务器ping :它只是停留在“PING 192.168.2.35 (192.168.2.35) 56(84) bytes of data”。当停止 (Ctrl+C) 时,它会抱怨:“143 个数据包传输,0 个接收,100% 数据包丢失,时间 142134 毫秒”。

  2. 虚拟机192.168.2.35无法 ping 任何东西(无论是交换机、真实服务器还是 google.com),前两个都抛出“connect: Network is …

subnet netmask kvm-virtualization

2
推荐指数
1
解决办法
660
查看次数

在来宾中使用多个 virtio 磁盘更改 KVM 启动顺序

我刚开始玩 KVM,所以在这里学习了很多。我有一个来宾运行,最终通过 Virtio SCSI 和 Net 驱动程序 (Win2k3) 以我想要的方式设置了操作系统,并且对一切都感到非常满意。然后我关闭了系统并添加了第二个数据卷作为 Virtio。一旦我这样做了,它就会将我原来的“目标设备”从“VirtIO 磁盘 1”撞到“VirtIO 磁盘 2”,现在它不会启动,除非我手动 F12 并选择(现在是第二个)磁盘。为什么它让我的原始磁盘成为第二个,当它是第一个添加时?更重要的是,我如何重新排列它们?也许只是删除它们并以相反的顺序添加它们?似乎应该有一个配置选项或为此在 XML 文件中进行编辑。

我确实尝试编辑 vmname.xml 文件并找到了该选项。我按照我喜欢的顺序将它添加到每个磁盘设备,但是,它总是无法启动。就像它只会尝试第一个 HDD 并停在那里。它似乎忽略了 XMl 配置中的引导顺序参数。

我现在会继续删除并重新添加,但我很好奇,这不应该是不删除设备的可配置吗?

我正在运行 Ubuntu 14.04,它是最新的。我认为 libvirtd 是 1.2.2。任何其他可能有帮助的规格,请告诉我。谢谢您的帮助!格雷格

快速更新:我尝试删除两个磁盘,关闭 virt-manager,然后重新打开。然后我先添加了 datavol,然后添加了 OSVolume(应该是第一个磁盘),它确实坚持保持倒序!它没有用。

如果磁盘顺序向后,我如何让来宾启动?(无需手动引导至 F12 选项)

[编辑:来宾的 virsh dumpxml]

我看到引导顺序标签现在被删除了,因为我重新添加了磁盘。我希望这个磁盘是第一个: /dev/zvol/dpool/vm/kvm/disk/alinos/osvol

<domain type='kvm' id='80'>
<name>alinos</name>
    <uuid>a161efe4-245a-953b-89e3-04fa3b914f79</uuid>
  <memory unit='KiB'>3145728</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='i686' machine='pc-i440fx-trusty'>hvm</type>
    <boot dev='hd'/>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>SandyBridge</model>
    <vendor>Intel</vendor> …
Run Code Online (Sandbox Code Playgroud)

virtualization linux kvm-virtualization

2
推荐指数
1
解决办法
7302
查看次数

dhcp 未分配网关

所以我正在为 KVM 虚拟机运行一个开发服务器。我有一个在主机节点上本地运行的 DHCP 服务器,配置如下:

/etc/dhcp/dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;

subnet xxx.xxx.x.0 netmask 255.255.255.0 {
 range xxx.xxx.x.2 xxx.xxx.x.127;
 option routers xxx.xxx.x.1;
 option broadcast-address xxx.xxx.x.255;
 option domain-name-servers 8.8.8.8;
 option netbios-name-servers 8.8.8.8;
 default-lease-time 86400;
 max-lease-time 86400;
 option rfc3442-classless-static-routes 24, xxx, xxx, x, 0, 0, 0, 0, 0, 0, xxx, xxx, x, 1;
 option ms-classless-static-routes 24, xxx, xxx, x, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

dhcp debian kvm-virtualization

2
推荐指数
1
解决办法
3023
查看次数

在 CentOS7 的内核中激活 Intel VT-d

按照许多教程,他们要求您更改 /boot/grup/grup.conf 中的 grup 文件。但在 Centos7 中没有 /boot/grup/grup.conf

...

在内核中激活 Intel VT-d 通过将 intel_iommu=on 参数附加到 /boot/grub/grub.conf 文件中内核行的内核行来激活内核中的 Intel VT-d。下面的示例是一个经过修改的 grub.conf 文件,其中激活了 Intel VT-d。

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Server (2.6.18-190.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-190.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet intel_iommu=on
        initrd /initrd-2.6.18-190.el5.img
Run Code Online (Sandbox Code Playgroud)

?? 如何激活inter vt-d

centos intel-vt-x kvm-virtualization virsh centos7

2
推荐指数
1
解决办法
6946
查看次数

将 linode 从 Xen 升级到 KVM 时处理 /etc/fstab

我有一个当前在 Linode 的 Xen 服务器上的 linode。我看到我有资格升级到 KVM linode。

我担心的一件事是 Linode 的升级指南说块设备将从/dev/xvda命名方案更改为/dev/sda命名方案。

我的/etc/fstab是:

proc        /proc        proc    defaults                       0 0
/dev/xvda   /            ext3    noatime,errors=remount-ro      0 1
/dev/xvdb   none         swap    sw                             0 0
Run Code Online (Sandbox Code Playgroud)

所以我想我将不得不以某种方式结合升级来修改它。

如果我只是编辑/dev/xvda/dev/xvdb条目/dev/sda,并/dev/sdb关闭和升级过吗?

我应该切换到UUID=声明设备的样式吗?(现在考虑一下,设备 UUID 会保持不变吗?)

我确实打开了 Linode 的支持票,他们说的是“在升级之前打开配置文件中的 Distro Helper,这应该会解决它”。这留下了它不会的机会,所以我更愿意主动做一件已知的好事。

相关地,我假设管理 UI 中的配置文件中的“根设备”选项(这是一个提供/dev/xvdN选项的下拉列表)将在您升级时正确映射/dev/xvda/dev/sda等?

总而言之,我很想听听那些让他们的 linode 通过 Xen->KVM 转换的人的意见,看看这个问题(以及我不知道的其他问题)是如何解决的。

linux xen linode fstab kvm-virtualization

2
推荐指数
1
解决办法
332
查看次数

CentOS 7 Virsh - 允许非 Sudo 用户与 QEMU / KVM / 虚拟机交互

有没有办法允许非 sudo 用户访问 CentOS 7 中的 KVM QEMU 虚拟机?我想允许非 root 用户在没有 sudo 访问权限的情况下管理 KVM 来宾虚拟机。主要是,我希望用户能够运行 virsh 命令,例如:

virsh list --all
virsh start UUID
Run Code Online (Sandbox Code Playgroud)

我尝试将用户添加到 libvirt 组,但这没有用。我检查了 /etc/polkit-1/rules.d 中的策略套件规则,并且我也遵循了以下说明:

https://goldmann.pl/blog/2012/12/03/con ... t-manager/ https://major.io/2015/04/11/run-virsh-a ... ular-user/

这些都没有奏效。有没有办法做到这一点,如果有,怎么做?

centos sudo kvm-virtualization virsh

2
推荐指数
1
解决办法
4041
查看次数

基于 KVM 的 VPS 每 3-7 天崩溃一次。这是 VPS 端还是节点的问题?

我想知道 VPS 是否是每 3-7 天在晚上 03:00 - 04:00 时间(内核错误或其他)发生的崩溃的根本原因,或者它是一个节点托管虚拟服务器(后端问题)。

详细信息:带有 CentOS 7 的基于 KVM 的 VPS,由 VPS 提供商托管的 xfs,该提供商拥有后端和存储后端基础架构。

通常它以以下方式发生,运行kthreadd过程立即变为D-status(即不间断睡眠),然后我们得到如下消息:blocked for more than 120 seconds.和高LA:

May 21 03:08:01 vps root: root 2 0.0 0.0 0 0 ? S May18 0:00 [kthreadd] May 21 03:10:01 vps root: root 2 0.0 0.0 0 0 ? S May18 0:00 [kthreadd] May 21 03:12:01 vps root: root 2 0.0 0.0 0 0 ? S May18 0:00 [kthreadd] May …

server-crashes kvm-virtualization centos7

2
推荐指数
1
解决办法
277
查看次数