Articles of kvm virtualization

iSCSI作为KVM存储后端:关于每个VM的目标和LUN的最佳实践

我正在使用一个iSCSI池作为几个虚拟机的存储后端,我想知道在这个用例中其他人如何使用目标和LUN。 我从一个名为iqn.2016-06.iscsihost:kvmguests目标开始iqn.2016-06.iscsihost:kvmguests ,每个虚拟机有一个LUN。 但是这会导致一些不太理想的虚拟机的存储目标名称(请参阅此问题 ),所以我想知道是否应该切换到每个虚拟机一个目标(每个目标可能有几个LUN,例如单独的操作系统磁盘等等。)。 这将会产生非常整洁的名字的副作用,这些副作用不能在KVM方面很容易混淆(例如iqn.2016-06.iscsihost:webserver01 , iqn.2016-06.iscsihost:database07等)。 )。 我不确定这会有什么影响,所以任何指针都不胜感激。 所以问题是:这里最好的做法是什么? 一个目标是每个虚拟机有一个(或多个)LUN,还是每个虚拟机有一个目标? 更新:想一想,必须将每个iSCSI目标作为存储池添加到每个KVM主机。 这是非常不方便的,因为每次添加新虚拟机时都必须更改每个KVM主机的configuration…或者我错过了一些东西。 这是如何在现实世界中完成的?

如何在EC2 AMI中制作KVM映像

我们有几个裸机服务器(使用debian操作系统),我们运行多台(100多台)KVM机器 – 主要是debian和centos。 那些机器在LVM或分布式文件系统上(moosefs&glusterfs) 是否可以创build一些环境来自动创build我们可以指定的机器: 主机名 磁盘大小 其他(CPU,networking,RAM)是可选的 现在我们每次都是手工制作新机器,因为每次都要重新安装,所以很枯燥。 我们想制作类似于亚马逊机器图片的东西 我安装了proxmox一秒钟,但我还没有看到类似于AMI的function。 但是也许我错了…

端口转发(iptables)不能从网桥工作

我有一台运行libvirt和brigenetworking(192.168.123.0/24)的KVM虚拟机的服务器。 我试图转发一个端口从主机的公共IP到其中一个虚拟机(192.168.123.103)。 它从互联网访问时正常工作,并从主机还有一个额外的规则,但我无法从虚拟networking内的机器得到它的工作。 这是iptablesconfiguration的相关(我认为)的一部分: # Generated by iptables-save v1.6.0 on Tue Sep 13 16:16:26 2016 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -d xxxx/32 -p tcp -m tcp –dport 7000 -j DNAT –to-destination 192.168.123.103 -A OUTPUT -d xxxx/32 -o lo -p tcp -m tcp –dport 7000 -j […]

802.1q(多个Vlan标记)到客户端

我想让我的标签,(802.1q)的客人,我不希望KVM或CENT剥夺TAG和呈现untaggedstream量。 我将在交换机端口上安装600 Plus vlans,并且我需要客人处理stream量。 我无法在/ network-interfaces中创build600个网桥,因为600个vlan会增长到2045个vlan。 对于esx将所有stream量传递给guest虚拟机的ESX 4095方法是相似的。 我正在运行Centos 7 KVM安装并运行良好 如果可能的话,我可能需要知道以下内容。 我应该离开networkingpipe理器安装在分? 是否有一个Gui可以为我的networking执行此操作,因为许多用户将pipe理这些系统,我们需要一些简单的东西。 可以通过gnome中的networkingpipe理器完成… 谢谢约翰inmontreal

如何为qemu启用“br0”设备的DHCP?

我创build了一个Windows XP映像,并使用qemu引导它。 我正在使用qemu-bridge-helper来设置networking。 在qemu totorials之后,我configuration了/etc/qemu/bridge.conf来允许br0桥接设备。 这是我用qemu启动Windows XP的方法: qemu-system-x86_64 –enable-kvm -m 2048 \ -drive file=winxp.img,if=virtio \ -net nic,model=virtio \ -net bridge,br=br0 图像很好地启动,但我没有得到一个IP地址。 原因是Windowsconfiguration为使用DHCP,但“br0”不提供DHCP地址,因为它只是一个网桥接口。 我的问题是 – 如何configuration“br0”给DHCP地址的winxp? (当通过-net user使用“用户模式联网”时,Windows会分配一个IP,以便Windows驱动程序正确安装。)

在SeaBios中更改启动驱动器

