将物理磁盘添加到KVM虚拟机

我在Ubuntu Server 12.04系统上将文件服务器(nas4free)设置为KVM虚拟机。

如何将物理硬盘直接添加到VM,以便guest虚拟机(nas4free)可以使用它们,但不能使用主机?

特别是我想挂载的硬盘驱动器是/ dev / sda(当前没有安装在服务器上。)

到目前为止,我已经找到了两个解决方案,但我还没有找到工作。

第一个来自Server Fault ,建议使用virt-manager。 我没有强有力的工作,因为当我尝试选择现有的驱动器时,没有列出任何内容。 我最好猜测为什么会这样,是因为我在ssh上使用virt-manager而不是以root身份连接,是否会产生影响?

我在这里找到的第二个解决方案就是运行命令(为我的系统修改)

qm set nas4free -virtio /dev/sda 

但这似乎需要我没有安装的proxmox,似乎不在默认的存储库中?

最后,一旦完成上述操作并且我可以将驱动器直接安装到VM,是否有人有关于驱动器是否应该作为scsi,ide或virtio安装到VM的经验? (我知道virtio是在链接的ServerFault页面中推荐的,但我之前没有听说过它,因为我主要使用VMWare)。

谢谢你的帮助!!!

虽然已经回答了这个问题,但是你应该使用/ dev / disk / by-id /而不是使用/ dev / sda。

  ls -l /dev/disk/by-id 

这样就可以防止磁盘从/ dev / sda更改为/ dev / sdb。

有完全相同的需求,我发现以下内容:

http://ronaldevers.nl/2012/10/14/adding-a-physical-disk-kvm-libvirt.html

(以下全文来自上述来源)

它不能用virt-manager完成。 那一个花了我一段时间才弄明白。 据我所知,virt-manager适用于存储池。 您可以将磁盘设置为存储池,但不能将现有磁盘直接添加到VM。

幸运的是,修复很容易:您手动将磁盘添加到域的xml配置文件中。 因此,在您喜欢的编辑器中打开/etc/libvirt/qemu/.xml并在该部分中添加一个部分:

      

这将使guest虚拟机中的/ dev / md / storage在/ dev / vdb中可用。 手动更改域的配置后,您必须手动重新加载配置。 登录到您的主机并发出以下命令:

 # virsh define /etc/libvirt/qemu/jetsetetser.xml Domain jetser defined from /etc/libvirt/qemu/jetsetetser.xml 

这是一个很好的资源,提供了有关使用libvirt管理虚拟机的更多信息: https : //help.ubuntu.com/community/KVM/Managing

我强烈建议您遵循smccloud提供的建议。 这对我来说就像一个炭。 请注意不要在客户端使用的物理驱动器中安装任何卷,否则会严重损坏其文件系统!