Ubuntu

在 Ubuntu 上從 2 個不同的 iSCSI 目標伺服器掛載 iSCSI 目標

  • October 20, 2016

我有兩個 iSCSI 目標伺服器。iSCSI Initiator 是一個 Ubuntu 主機 (Ubuntu 14.04)。我正在使用 Ubuntu 的 open-iscsi 將 iSCSI 目標從兩個 iSCSI 目標伺服器安裝到我的發起程序。

問題是 /dev/disk/by-id 中的符號連結被“覆蓋”。

當我對第一個 iSCSI 目標伺服器執行 iscsiadm 發現和 iscsiadm -m node -l 命令時,目標已掛載,並且 /dev/disk/by-id 下有符號連結。

例如,在登錄到第一個 iSCSI 目標伺服器後執行 ls -l /dev/disk/by-id 可能會顯示以下內容:

scsi-3600000e00010001 -> ../../sdc
scsi-3600000e00010002 -> ../../sdd
scsi-3600000e00010003 -> ../../sde
wwn-0x60000e00010001 -> ../../sdc
wwn-0x60000e00010002 -> ../../sdd
wwn-0x60000e00010003 -> ../../sde

在發現並登錄到第二個 iSCSI 目標伺服器後(不註銷 iSCSI 目標伺服器),執行 ls -l /dev/disk/by-id 會顯示如下內容:

scsi-3600000e00010001 -> ../../sdaa
scsi-3600000e00010002 -> ../../sdab
scsi-3600000e00010003 -> ../../sdac
wwn-0x60000e00010001 -> ../../sdaa
wwn-0x60000e00010002 -> ../../sdab
wwn-0x60000e00010003 -> ../../sdac
  1. 我通過發出 fdisk -l 命令檢查了所有 iSCSI 目標是否都安裝在 Ubuntu 啟動器上。iSCSI 目標已全部安裝。

2)但符號連結現在指向第二台伺服器的目標。看起來從第一台伺服器到目標的符號連結被第二台伺服器的符號連結覆蓋。

是否可以讓來自兩個 iSCSI 目標伺服器的所有 iSCSI 目標具有單獨的符號連結並列在 /dev/disk/by-id 下?

我不是 iSCSI 專家,所以我想我會問。我用Google搜尋了這個問題並在這裡搜尋了相關標籤,但沒有看到任何答案。也許我沒有正確配置某些東西?

一種解決方法是讓我編寫一個腳本,為所有 iSCSI 目標創建單獨的、唯一的符號連結,但我首先想看看我是否配置錯誤。

我找到了答案。

對於 Ubuntu 上的 iSCSI 目標,您必須在以下位置編輯目標的配置文件:/etc/tgt/conf.d/1.conf

在文件 1.conf 中,配置資訊以 HTML 格式儲存。

對於每個 iSCSI 目標,您需要為每個 iSCSI 目標指定一個“scsi_id”值

前:

`<`target iqn.2001-04.com.hostname-tgt-1`>`
   direct-store /dev/disk/by-id/wwn-0x500258aaa
   direct-store /dev/disk/by-id/wwn-0x500258aab
   direct-store /dev/disk/by-id/wwn-0x500258aac
   direct-store /dev/disk/by-id/wwn-0x500258aad
   initiator-address 10.10.10.21
   initiator-address 10.10.10.22
   initiator-address 10.10.10.23
   initiator-address 10.10.10.24        
   initiator-address 10.10.10.25
   initiator-address 10.10.10.26
`<`/target`>`

後:

`<`target iqn.2001-04.com.hostname-tgt-1:target-001`>`
   scsi_id 500258aaa
   direct-store /dev/disk/by-id/wwn-0x500258aaa
   initiator-address 10.10.10.21
   initiator-address 10.10.10.22
   initiator-address 10.10.10.23
   initiator-address 10.10.10.24        
   initiator-address 10.10.10.25
   initiator-address 10.10.10.26
`<`/target`>`

`<`target iqn.2001-04.com.hostname-tgt-1:target-002`>`
   scsi_id 500258aab
   direct-store /dev/disk/by-id/wwn-0x500258aab
   initiator-address 10.10.10.21
   initiator-address 10.10.10.22
   initiator-address 10.10.10.23
   initiator-address 10.10.10.24        
   initiator-address 10.10.10.25
   initiator-address 10.10.10.26
`<`/target`>`

`<`target iqn.2001-04.com.hostname-tgt-1:target-003`>`
   scsi_id 500258aac
   direct-store /dev/disk/by-id/wwn-0x500258aac
   initiator-address 10.10.10.21
   initiator-address 10.10.10.22
   initiator-address 10.10.10.23
   initiator-address 10.10.10.24        
   initiator-address 10.10.10.25
   initiator-address 10.10.10.26
`<`/target`>`

`<`target iqn.2001-04.com.hostname-tgt-1:target-004`>`
   scsi_id 500258aad
   direct-store /dev/disk/by-id/wwn-0x500258aad
   initiator-address 10.10.10.21
   initiator-address 10.10.10.22
   initiator-address 10.10.10.23
   initiator-address 10.10.10.24        
   initiator-address 10.10.10.25
   initiator-address 10.10.10.26
`<`/target`>`

當您從兩個 iSCSI 伺服器掛載 iSCSI 目標時,/dev/disk/by-id 下的符號連結對於每個 iSCSI 目標都是唯一的。

注意:我在 < 或 > 字元前使用了反引號(“`”),因為該網站的編輯器沒有正確顯示它們。編輯 1.tgt 文件時不要使用反引號。

您需要為 iSCSI 目標 LUN 指定 VPD(重要產品數據)。這涉及為您添加的每個 LUN 指定製造商 ID 和序列號,並且完全在目標端進行控制。

但是,您還沒有指定您正在使用的伺服器,並且此過程因目標伺服器而異。如果您讓我知道您的目標伺服器是什麼,我可以將其更新為更具體。否則,它是一個相當普遍的建議。

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