出自 Arch Linux 中文维基

Tango-view-refresh-red.png本文內容或本節內容已經過期。Tango-view-refresh-red.png

原因: 請提供模板的第一個位置參數以概括原因。 (在Talk:Open-iSCSI討論)

Tango-preferences-desktop-locale-modified.png這篇文章或章節的翻譯不反映原文。Tango-preferences-desktop-locale-modified.png

原因:Last updated in 2015(在 Talk:Open-iSCSI# 中討論)

來自 維基百科:iSCSI 可以通過基於 IP 的網絡訪問存儲設備。

提供受訪的實體是 目標(target),發起訪問的實體稱為 發起者(initiator)。

本文講述如何通過 Open-iSCSI[失效連結 2021-11-15 ⓘ] 的 initiator 訪問 iSCSI target。

安裝

可以從 官方源 安裝 軟體包。

注意: 舊版的 initiator,Linux-iSCSI 已經於二零零五年四月合併進 Open-iSCSI 。 This should not be confused with linux-iscsi.org, the website for the LIO target.

概覽

下圖顯示各組件是如何協同工作的。更詳細的版本參見:Open-iSCSI 模塊

 +-------------------------------------------------------+             
 | Targets & Sessions configuration Database (DBM based) |             
 +-------------------------------------------------------+             
                                                                       
 +--------------------------+     +----------------------------------+ 
 | iscsiadm                 |     | iscsid: iSCSI daemon             | 
 |                          |     |                                  | 
 |  * Command line tool     |<--->|  * Implements Session management | 
 |  * Manages database of   |     |  * Communicates with iscsiadm    | 
 |    sessions and targets  |     |    and iscsi kernel modules      | 
 +--------------------------+     +---------------+------------------+ 
                                                  |                    
 User space                                       |                    
- - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - -
 Kernel                                           v                    
         +-----------------------------------------------------------+ 
         | kernel modules: scsi_transport_iscsi, iscsi_tcp, libiscsi | 
         +-----------------------------------------------------------+ 

來自 Open-iSCSI README[失效連結 2021-05-17 ⓘ]:

持久化的配置通過一個 DBM 資料庫實現,它包括兩個表:

  • 發現表(Discovery table)(/etc/iscsi/send_targets)
  • 節點表(Node table)(/etc/iscsi/nodes)

配置

啟動服務

iscsid 由一個 systemd單元 來管理。

用 systemd 啟動 open-iscsi.service

Tango-view-refresh-red.png本文內容或本節內容已經過期。Tango-view-refresh-red.png

原因: 下列有關 /etc/conf.d/open-iscsi 的建議已過時,參閱討論頁面 (在Talk:Open-iSCSI討論)

You only have to include the IP of the target as SERVER in /etc/conf.d/open-iscsi at the client.

發現目標

# iscsiadm -m discovery -t sendtargets -p <portalip>

刪除廢舊目標

# iscsiadm -m discovery -p <portalip> -o delete

登錄到有效的目標

# iscsiadm -m node -L all

或者,登錄到指定目標

# iscsiadm -m node --targetname=<targetname> --login

登出:

# iscsiadm -m node -U all

信息

對於運行中的會話

# iscsiadm -m session -P 3

上面命令輸出的最後一行會顯示連接到的設備名,比如

Attached scsi disk sdd State: running

對於已知節點

# iscsiadm -m node

在線修改卷大小

如果 iscsi 塊設備包含一個分區表,則不能在線修改卷大小。這種情況下必須首先卸載文件系統,然後再調整相關分區的大小。

  1. 重新掃描當前會話中的活動節點。
    # iscsiadm -m node -R
  2. 在多路徑環境中,也必須重新掃描多路徑下的卷信息。
    # multipathd -k"resize map sdx"
  3. 完成後再調整文件系統大小。
    # resize2fs /dev/sdx

提示與排錯

可以用下列命令檢查已連接的 iSCSI 設備在 /dev 設備樹中的位置: ls -lh /dev/disk/by-path/*

在伺服器端(target)的 acl 配置中應當包含客戶端的 iqn(位於客戶端的 /etc/iscsi/initiatorname.iscsi)。

iscsiadm 的許多操作要求 iSCSI 的守護進程 iscsid 處於運行狀態。To verify that this is the case, check the status of the open-iscsi.service.

參閱

  • iSCSI Boot Booting Arch Linux with / on an iSCSI target.