# Open-iSCSI (简体中文)

From ArchWiki
Jump to navigation Jump to search
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 Target (简体中文)
- iSCSI Boot

翻译状态：本文是 ISCSI_Initiator 的翻译。上次翻译日期：2015-05-10。如果英文版本有所更改，则您可以帮助同步翻译。

这篇文章或章节的翻译不反映原文。

原因：Last updated in 2015（在 Talk:Open-iSCSI (简体中文)# 中讨论）

来自 维基百科：iSCSI 可以通过基于 IP 的网络访问存储设备。

提供受访的实体是 目标(target)，发起访问的实体称为 发起者(initiator)。

本文讲述如何通过 Open-iSCSI 的 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` 。

This article or section is out of date.

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.

Categories:

- Storage (简体中文)
- Networking (简体中文)

Hidden categories:

- Pages or sections flagged with Template:Bad translation (简体中文)
- Pages with dead links
- Pages or sections flagged with Template:Out of date