lio linux工具,ISCSI (简体中文)/LIO (简体中文)

翻译状态:本文是 ISCSI_Target 的翻译。上次翻译日期:2015-06-11。如果英文版本有所更改,则您可以帮助同步翻译。

fee21ae006ad66c404e582cb24649334.pngThe translation of this article or section does not reflect the original text.fee21ae006ad66c404e582cb24649334.png

Reason: Not updated since 2015 (Discuss in Talk:ISCSI (简体中文)/LIO (简体中文)#)

使用 iSCSI 可以通过 IP 网络访问磁盘。

接受来访的实体称为 目标(target),发起访问的实体称为

启用 LIO Target

LIO target 包含在2.6.38及以后版本的内核中。但从3.1版才开始包含 iSCSI target fabric。

关键的内核模块是 target_core_mod 和 iscsi_target_mod,它们应该已内置并自动加载。

强烈建议使用 LIO 的免费分支版本:AUR,AUR 和 AUR。原生包 AUR[断开的链接:package not found] 虽也有效,但其使用另外的方法保存配置,该方法使用不再推荐的 lio-utils 及依赖 epydoc。

如果使用免费分支版本,则 AUR 中包含一个 systemd target.service 文件。如果直接使用原生的 targetcli 或 lio-utils,则在 AUR[断开的链接:package not found] 中包含一个 /etc/rc.d/target文件。

用下列命令启动 LIO target:# systemctl start target

这样会加载必要的模块,挂载 configfs 并加载之前保存的 iscsi target 配置。

用下列命令可以显示运行中的配置信息(仅免费分支版有效):# targetcli status

若要 lio target 随系统引导时启动,可用下列命令:# systemctl enable target

可以用 targetcli 创建全部配置。不推荐直接使用 lio utils 中的 tcm_* 和 lio_* 。

使用 targetcli

外部使用手册仅对免费分支版有效。targetd 尚未进入 AUR ,这取决于该免费分支。

用命令行式的配置工具可以自动生成绝大部分的名称和数值,但也支持自定义。

在配置工具中随时可以输入 help 命令查看当前状态可用的命令。

提示: 配置工具命令行支持 TAB 键命令补全

提示: 配置工具命令行支持 cd 命令查看和选择路径

target 启动以后,用下列命令进入配置工具:# targetcli

在配置工具中,用下列命令启用一个块设备(此例为:/dev/disk/by-id/md-name-nas:iscsi)作为 target:

/> cd backstores/block

/backstores/block> create md_block0 /dev/disk/by-id/md-name-nas:iscsi

注意: 任何块设备都可以用做 target,包括 RAID 和 LVM 设备。如果用 fileio 替换了 block,也可以将文件用作 target。

然后,用下列命令创建一个“iSCSI 合格名称“(iSCSI Qualified Name,即 iqn)和一个 target 入口组(target portal group,tpg)

...> cd /iscsi

/iscsi> create

注意: With appending an iqn of your choice to create you can keep targetcli from automatically creating an iqn

In order to tell LIO that your block device should get used as backstore for the target you issue

注意: 别忘了可以用 cd 命令选择 /tpg1 路径

.../tpg1> cd luns

.../tpg1/luns> create /backstores/block/md_block0

接下来需要创建一个入口(portal),以使守护进程监听传入连接:

.../luns/lun0> cd ../../portals

.../portals> create

Targetcli 将会告诉你 LIO 监听传入连接的 IP 地址和端口(默认是 0.0.0.0,即全部地址)。

需要为客户端提供至少一个 IP 地址。端口应当是标准的 3260 。

为了让客户端/发起者能够连接,需要把发起者的 iqn 写入 target 的配置中:

...> cd ../../acls

.../acls> create iqn.2005-03.org.open-iscsi:SERIAL

将上面命令中的 iqn.2005-03.org.open-iscsi:SERIAL 换成所用的发起者的 iqn ,通常位于 /etc/iscsi/initiatorname.iscsi。

每个将要接入的发起者都必须如此配置一遍。

Targetcli 将自动把最新创建的 acl 映射到已创建的 lun 。

注意: 所映射的 lun 及其访问权限为 rw 或是 ro 都是可修改的。在配置工具中用 help create 命令查阅说明。

所有配置工作完成后的最后一步是保存配置:

...> cd /

/> saveconfig

配置数据将保存在 /etc/target/saveconfig.json 文件中。

现在就可以安全地启动或停止 target.service 而不会丢失做好的配置数据了。

提示: 可以给出一个文件名作为 saveconfig 命令的参数,也可以用 clearconfig 命令清除配置

认证

Authentication per CHAP is enabled per default for your targets.

也可以设置口令或禁用认证。

禁用认证

在配置工具中进入所创建的 target 路径(例如 /iscsi/iqn.../tpg1),输入下列命令:

.../tpg1> set attribute authentication=0

警告: 这样设置会导致任何获得了任一客户端(发起者)iqn 的人都可以访问 target。因此仅可用于测试或自用。

设置证书

在配置工具中进入某个选定 target 的 acl 路径 (例如 /iscsi/iqn.../tpg1/acls/iqn.../) 。下列命令将显示当前的认证证书:

...> get auth

下列命令将以 foo:bar 启用认证:

...> set auth userid=foo

...> set auth password=bar

使用原生 LIO 工具

You have to install AUR[断开的链接:package not found] from AUR and the dependencies (python2).

提示与技巧

使用 targetcli sessions 命令可以列出当前已打开的会话。这个命令包含在 AUR 软件包中,但没有包含在 lio-utils 或原生的 targetcli 中。

上游文档

You can also use man targetcli when you installed the free branch version AUR.

使用 SCSI Target Framework (STGT/TGT)

You will need the Package AUR from AUR.

使用 iSCSI Enterprise Target (IET)

You will need AUR[断开的链接:package not found] and AUR[断开的链接:package not found] from AUR.

创建 Target

Modify /etc/iet/ietd.conf accordingly

基于硬盘的 Target

Target iqn.2010-06.ServerName:desc

Lun 0 Path=/dev/sdX,Type=blockio

基于文件的 Target

Use "dd" to create a file of the required size, this example is 10GB.

dd if=/dev/zero of=/root/os.img bs=1G count=10

Target iqn.2010-06.ServerName:desc

Lun 0 Path=/root/os.img,Type=fileio

启动服务

b6da50ba73929dff8c8871f73c499d02.pngThis article or section is out of date.b6da50ba73929dff8c8871f73c499d02.png

Reason: Mentions rc.d scripts and rc.conf. (Discuss in Talk:ISCSI (简体中文)/LIO (简体中文)#)

rc.d start iscsi-target

Also you can "iscsi-target" to DAEMONS in /etc/rc.conf so that it starts up during boot.

参阅

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值