Kvm-Virtualization

‘virsh’ 如何確定(iscsi)單元名稱,它們可以更改嗎?

  • August 20, 2016

我有一個執行有 iSCSI 支持的儲存池的 kvm 主機:

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 是為特定 VM 創建的,並且該名稱顯示在 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

儲存後端(re: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 並將其配置如下:

<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         

引用自:https://serverfault.com/questions/798072