我有一个运行kvm的主机,它有iscsi备份的存储池:
virsh # pool-info mypool Name: mypool UUID: 913210f2-f8a0-4a56-b7bf-ef00b0080ee1 State: running Persistent: yes Autostart: yes Capacity: 2,00 TiB Allocation: 2,00 TiB Available: 0,00 B
目前池只有一个卷(这是一个LUN):
virsh # vol-list mypool Name Path ----------------------------------------- unit:0:0:1 /dev/disk/by-path/ip-192.168.44.44:3260-iscsi-iqn.2016-08.iscsihost:volume-lun-1
如何确定名称或数量? 红利问题:iscsi目标使用“tgtd”。 似乎不能通过设置LUN的“vendor_id”或“product_id”来影响卷名称。 有没有办法让更多漂亮的名字(理想情况下,LUN是为特定的虚拟机创build的,并且该名称显示在virsh的vol-list或virt-manager GUI中)?
看起来这是硬编码,看起来像iscsi和scsi后端共享一些代码。
scsi存储后端(re:设备名称分配单元:x:x:x): https : //github.com/libvirt/libvirt/blob/master/src/storage/storage_backend_scsi.c#L197
存储后端(重新:iSCSI使用单位:): https : //github.com/libvirt/libvirt/blob/master/src/storage/storage_driver.c#L3364
我不明白所有的代码,所以在这里剩下的存储的东西: https : //github.com/libvirt/libvirt/tree/master/src/storage
你有没有试过从libvirt挂载和访问iscsi目标作为常规文件(作为“目录”池)? 也许他们不会有不明确的名字。 https://libvirt.org/storage.html#StorageBackendDir
我不使用iSCSI,但我使用ZFS,并configuration像这样:
<pool type='dir'> <name>pool2</name> <uuid>e725f5e4-3f9b-44a9-a47c-2b04cb154636</uuid> <capacity unit='bytes'>0</capacity> <allocation unit='bytes'>0</allocation> <available unit='bytes'>0</available> <source> </source> <target> <path>/dev/zvol/pool2</path> </target> </pool>
所以设备名称看起来像这样
root@igor:~# virsh vol-list pool2 Name Path ------------------------------------------------------------------------------ echo_root /dev/zvol/pool2/echo_root echo_root-part1 /dev/zvol/pool2/echo_root-part1 echo_root-part2 /dev/zvol/pool2/echo_root-part2 echo_root-part5 /dev/zvol/pool2/echo_root-part5 landscape_root /dev/zvol/pool2/landscape_root landscape_root-part1 /dev/zvol/pool2/landscape_root-part1 landscape_root-part2 /dev/zvol/pool2/landscape_root-part2 landscape_root-part5 /dev/zvol/pool2/landscape_root-part5 mail_root /dev/zvol/pool2/mail_root mail_root-part1 /dev/zvol/pool2/mail_root-part1 mail_root-part2 /dev/zvol/pool2/mail_root-part2 mail_root-part5 /dev/zvol/pool2/mail_root-part5 spectre_root /dev/zvol/pool2/spectre_root spectre_root-part1 /dev/zvol/pool2/spectre_root-part1 spectre_root-part2 /dev/zvol/pool2/spectre_root-part2 swap /dev/zvol/pool2/swap test /dev/zvol/pool2/test www1_root /dev/zvol/pool2/www1_root www1_root-part1 /dev/zvol/pool2/www1_root-part1 www1_root-part2 /dev/zvol/pool2/www1_root-part2 www1_root-part5 /dev/zvol/pool2/www1_root-part5