我按照这个答案中的说明回答了一个相关问题:向KVM虚拟机添加物理磁盘
VM的.xml文件中产生的代码如下:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/disk/by-partuuid/d8b63353-34n6-6587-ac07-810dmf36d544'/>
<target dev='vdb' bus='virtio'/>
<boot order='2'/>
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</disk>请注意,我是如何将/dev/disk/by-partuuid/d8b63353-34n6-6587-ac07-810dmf36d544用于<source>元素,而不是/dev/sda4。
困扰我的是,我的用例是将分区传递给QEMU,而不是磁盘。我在上面安装了Windows 10,安装程序无法识别存储空间,所以我不得不从viostor上加载FedoraProject驱动程序。
Windows安装进行得很好,性能也很好,但是当VM关闭时,主机系统就无法识别分区格式。
我发现有趣的是,Windows -加载了viostor驱动程序--创建了普通磁盘上Windows通常需要的附加分区。换句话说,它在所谓的分区中创建了分区。这不应该是可能的,或者我是这么想的。
/dev/sda4存在于主机中,但不被认为既不是NTFS文件系统(实际上是不可预期的),也不是LVM或LDM (用工具工具测试)。
VM在UEFI模式中使用Q35芯片组正确引导。
发布于 2018-04-20 02:53:34
解决方案似乎是将整个块设备(如/dev/sda或/dev/disk/by-id/等效的部分)传递给<source dev=''>设置。
这允许Windows安装程序查看现有分区,包括主机中的根分区。
不应发生任何冲突,只要:
关于第一点,在启动VM之前,当然有必要从主机卸载ESP (EFI系统分区)。我首先为此编写了一个脚本,然后以QEMU自动化钩子的形式提出了更好的解决办法。我在https://gitlab.com/ranolfi/rvirtesp提供服务。
酷的是,您也可以通过在主板的启动菜单中选择它的新条目来本地启动虚拟化操作系统,就像在双引导中一样。
我不确定这是否得到了“支持”。但已经使用了将近一年,没有问题。
发布于 2021-05-09 16:09:18
如果您想将分区作为原始设备传递,您只需将/dev/sdaX作为原始图像文件名,它将使用它。但是,如果您使用ieg sda1,它将无法理解它是哪个分区,并将此分区视为一个整体磁盘。如果您由于明显的原因(在主机上使用其他/dev/sdaY )而不能将/dev/sda作为源,则可以尝试iscsi。但它也可能使分区被视为整个磁盘。这意味着你看不到你的文件和内容。
要解决这个问题,最好的选择似乎是通过samba共享。另一个选项是映射虚拟磁盘上的分区。另一个选项是共享挂载分区作为文件夹,qemu有此选项.Fedora virtio司机可能就像vmware vmtools一样。
我在virtio网络上使用超过4GB/s速度的ISCSI。但我已经将virbr和virbr-nic0的mtu改为9000,并增加了txqueulen。不用换客人了..。
无论如何,如果您想尝试一下iscsi,请看下面的内容:
首先安装open-iscsi和tgt。
sudo apt-get install open-iscsi tgt然后配置它
nano /etc/tgt/conf.d/iscsi.conf将分区名称改为sdb1 (目标名称将有所不同):
<target iqn.2019-11.example.com:lun1>
# Provided device as an iSCSI target
backing-store /dev/sdb1
initiator-address 192.168.0.102
incominguser iscsi-user password
outgoinguser iscsi-target secretpass
</target>然后重新启动服务。
sudo systemctl restart tgt 那就检查一下
tgtadm --mode target --op show打开窗口并使用iscsi启动器连接它。Windows将其视为一个内部磁盘,享受高速块访问的乐趣。
如果您添加了NAT nic并将其设置为virtio,安装virtio红帽驱动程序,那么它可能会非常快。不要忘记通过192.168.123.XXX连接,而不是桥接LAN ip。
注意事项:使用测试分区进行第一次测试.iqn必须是a-z或1-9你可以。将密码和密码保留为空白,因为它们可能不接受空格或下划线.
https://askubuntu.com/questions/927574
复制相似问题