13 iSNS for Linux #
储存区域网络 (SAN) 可包含分布在复杂网络间的许多磁盘驱动器。这会使设备发现和设备所有权变得复杂。iSCSI 发起端必须能够识别 SAN 中的储存资源,并确定是否可对其进行访问。
因特网储存名称服务 (iSNS) 是一项基于标准的服务,使用它可简化 TCP/IP 网络上 iSCSI 设备的自动发现、管理和配置。与光纤通道网络中的服务相比,iSNS 可提供智能的储存发现和管理服务。
只有在安全的内部网络中,才应使用 iSNS。
13.1 iSNS 的工作原理 #
iSCSI 发起端要发现 iSCSI 目标,需要识别网络中的哪些设备是储存资源以及访问这些资源需要哪些 IP 地址。对 iSNS 服务器的查询会返回发起端有权访问的一个 iSCSI 目标和 IP 地址的列表。
通过使用 iSNS,您创建 iSNS 发现域,随后将 iSCSI 目标和发起端分组或组织到这些域中。通过将储存节点划分到域,您可以将每个主机的发现进程限制为在 iSNS 中注册的最合适的目标子集,这使得储存网络可通过降低不必要的发现数和限制每个主机在建立发现关系时花费的时间而按比例缩放。这使您可以控制和简化必须发现的目标和发起端的数目。
iSCSI 目标和 iSCSI 发起端都使用 iSNS 客户端启动通过 iSNS 协议与 iSNS 服务器的事务。然后,它们在公共发现域中注册设备属性信息、下载有关其他注册客户端的信息,以及接收出现在其发现域中的事件的异步通知。
iSNS 服务器响应由 iSNS 客户端使用 iSNS 协议作出的 iSNS 协议查询和请求。iSNS 服务器启动 iSNS 协议状态更改通知,并正确储存由 iSNS 数据库中的注册请求提交的身份验证信息。
适用于 Linux 的 iSNS 提供的优点包括:
提供信息设备以供注册、发现和管理联网储存资产。
与 DNS 基础结构集成。
统一 iSCSI 储存的注册、发现和管理。
简化储存管理实施。
与其他发现方法相比,改进了可伸缩性。
以下情境可以帮助您更好地理解 iSNS 的优点:
假定您拥有一家配有 100 个 iSCSI 发起端和 100 个 iSCSI 目标的公司。根据您的配置,所有 iSCSI 发起端都可能尝试发现并连接到 100 个 iSCSI 目标的任一个。这将造成发现和连接出现问题。通过将发起端和目标分组到发现域,您可以阻止某个部门的 iSCSI 发起端发现其他部门的 iSCSI 目标。这会导致特定部门中的 iSCSI 发起端仅会发现属于该部门发现域的 iSCSI 目标。
13.2 安装 iSNS Server for Linux #
iSNS Server for Linux 随附于 SUSE Linux Enterprise Server,但默认不会对其加以安装或设置。您需要安装包 open-isns
并设置 iSNS 服务。
可以在安装了 iSCSI 目标或 iSCSI 发起端软件的同一服务器上安装 iSNS。不支持在同一服务器上同时安装 iSCSI 目标软件和 iSCSI 发起端软件。
安装 iSNS for Linux:
启动 YaST 并选择
› 。如果尚未安装
open-isns
,则系统现在会提示您进行安装。通过单击 确认安装。“iSNS 服务”配置对话框会自动打开并显示
选项卡。在
中,选择以下选项之一:引导时:: iSNS 服务在服务器启动时自动启动。
手动(默认):: 必须在用于安装 iSNS 服务的服务器的控制台中手动输入
sudo systemctl start isnsd
来启动 iSNS 服务。
指定以下防火墙设置:
打开防火墙中的端口:: 选中该复选框以打开防火墙,并允许从远程计算机访问该服务。默认情况下,防火墙端口是关闭的。
防火墙细节:: 如果打开防火墙端口,默认情况下会在所有网络接口上打开该端口。单击 以选择要打开该端口的接口,选择要使用的网络接口,然后单击 。
单击
可应用配置设置并完成安装。
13.3 配置 iSNS 发现域 #
要让 iSCSI 发起端和目标使用 iSNS 服务,它们必须属于某个发现域。
必须已安装并运行 iSNS 服务,才能设置 iSNS 发现域。有关信息,请参见第 13.4 节 “启动 iSNS 服务”。
13.3.1 创建 iSNS 发现域 #
安装 iSNS 服务时,将会自动创建一个名为
的默认发现域。已配置为使用 iSNS 的现有 iSCSI 目标和发起端会自动添加到默认的发现域。创建新的发现域:
启动 YaST,然后在
下选择 。单击
选项卡。当 iSCSI 发起端执行发现请求时,iSNS 服务会返回作为同一发现域成员的所有 iSCSI 节点目标。
单击
按钮。还可以选择现有发现域,然后单击
按钮删除该发现域。指定创建的发现域的名称,然后单击
。
13.3.2 向发现域添加 iSCSI 节点 #
启动 YaST,然后在
下选择 。单击
选项卡。检查节点列表以确保列出了要使用 iSNS 服务的 iSCSI 目标和发起端。
如果未列出 iSCSI 目标或发起端,可能需要在节点上重启动 iSCSI 服务。为此,您可以运行
sudo systemctl restart iscsid.socket sudo systemctl restart iscsi
重启动发起端,或运行
sudo systemctl restart target-isns
重启动目标。
可以选择某 iSCSI 节点,然后单击
按钮从 iSNS 数据库中删除该节点。如果不再使用某 iSCSI 节点或已对其重命名,这十分有用。除非删除或注释掉 iSCSI 配置文件的 iSNS 部分,否则,在重启动 iSCSI 服务或重引导服务器时,iSCSI 节点将再次自动添加到列表(iSNS 数据库)。
单击
选项卡并选择所需的发现域。单击
,选择要添加到域中的节点,然后单击 。为添加至发现域的节点重复上一步,当您完成添加节点时,再单击
。请注意,一个 iSCSI 节点可属于多个发现域。
13.4 启动 iSNS 服务 #
必须在安装 iSNS 的服务器上启动它。如果您未将它设置为在引导时启动(有关细节,请参见第 13.2 节 “安装 iSNS Server for Linux”),请在终端控制台中输入以下命令:
sudo systemctl start isnsd
您还可以对 iSNS 使用 stop
、status
和 restart
选项。
13.5 更多信息 #
相关信息请参见 Linux iSNS for iSCSI project(Linux iSNS for iSCSI 项目,网址:http://sourceforge.net/projects/linuxisns/)。此项目的电子邮件列表可在 http://sourceforge.net/mailarchive/forum.php?forum_name=linuxisns-discussion 中找到。
有关 iSNS 的一般信息,请参见 RFC 4171: Internet Storage Name Service(RFC 4171:因特网储存设备名称服务,网址:http://www.ietf.org/rfc/rfc4171)。