14 iSNS for Linux #
存储区域网络 (SAN) 可包含分布在复杂网络间的许多磁盘驱动器。这会使设备发现和设备所有权变得复杂。iSCSI 发起端必须能够识别 SAN 中的存储资源,并确定是否可对其进行访问。
互联网存储名称服务 (iSNS) 是一项基于标准的服务,使用它可简化 TCP/IP 网络上 iSCSI 设备的自动发现、管理和配置。与光纤通道网络中的服务相比,iSNS 可提供智能的存储发现和管理服务。
如果没有 iSNS,您必须知道所需目标所在的每个节点的主机名或 IP 地址。此外,必须使用访问控制列表等机制,自行手动管理哪些发起端能够访问哪些目标。
由于网络流量未加密,只能在安全的内部网络环境中使用 iSNS。
14.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 目标。
使用 iSNS 的另一项优势在于,iSCSI 客户端只需知道 iSNS 服务器的主机名或 IP 地址,而不必知道全部 100 个服务器的主机名或 IP 地址。
14.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 服务。
指定以下防火墙设置:
在防火墙上打开端口:: 选中该复选框以打开防火墙,并允许从远程计算机访问该服务。默认情况下,防火墙端口是关闭的。
防火墙细节:: 如果打开防火墙端口,默认情况下会在所有网络接口上打开该端口。单击 以选择要打开该端口的接口,选择要使用的网络接口,然后单击 。
单击
可应用配置设置并完成安装。
14.3 配置 iSNS 发现域 #
要让 iSCSI 发起端和目标使用 iSNS 服务,它们必须属于某个发现域。
必须已安装并运行 iSNS 服务,才能设置 iSNS 发现域。有关信息,请参见第 14.4 节 “启动 iSNS 服务”。
14.3.1 创建 iSNS 发现域 #
安装 iSNS 服务时,将会自动创建一个名为
的默认发现域。已配置为使用 iSNS 的现有 iSCSI 目标和发起端会自动添加到默认的发现域。创建新的发现域:
启动 YaST,然后在
下选择 。单击
选项卡。当 iSCSI 发起端执行发现请求时,iSNS 服务会返回作为同一发现域成员的所有 iSCSI 节点目标。
单击
按钮。还可以选择现有发现域,然后单击
按钮删除该发现域。指定创建的发现域的名称,然后单击
。
14.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 节点可属于多个发现域。
14.4 启动 iSNS 服务 #
必须在安装 iSNS 的服务器上启动它。如果您未将其设置为在引导时启动(有关细节,请参见第 14.2 节 “安装 iSNS Server for Linux”),请在终端输入以下命令:
>
sudo
systemctl start isnsd
您还可以对 iSNS 使用 stop
、status
和 restart
选项。
14.5 更多信息 #
以下项目提供了有关 iSNS 和 iSCSI 的其他信息:
有关 iSNS 的一般信息,请参见 RFC 4171: Internet Storage Name Service,网址为 https://datatracker.ietf.org/doc/html/rfc4171。