Open-iSCSI (简体中文)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
翻译状态:本文是 ISCSI_Initiator翻译。上次翻译日期:2015-05-10。如果英文版本有所更改,则您可以帮助同步翻译。

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.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: 下列有关 /etc/conf.d/open-iscsi 的建议已过时,参阅讨论页面 (Discuss in 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.