跳至內容跳至頁面導覽:上一頁 [access key p]/下一頁 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文件 / 儲存管理指南 / 網路儲存 / IP 網路上的大型儲存裝置︰iSCSI
適用範圍 SUSE Linux Enterprise Server 12 SP5

14 IP 網路上的大型儲存裝置︰iSCSI

電腦中心或支援伺服器的任何站點的主要任務之一就是提供充足的磁碟容量。為此通常使用光纖通道。iSCSI (網際網路 SCSI) 解決方案的實施成本較低,可用來替代光纖通道,並能充分發揮商用伺服器與乙太網路設備的價值。Linux iSCSI 提供 iSCSI 啟動器和 iSCSI LIO 目標軟體,用於將 Linux 伺服器連接至中央儲存系統。

配有 iSNS 伺服器的 iSCSI SAN
圖 14.1︰ 配有 iSNS 伺服器的 iSCSI SAN
注意
注意:LIO

LIO (http://linux-iscsi.org) 是適用於 Linux 的標準開放原始碼多協定 SCSI 目標。LIO 取代了 STGT (SCSI 目標) 架構,成為 Linux 核心版本為 2.6.38 及更新版本之 Linux 中的標準統一儲存目標。在 SUSE Linux Enterprise Server 12 中,iSCSI LIO 目標伺服器取代了先前版本中的 iSCSI 目標伺服器。

iSCSI 是一種儲存網路通訊協定,可以透過 TCP/IP 網路來簡化區塊儲存裝置與伺服器之間 SCSI 封包資料的傳輸。iSCSI 目標軟體在目標伺服器上執行,並將邏輯單元定義為 iSCSI 目標裝置。iSCSI 啟動器軟體在不同伺服器上執行,然後會連接到目標裝置,以使該伺服器上的儲存裝置可用。

iSCSI LIO 目標伺服器與 iSCSI 啟動器伺服器之間透過在 LAN 的 IP 層級上傳送 SCSI 封包來通訊。如果在啟動器伺服器上執行的應用程式發出 iSCSI LIO 目標裝置查詢,作業系統會產生必要的 SCSI 指令。接著,通常稱為 iSCSI 啟動器的軟體會根據需要將 SCSI 指令嵌入 IP 封包並加密。封包透過內部 IP 網路傳送到相應的 iSCSI 遠端工作站,該工作站稱為 iSCSI LIO 目標伺服器,簡稱為 iSCSI 目標

許多儲存解決方案提供透過 iSCSI 的存取方式,但還另一種可能就是執行提供 iSCSI 目標的 Linux 伺服器。在這種情況下,針對檔案系統服務設定最佳化的 Linux 伺服器是很重要的。iSCSI 目標會存取 Linux 中的區塊裝置,因此,您可以使用 RAID 解決方案來增加磁碟空間及大量記憶體來提高資料快取效率。如需關於 RAID 的詳細資訊,請參閱第 7 章 「軟體 RAID 組態

14.1 安裝 iSCSI LIO 目標伺服器和 iSCSI 啟動器

系統中預設會安裝 iSCSI 啟動器 (套件 open-iscsiyast2-iscsi-client),而 iSCSI LIO 目標套件則需要手動安裝。

重要
重要:啟動器和目標不能在同一伺服器上執行

在線上環境中,不能在同一部伺服器上執行 iSCSI 目標軟體與 iSCSI 啟動器軟體。

若要安裝 iSCSI LIO 目標伺服器,請在終端機主控台中執行以下指令︰

sudo zypper in yast2-iscsi-lio-server

如果您需要安裝 iSCSI 啟動器或其任何相依項,請執行指令 sudo zypper in yast2-iscsi-client

也可以使用 YaST 軟體管理模組來進行安裝。

除了上述套件之外,任何其他所需的套件將由安裝程式自動提取,或者在您第一次執行相應的 YaST 模組時安裝。

14.2 設定 iSCSI LIO 目標伺服器

本章說明如何使用 YaST 設定 iSCSI LIO 目標伺服器以及設定 iSCSI LIO 目標裝置。您可以使用任一 iSCSI 啟動器軟體來存取目標裝置。

14.2.1 iSCSI LIO 目標服務啟動和防火牆設定

iSCSI LIO 目標服務預設設為手動啟動。您可以將該服務設定為在開機時自動啟動。如果在伺服器上使用防火牆並且希望 iSCSI LIO 目標在其他電腦上可用,則必須為要用於目標存取的每個介面卡開啟防火牆中的連接埠。按照 IANA (Internet Assigned Numbers Authority) 的定義,TCP 連接埠 3260 是 iSCSI 通訊協定的埠號。

  1. 啟動 YaST,然後啟動網路服務 › iSCSI LIO 目標

  2. 切換至服務索引標籤。

    Image
  3. 服務啟動下,指定 iSCSI LIO 目標服務的啟動方式︰

    • 開機時: 該服務會在伺服器重新啟動時自動啟動。

    • 自訂: (預設) 伺服器重新啟動之後,您必須執行 sudo systemctl start target 來手動啟動該服務。啟動該服務之後,目標裝置才可用。

  4. 如果在伺服器上使用防火牆,並且希望 iSCSI LIO 目標在其他電腦上可用,請為要用於存取目標的每個介面卡介面開啟防火牆中的連接埠 3260。如果關閉所有網路介面的連接埠,則 iSCSI LIO 目標將無法供其他電腦使用。

    如果您未在伺服器上使用防火牆,則防火牆 設定會停用。在此情況下,請跳過下列步驟,按一下完成結束組態設定對話方塊,或切換至另一個索引標籤繼續進行組態設定。

    1. 服務索引標籤上,選取在防火牆中開啟埠核取方塊以啟用防火牆設定。

    2. 按一下防火牆詳細資料以檢視或設定要使用的網路介面。隨即會列出所有可用的網路介面,並且預設會選取所有介面。取消選取應該開啟連接埠的所有介面。按一下確定儲存您的設定。

  5. 按一下完成以儲存並套用 iSCSI LIO 目標服務設定。

14.2.2 設定用於探查 iSCSI LIO 目標與啟動器的驗證

iSCSI LIO 目標伺服器軟體支援 PPP-CHAP (點對點通訊協定-Challenge Handshake 驗證通訊協定),它是網際網路工程任務推動小組 (IETF) RFC 1994 (http://www.ietf.org/rfc/rfc1994.txt) 中定義的一種三向驗證方法。伺服器使用此驗證方法是用來探查 iSCSI LIO 目標與啟動器,而不是用來存取目標上的檔案。如果不想將存取僅限於搜索,請使用無驗證無探查驗證選項預設處於啟用狀態。此伺服器上的所有 iSCSI LIO 目標都可由同一網路上的任何 iSCSI 啟動器探查,而不需要驗證。

如果為了設定更安全的組態而需要驗證,則可以使用內送驗證、外送驗證或兩者。依啟動器驗證要求 iSCSI 啟動器證明它有權針對 iSCSI LIO 目標執行探查。啟動器必須提供內送使用者名稱和密碼。依目標驗證要求 iSCSI LIO 目標向啟動器證明它是預期的目標。iSCSI LIO 目標必須向 iSCSI 啟動器提供外送使用者名稱和密碼。用於內送和外送探查的密碼必須不同。如果探查驗證已啟用,其設定將會套用至所有 iSCSI LIO 目標群組。

重要
重要:安全性

為安全起見,建議您在線上環境中針對目標與啟動器探查使用驗證。

若要設定 iSCSI LIO 目標的驗證偏好設定,請執行下列步驟︰

  1. 啟動 YaST,然後啟動網路服務 › iSCSI LIO 目標

  2. 切換至全域索引標籤。

    Image
  3. 驗證預設處於停用狀態 (無探查驗證)。若要啟用驗證,請選取依啟動器驗證和/或外送驗證

  4. 提供所選驗證方法的身分證明。內送和外送探查的使用者名稱和密碼對必須不同。

  5. 按一下完成以儲存並套用設定。

14.2.3 準備儲存空間

在為 iSCSI 目標伺服器設定 LUN 之前,必須準備好要使用的儲存。可以將整個未格式化的區塊裝置當成單個 LUN,也可以將一部裝置分為數個未格式化的分割區,並將每個分割區當成單獨的 LUN。iSCSI 目標組態會將 LUN 輸出到 iSCSI 啟動器。

您可以使用 YaST 中的磁碟分割程式或指令行來設定分割區。如需詳細資訊,請參閱第 12.1 節 「使用 YaST 磁碟分割程式」。iSCSI LIO 目標能夠以 Linux、Linux LVM 或 Linux RAID 檔案系統 ID 來使用未格式化的分割區。

重要
重要:不要掛接 iSCSI 目標裝置

將某個裝置或分割區設定為 iSCSI 目標後,您將無法再透過其本地路徑直接存取它。請勿在目標伺服器上掛接分割區。

14.2.3.1 對虛擬環境中的裝置進行磁碟分割

您可以使用虛擬機器客體伺服器做為 iSCSI LIO 目標伺服器。本節說明如何將分割區指定給 Xen 虛擬機器。您還可以使用 SUSE Linux Enterprise Server 支援的其他虛擬環境。

在 Xen 虛擬環境中,您必須為客體虛擬機器指定要用於 iSCSI LIO 目標裝置的儲存空間,然後在客體環境內以虛擬磁碟的方式存取該空間。每個虛擬磁碟可以是實體區塊裝置,如整個磁碟、分割區或磁碟區,也可以是檔案備份磁碟影像,其中虛擬磁碟是 Xen 主機伺服器中較大實體磁碟上的一個影像檔案。為獲得最佳效能,請從實體磁碟或分割區建立所有虛擬磁碟。為訪客虛擬機器設定虛擬磁碟後,啟動訪客伺服器,然後依照與實體伺服器相同的程序將新的空白虛擬磁碟設定為 iSCSI 目標裝置。

檔案備份磁碟影像建立在 Xen 主機伺服器上,然後會指定給 Xen 客體伺服器。依預設,Xen 會將檔案型磁碟影像儲存到 /var/lib/xen/images/VM_NAME 目錄中,其中 VM_NAME 為虛擬機器的名稱。

14.2.4 設定 iSCSI LIO 目標群組

您可以使用 YaST 來設定 iSCSI LIO 目標裝置。YaST 使用 lio-utils 軟體提供的 API。iSCSI LIO 目標能夠以 Linux、Linux LVM 或 Linux RAID 檔案系統 ID 來使用未格式化的分割區。

重要
重要:分割區

在開始之前,請先依第 14.2.3 節 「準備儲存空間」 中所示建立要用做 iSCSI LIO 目標的未格式化分割區。

  1. 啟動 YaST,然後啟動網路服務 › iSCSI LIO 目標

  2. 切換至目標索引標籤。

    Image
  3. 按一下新增,然後定義新的 iSCSI LIO 目標群組和裝置︰

    iSCSI LIO 目標軟體會自動填寫目標識別碼入口群組IP 位址埠號欄位。使用驗證預設會處於選中狀態。

    1. 如果您有多個網路介面,請使用 IP 位址下拉式方塊來選取要用於此目標群組的網路介面 IP 位址。若要讓伺服器在所有位址下都能存取,請選擇結合所有 IP 位址

    2. 如果您不想對此目標群組進行啟動器驗證,請取消選取使用驗證 (不建議)。

    3. 按一下新增。輸入裝置或分割區的路徑,或按一下瀏覽新增路徑。(選擇性) 指定名稱,然後按一下確定。LUN 編號將會自動產生,從 0 開始。如果將該欄位保留為空白,則會自動產生名稱。

    4. (選擇性) 重複前面的步驟,將更多目標新增至此目標群組。

    5. 將所有需要的目標新增到群組之後,按下一步

  4. 修改 iSCSI 目標啟動器設定頁面上,設定允許存取目標群組中 LUN 之啟動器的資訊︰

    Image

    為目標群組至少指定一個啟動器後,編輯 LUN編輯驗證刪除複製按鈕都將啟用。您可以使用新增複製來為目標群組新增更多啟動器。

    修改 iSCSI 目標︰選項
    • 新增: 為所選 iSCSI LIO 目標群組新增啟動器項目。

    • 編輯 LUN: 設定將 iSCSI LIO 目標群組中的哪些 LUN 對應到所選啟動器。您可以將每個已配置目標對應到偏好的啟動器。

    • 編輯驗證: 為所選啟動器設定偏好的驗證方法。您可以指定無驗證,也可以設定內送驗證、外送驗證或兩者。

    • 刪除: 從配置給目標群組的啟動器清單中移除所選啟動器項目。

    • 複製: 新增啟動器項目,其 LUN 對應和驗證設定與所選啟動器項目相同。這樣,您可以依次將相同的共享 LUN 輕鬆地配置給叢集中的每個節點。

    1. 按一下新增,指定啟動器名稱,選取或取消選取從 TPG 輸入 LUN 核取方塊,然後按一下確定以儲存設定。

    2. 選取啟動器項目,按一下編輯 LUN,修改 LUN 對應以指定將 iSCSI LIO 目標群組中的哪些 LUN 配置給所選啟動器,然後按一下確定以儲存變更。

      如果 iSCSI LIO 目標群組由多個 LUN 組成,則您可以將一或多個 LUN 配置給所選啟動器。依預設,群組中每個可用的 LUN 會指定給一個啟動器 LUN。

      若要修改 LUN 配置,請執行下列一或多個動作︰

      • 新增: 按一下新增以建立新的啟動器 LUN 項目,然後使用變更下拉式方塊將一個目標 LUN 對應至該項目。

      • 刪除: 選取啟動器 LUN 項目,然後按一下刪除以移除目標 LUN 對應。

      • 將: 選取啟動器 LUN 項目,然後使用變更下拉式方塊來選取要將哪個目標 LUN 對應至該項目。

      一般配置計畫包含下列各項︰

      • 單個伺服器列出為啟動器。目標群組中的所有 LUN 都會配置給它。

        您可以使用此分組策略,為指定伺服器邏輯分組 iSCSI SAN 儲存。

      • 多個獨立伺服器列出為啟動器。一或多個目標 LUN 會配置給每個伺服器。每個 LUN 僅會配置給一個伺服器。

        您可以使用此分組策略,為資料中心中的指定部門或服務類別邏輯分組 iSCSI SAN 儲存。

      • 叢集的每個節點列出為啟動器。所有共享的目標 LUN 都會配置給每個節點。所有節點都會連接至裝置,但是對於大部分檔案系統,叢集軟體會鎖定裝置以禁止存取,並且一次只在一個節點上掛接該裝置。共享檔案系統 (例如 OCFS2) 可讓多個節點同時掛接相同的檔案結構,並以讀寫權限開啟相同檔案。

        您可以使用此分組策略,為指定伺服器叢集邏輯分組 iSCSI SAN 儲存。

    3. 選取啟動器項目,按一下編輯驗證,指定啟動器的驗證設定,然後按一下確定以儲存設定。

      您可以要求無探查驗證,也可以設定依啟動器驗證和/或外送驗證。您只能為每個啟動器指定一個使用者名稱和密碼組。對於啟動器的內送和外送驗證,其身分證明可以不同。每個啟動器的身分證明都可以不同。

    4. 對每個可以存取此目標群組的 iSCSI 啟動器重複上述步驟。

    5. 設定啟動器指定之後,按下一步

  5. 按一下完成以儲存並套用設定。

14.2.5 修改 iSCSI LIO 目標群組

您可以按如下方式修改現有的 iSCSI LIO 目標群組︰

  • 在目標群組中新增或移除目標 LUN 裝置

  • 為目標群組新增或移除啟動器

  • 為目標群組之啟動器修改啟動器 LUN 至目標 LUN 對應

  • 修改啟動器驗證 (內送、外送或兩者) 的使用者名稱和密碼身分證明

若要檢視或修改 iSCSI LIO 目標群組的設定,請執行下列步驟︰

  1. 啟動 YaST,然後啟動網路服務 › iSCSI LIO 目標

  2. 切換至目標索引標籤。

  3. 選取要修改的 iSCSI LIO 目標群組,然後按一下編輯

  4. 在「修改 iSCSI 目標 LUN 設定」頁面上,將 LUN 新增至目標群組,編輯 LUN 指定或從該群組中移除目標 LUN。對群組進行所有需要的變更之後,按下一步

    如需選項資訊,請參閱修改 iSCSI 目標︰選項

  5. 在「修改 iSCSI 目標啟動器設定」頁面上,設定允許存取目標群組中 LUN 之啟動器的資訊。對群組進行所有需要的變更之後,按下一步

  6. 按一下完成以儲存並套用設定。

14.2.6 刪除 iSCSI LIO 目標群組

刪除 iSCSI LIO 目標群組會移除群組的定義以及啟動器的相關設定,包括 LUN 對應和驗證身分證明。此操作不會損毀分割區上的資料。若要再次提供啟動器存取權限,您可以將目標 LUN 配置給其他或新的目標群組,並為它們設定啟動器存取權限。

  1. 啟動 YaST,然後啟動網路服務 › iSCSI LIO 目標

  2. 切換至目標索引標籤。

  3. 選取要刪除的 iSCSI LIO 目標群組,然後按一下刪除

  4. 系統提示時,按一下繼續以確認刪除,或按一下取消進行取消。

  5. 按一下完成以儲存並套用設定。

14.3 設定 iSCSI 啟動器

iSCSI 啟動器可用來連接任何 iSCSI 目標。這不僅限於第 14.2 節 「設定 iSCSI LIO 目標伺服器」 中說明的 iSCSI 目標解決方案。iSCSI 啟動器的組態涉及兩個主要步驟︰探查可用的 iSCSI 目標和設定 iSCSI 工作階段。這兩個步驟都可以使用 YaST 來完成。

14.3.1 使用 YaST 設定 iSCSI 啟動器的組態

YaST 中的 iSCSI 啟動器綜覽包含三個索引標籤︰

服務:

服務索引標籤可用來在開機時啟用 iSCSI 啟動器。同時會提供設定用於該探查的唯一啟動器名稱及 iSNS 伺服器。

連接的目標︰

連接的目標索引標籤會提供目前已連接 iSCSI 目標的綜覽。它與探查的目標索引標籤一樣,也提供為系統新增新目標的選項。

探查的目標︰

探查的目標索引標籤提供了手動探查網路中 iSCSI 目標的途徑。

14.3.1.1 設定 iSCSI 啟動器

  1. 啟動 YaST,然後啟動網路服務 › iSCSI 啟動器

  2. 切換至服務索引標籤。

    Image
  3. 服務啟動下,指定 iSCSI 啟動器服務的啟動方式︰

    • 開機時: 該服務會在伺服器重新啟動時自動啟動。

    • 自訂: (預設) 伺服器重新啟動之後,您必須執行 sudo systemctl start iscsi iscsid 來手動啟動該服務。

  4. 指定或驗證啟動器名稱

    為此伺服器上的 iSCSI 啟動器指定一個格式正確的 iSCSI 合格名稱 (IQN)。此啟動器名稱在網路上必須是全域唯一的。IQN 的一般格式如下︰

    iqn.yyyy-mm.com.mycompany:n1:n2

    其中,n1 與 n2 為英數字元。例如︰

    iqn.1996-04.de.suse:01:a5dfcea717a

    啟動器名稱中會自動填上伺服器上 /etc/iscsi/initiatorname.iscsi 檔案中的對應值。

    如果伺服器支援 iBFT (iSCSI 開機韌體表),啟動器名稱中會填上 IBFT 中的對應值,並且該名稱無法在此介面上變更,不過,您可以使用 BIOS 設定對此進行修改。iBFT 是指包含對 iSCSI 開機程序有用之各種參數的資訊區塊,包括伺服器的 iSCSI 目標與啟動器描述。

  5. 使用下列方法之一探查網路上的 iSCSI 目標。

14.3.1.2 使用 iSNS 探查 iSCSI 目標

只有在您的環境中安裝並設定了 iSNS 伺服器後,才可以使用此選項。如需更多資訊,請參閱第 13 章 「iSNS for Linux

  1. 在 YaST 中,選取iSCSI 啟動器,然後選取服務索引標籤。

  2. 指定 iSNS 伺服器與連接埠的 IP 位址。預設埠為 3205。

  3. 按一下確定以儲存並套用您的變更。

14.3.1.3 手動探查 iSCSI 目標

對要從您目前正設定 iSCSI 啟動器的伺服器存取的所有 iSCSI 目標伺服器重複下列程序。

  1. 在 YaST 中,選取iSCSI 啟動器,然後選取探查的目標索引標籤。

  2. 按一下探查開啟「iSCSI 啟動器探查」對話方塊。

  3. 輸入 IP 位址,並視需要變更連接埠。預設埠為 3260。

  4. 如果需要進行驗證,請取消選取無探查驗證,然後為依啟動器驗證依目標驗證指定身分證明。

  5. 下一步開始探查並連接到 iSCSI 目標伺服器。

  6. 如果需要身分證明,則在探查成功後使用連接啟動目標。

    系統會提示您提供驗證身分證明以使用所選的 iSCSI 目標。

  7. 按一下下一步完成組態。

    該目標現在即會出現在已連線目標中,並且虛擬 iSCSI 裝置現在可用。

  8. 按一下確定以儲存並套用您的變更。

  9. 您可以使用 lsscsi 指令尋找 iSCSI 目標裝置的本地裝置路徑。

14.3.1.4 設定 iSCSI 目標裝置的啟動優先設定

  1. 在 YaST 中,選取iSCSI 啟動器,然後選取已連接目標索引標籤,以檢視目前連接到伺服器的 iSCSI 目標裝置清單。

  2. 選取要管理的 iSCSI 目標裝置。

  3. 按一下切換啟動修改設定︰

    自動: 此選項用於 iSCSI 服務自身啟動時要連接的 iSCSI 目標。這是一般組態。

    開機時: 此選項用於開機時要連接的 iSCSI 目標;也就是說,當根目錄 (/) 位於 iSCSI 上時。因此,伺服器開機時,iSCSI 目標裝置會從 initrd 進行評估。在無法從 iSCSI 開機的平台 (例如 IBM Z) 上會忽略此選項。因此,在這些平台上不應使用該選項,而應使用自動

  4. 按一下確定以儲存並套用您的變更。

14.3.2 手動設定 iSCSI 啟動器

iSCSI 連接的探查和組態都需要執行中的 iscsid。第一次執行探查時,會在 /etc/iscsi/ 目錄中建立 iSCSI 啟動器的內部資料庫。

如果您的探查受到密碼保護,請提供驗證資訊給 iscsid。因為執行第一次搜索時,內部資料庫還不存在,所以這時無法使用該資料庫,而必須編輯 /etc/iscsid.conf 組態檔案來提供資訊。若要新增您的搜索密碼資訊,請將下列幾行加到 /etc/iscsid.conf 結束處︰

discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = USERNAME
discovery.sendtargets.auth.password = PASSWORD

探查會將收到的所有值儲存在永久的內部資料庫中。此外,它會顯示所有偵測到的目標。使用下列指令執行此探查︰

sudo iscsiadm -m discovery --type=st --portal=TARGET_IP

輸出應如下所示︰

10.44.171.99:3260,1 iqn.2006-02.com.example.iserv:systems

若要探查 iSNS 伺服器上可使用的目標,請使用以下指令︰

sudo iscsiadm --mode discovery --type isns --portal TARGET_IP

針對 iSCSI 目標上定義的每個目標,會各出現一行。如需已儲存資料的詳細資訊,請參閱第 14.3.3 節 「iSCSI 啟動器資料庫」

iscsiadm 特殊的 --login 選項會建立所有需要的裝置︰

sudo iscsiadm -m node -n iqn.2006-02.com.example.iserv:systems --login

新產生的裝置會顯示在 lsscsi 的輸出中,而且現在可以掛接。

14.3.3 iSCSI 啟動器資料庫

iSCSI 啟動器探查到的所有資訊都儲存在位於 /etc/iscsi 的兩個資料庫檔案中。一個資料庫用來探查目標,一個資料庫用於已探查到的節點。存取資料庫時,您必須先選取要從探查資料庫或從節點資料庫中取得資料。使用 iscsiadm-m discovery-m node 參數就可以做到這一點。將 iscsiadm 與其中一個參數配合使用,可提供儲存記錄的概觀︰

tux > sudo iscsiadm -m discovery
10.44.171.99:3260,1 iqn.2006-02.com.example.iserv:systems

這個範例中的目標名稱為 iqn.2006-02.com.example.iserv:systems。與這個特殊資料集相關的所有動作都需要這個名稱。若要檢查 ID iqn.2006-02.com.example.iserv:systems 的資料記錄內容,請使用下列指令︰

tux > sudo iscsiadm -m node --targetname iqn.2006-02.com.example.iserv:systems
node.name = iqn.2006-02.com.example.iserv:systems
node.transport_name = tcp
node.tpgt = 1
node.active_conn = 1
node.startup = manual
node.session.initial_cmdsn = 0
node.session.reopen_max = 32
node.session.auth.authmethod = CHAP
node.session.auth.username = joe
node.session.auth.password = ********
node.session.auth.username_in = EMPTY
node.session.auth.password_in = EMPTY
node.session.timeo.replacement_timeout = 0
node.session.err_timeo.abort_timeout = 10
node.session.err_timeo.reset_timeout = 30
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
....

若要編輯這其中一個變數的值,請使用 iscsiadm 指令搭配 update 操作。例如,如果希望 iscsid 在初始化時登入 iSCSI 目標,請將 node.startup 變數設定為 automatic 值︰

sudo iscsiadm -m node -n iqn.2006-02.com.example.iserv:systems \
-p ip:port --op=update --name=node.startup --value=automatic

使用 delete 操作移除過時的資料集。如果目標 iqn.2006-02.com.example.iserv:systems 不再是有效的記錄,請使用以下指令加以刪除︰

sudo iscsiadm -m node -n iqn.2006-02.com.example.iserv:systems \
-p ip:port --op=delete
重要
重要:無確認

請謹慎地使用此選項,因為該選項會刪除記錄,而不提供其他確認提示。

若要取得所有探查到的目標清單,請執行 sudo iscsiadm -m node 指令。

14.4 安裝時使用 iSCSI 磁碟

使用支援 iSCSI 的韌體時,支援從 AMD64/Intel 64 和 IBM POWER 架構上的 iSCSI 磁碟開機。

若要在安裝期間使用 iSCSI 磁碟,必須將下列參數新增至開機選項行︰

withiscsi=1

安裝期間會顯示一個額外的螢幕,可讓您將 iSCSI 磁碟連接至系統,並在安裝過程中使用它們。

注意
注意:掛接點支援

開機期間,iSCSI 裝置將非同步顯示。雖然 initrd 可保證為根檔案系統正確設定這些裝置,但對於任何其他檔案系統或掛接點 (例如 /usr),並無此類保證。因此,任何系統掛接點 (例如 /usr/var) 都不受支援。若要使用這些裝置,請務必正確同步相應的服務和裝置。

14.5 iSCSI 疑難排解

本節說明一些已知問題和 iSCSI 目標及 iSCSI 啟動器問題的可能解決方案。

14.5.1 在 iSCSI LIO 目標伺服器上設定目標 LUN 時發生入口錯誤

新增或編輯 iSCSI LIO 目標群組時發生錯誤︰

Problem setting network portal IP_ADDRESS:3260

/var/log/YasT2/y2log 記錄檔案包含下列錯誤︰

find: `/sys/kernel/config/target/iscsi': No such file or directory

如果 iSCSI LIO 目標伺服器軟體目前未在執行中,則會發生此問題。若要解決此問題,請結束 YaST,在指令行中使用 systemctl start target 指令手動啟動 iSCSI LIO,然後再試一次。

您也可以輸入下列指令來檢查 configfsiscsi_target_modtarget_core_mod 是否已載入。隨即會顯示回應範例。

tux > sudo lsmod | grep iscsi
iscsi_target_mod      295015  0
target_core_mod       346745  4
iscsi_target_mod,target_core_pscsi,target_core_iblock,target_core_file
configfs               35817  3 iscsi_target_mod,target_core_mod
scsi_mod              231620  16
iscsi_target_mod,target_core_pscsi,target_core_mod,sg,sr_mod,mptctl,sd_mod,
scsi_dh_rdac,scsi_dh_emc,scsi_dh_alua,scsi_dh_hp_sw,scsi_dh,libata,mptspi,
mptscsih,scsi_transport_spi

14.5.2 iSCSI LIO 目標在其他電腦中不可見

如果在目標伺服器上使用防火牆,則必須開啟要用於允許其他電腦看到 iSCSI LIO 目標的 iSCSI 連接埠。如需更多資訊,請參閱第 14.2.1 節 「iSCSI LIO 目標服務啟動和防火牆設定」

14.5.3 iSCSI 流量中的資料封包被丟棄

如果防火牆過於忙碌,就可能會丟棄封包。SUSE 防火牆預設設定為在三分鐘之後丟棄封包。如果您發現 iSCSI 流量封包被丟棄,可以考慮將 SUSE 防火牆設定為在過於忙碌時將封包排入佇列,而不是將其丟棄。

14.5.4 將 iSCSI 磁碟區與 LVM 配合使用

當在 iSCSI 目標上使用 LVM 時,請使用本節中的疑難排解提示。

14.5.4.1 檢查在開機時 iSCSI 啟動器是否執行探查

如果設定了 iSCSI 啟動器,請務必啟用開機時探查功能,以便 udev 可以在開機時探查 iSCSI 裝置並設定 LVM 要使用的裝置。

14.5.4.2 檢查在開機時是否執行 iSCSI 目標探查

請記住,udev 會提供裝置的預設設定。確保建立裝置的所有應用程式在開機時啟動,以使 udev 可以在系統啟動時辨識裝置並為它們指定裝置。如果應用程式或服務直到後來才啟動,udev 便無法在開機時按照設定自動建立裝置。

14.5.5 組態檔案設定為手動時會掛接 iSCSI 目標

如果您之前手動修改了 /etc/iscsi/iscsid.conf 組態檔案,那麼,即使將 node.startup 選項設定為手動,Open-iSCSI 啟動時也會掛接目標。

檢查 /etc/iscsi/nodes/TARGET_NAME/IP_ADDRESS,PORT/default 檔案。它包含可以覆寫 /etc/iscsi/iscsid.conf 檔案的 node.startup 設定。使用 YaST 介面將掛接選項設定為手動,還會在 /etc/iscsi/nodes/TARGET_NAME/IP_ADDRESS,PORT/default 檔案中設定 node.startup = manual

14.6 iSCSI LIO 目標術語

備援儲存庫

一個實體儲存物件,可在 iSCSI 端點下提供實際儲存裝置。

CDB (指令描述子區塊)

SCSI 指令的標準格式。CDB 的長度通常為 6、10 或 12 個位元組,但也可以達到 16 個位元組或可變長度。

CHAP (Challenge Handshake 驗證通訊協定)

一種點對點通訊協定 (PPP) 驗證方法,用於向一台電腦確認另一台電腦的身分。連結控制通訊協定 (LCP) 連接兩台電腦並且協商 CHAP 方法之後,驗證程式會將一個隨機處理安全傳送給對等。對等會根據處理安全和私密金鑰發出以雜湊加密的回應。驗證程式會針對它自己計算所得的預期雜湊值驗證雜湊回應,以確認驗證或終止連接。CHAP 定義於 RFC 1994 中。

CID (連接識別碼)

由啟動器產生的 16 位元編號,用於唯一地識別兩個 iSCSI 裝置之間的連接。此編號會在登入階段期間顯示。

端點

iSCSI 目標名稱與 iSCSI TPG (IQN + 標記) 的組合。

EUI (延伸唯一識別碼)

在全球範圍內唯一識別每個裝置的 64 位元編號。其格式由指定公司的唯一 24 位元編號以及該公司指定給所建置的每個裝置的 40 位元編號組成。

執行者

SCSI 工作階段的發出端。一般是控制裝置,例如電腦。

IPS (網際網路通訊協定儲存)

使用 IP 通訊協定在儲存網路中移動資料的一類通訊協定或裝置。FCIP (網際網路通訊協定光纖通道)、iFCP (網際網路光纖通道通訊協定) 和 iSCSI (網際網路 SCSI) 都屬於 IPS 通訊協定。

IQN (iSCSI 合格的名稱)

在全球範圍內唯一識別每個裝置的 iSCSI 名稱格式 (例如︰iqn.5886.com.acme.tapedrive.sn‐a12345678)。

ISID (啟動器工作階段識別碼)

由啟動器產生的一個 48 位元編號,用於唯一識別啟動器與目標之間的工作階段。此值在登入過程中建立,然後將與登入 PDU 一起傳送給目標。

MCS (每個工作階段多個連接)

屬於 iSCSI 規格的一部分,它允許在啟動器與目標之間存在多個 TCP/IP 連接。

MPIO (多重路徑 I/O)

一種可在伺服器與儲存之間建立多個資料備援路徑的方法。

網路入口

iSCSI 端點與 IP 位址及 TCP (傳輸控制通訊協定) 連接埠的組合。按照 IANA (Internet Assigned Numbers Authority) 的定義,TCP 連接埠 3260 是 iSCSI 通訊協定的埠號。

SAM (SCSI 架構模型)

使用一般術語說明 SCSI 行為的文件,允許不同類型的裝置透過各種媒體進行通訊。

目標

SCSI 工作階段的接收端,通常是一個裝置,例如磁碟機、磁帶機或掃描器。

目標群組 (TG)

在建立檢視窗時視為同等看待的所有 SCSI 目標連接埠的清單。建立檢視窗可便於進行 LUN (邏輯單位編號) 對應。每個檢視項目都會指定一個目標群組、主機群組和一個 LUN。

目標連接埠

一個 iSCSI 端點與一或多個 LUN 的組合。

目標連接埠群組 (TPG)

IP 位址和 TCP 埠號的清單,用於決定特定 iSCSI 目標將要監聽的介面。

目標工作階段識別碼 (TSID)

由目標產生的一個 16 位元編號,用於唯一識別啟動器與目標之間的工作階段。此值在登入過程中建立,然後將與登入回應 PDU (通訊協定資料單位) 一起傳送給啟動器。

14.7 其他資訊

iSCSI 通訊協定已存在多年,因此有許多將 iSCSI 與 SAN 解決方案進行比較、確立效能基準的評論,還有介紹硬體解決方案的文件。以下是 open-iscsi 相關詳細資訊的重要網頁︰

此外也有一些線上文件。請參閱 iscsiadmiscsidietd.confietd 的線上文件,以及範例組態檔案 /etc/iscsid.conf