我需要复制我的KVM机器进一步更新。 但是我们的提供商不提供复制整个机器的机会,只是一个硬盘驱动器。 (virtio驱动器vda / vdb等) 所以,我做了一个新的清洁机器,附上旧的驱动器副本,现在试图更换主硬盘驱动器。 不幸的是,提供者也不在iaas面板中提供这个function。 我可以发送ctrl + alt + del并查看引导消息。 (img以下) 所以 – 有SeaBios和gPXE。 我真的不明白如何使用它,找不到任何有用的文档。 任何帮助? 我应该尝试使用SeaBios切换启动硬盘吗? 怎么样? 也许我的整个方法是完全错误的? 我该做什么呢? 我试图调用BIOS设置或启动菜单使用Escbutton,但我没有得到任何有用的东西(第二个IMG)

Grub无法启动我的准系统Arch BTRFS设置

我不确定我做错了什么。 我基本上使用了VM(Linux KVM)中最新的arch linux live disk, 启动最新的arch linux live disk在一个VM(Arch KVM上的Linux KVM) 做了一个单独的分区 用btrfs -m dup格式化 装上隔板,用基地和基地开发带孔的抹布 genfstab -U / mnt / mnt / etc / fstab arch-chroot进入/ mnt分区 通过pacman安装grub,运行grub-install / dev / vda和grub-mkconfig -o /etc/grub/grub.cfg 重启 Grub会抛出一些错误信息:“error:no such device:[some device ID]。\ n loading linux core repo kernel \ n error no such partition \ […]

使用virsh将networking接口添加到KVM主机上的VM时出错

我正在尝试为一个centos 6 guest添加一个networking接口的脚本。 我知道可以使用virt-manager gui来设置接口,但是使用virsh attach-interface或者virt-install的一部分来添加它作为Ansible操作手册的一部分是非常理想的。 所需的接口应该是这样的(尽pipe有一个新的MAC地址) <interface type='direct'> <mac address='52:54:00:39:f8:3a'/> <source dev='enp3s0' mode='bridge'/> <target dev='macvtap8'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> 我一直无法复制这使用virsh attach-interface或virt-install 。 我试过使用以下 virsh attach-interface 16 –type direct –source enp3s0 –model virtio –config –live 但不幸的是,这不会设置源模式,所以我最终以下面的界面 <interface type='direct'> <mac address='52:54:00:e1:d8:2c'/> <source dev='enp3s0' mode='vepa'/> <target dev='macvtap15'/> <model type='virtio'/> <alias […]

如何使用libvirt 0.10.0+(路由networking)找出新虚拟机的ip地址

我的目标是通过仅使用libvirt API(> = 0.10)来查找新虚拟机的IP地址。 目前我正在使用libvirt的net-update命令:在启动一个新的机器之前,我为它设置了静态dhcp条目,并且使用已知的地址启动了vm。 即使使用旧的libvirt版本,它也可以工作,但是有一个bug。 当我“closures”机器时,它不会向DHCP服务器(libvirt / dnsmasq)发送“释放”查询,并且这个IP保持在租约文件中。 如果我在dhcp租期超时之前创build一个具有相同ip地址的新机器,由于dhcp服务器认为这个ip已经被使用(基于租约文件中的信息),所以它不会从静态项目获取ip地址。 有没有更强大的解决scheme来获取机器的IP地址,或者在开始之前将其设置为无法访问目标服务器或虚拟机内的静态networkingconfiguration?

KVM虚拟机无人值守Kickstart安装不自动

我试图在KVM虚拟机上自动安装CentOS 7的kickstart安装。 我的主机系统也是CentOS 7.我的主机上运行的是vsftp服务器上托pipe的CentOS 7 DVD的内容。 当我运行下面的命令时,安装不会自动启动,而是停止在选定的键盘部分。 我可以通过手动指定我的设置来完成安装,但是我试图让整个安装自动完成。 sudo virt-install -n outsider2.example.org -r 1024 –disk path=/var/lib/libvirt/images/outsider2.example.org.img,size=16 -l ftp://192.168.122.1/pub/inst –noautoconsole -x ftp://192.168.122.1/pub/ks2.cfg 我正在使用的kickstart文件的内容如下: #version=RHEL7 # System authorization information auth –enableshadow –passalgo=sha512 graphical ignoredisk –only-use=vda # Keyboard layouts keyboard –vckeymap=us –xlayouts='us' # System language lang en_US.UTF-8 # Network information network –bootproto=static –device=em0 –gateway=192.168.122.1 –ip=192.168.100.101 –netmask=255.255.255.0 –ipv6=auto –activate […]