附录 B. iSCSI Disks
Internet 小型计算机系统接口 (iSCSI)是一种协议,允许计算机通过 SCSI 请求和通过 TCP/IP 传输的响应与存储设备通信。由于 iSCSI 基于标准 SCSI 协议,因此它使用 SCSI 中的一些术语。SCSI 总线上请求所发送到以及回答这些请求的设备称为 目标,发出请求的设备称为 启动器。换句话说,iSCSI 磁盘是目标,与 SCSI 控制器或 SCSI 主机总线适配器(HBA)等效的 iSCSI 软件称为启动器。本附录仅涵盖 Linux 作为 iSCSI 启动器;Linux 如何使用 iSCSI 磁盘,但不涵盖 Linux 托管 iSCSI 磁盘的方式。
Linux 在内核中有一个软件 iSCSI 启动器,采用 SCSI HBA 驱动程序的发生和形式,因此允许 Linux 使用 iSCSI 磁盘。但是,由于 iSCSI 是完全基于网络的协议,iSCSI 启动器支持的内容不仅仅是通过网络发送 SCSI 数据包。Linux 必须先在网络上找到目标并与其连接,然后才能 Linux 使用 iSCSI 目标。在某些情况下,Linux 必须发送身份验证信息才能访问目标。Linux 还必须检测网络连接的任何故障,必须建立新的连接,包括在必要时重新登录。
发现、连接和登录由 iscsiadm 实用程序在用户空间 中处理,而错误则由 iscsid 实用程序在用户空间中处理。
iscsiadm 和 iscsid 都是红帽企业 Linuxnbsp 下的 iscsi-initiator-utils 软件包的一部分;Hat Enterprise Linuxnbsp;Linux.
B.1. Anaconda 中的 iSCSI 磁盘
Anaconda 安装程序可以通过两种方式发现并登录到 iSCSI 磁盘:
- 当 Anaconda 启动时,它会检查系统的 BIOS 或附加引导 ROM 是否支持 iSCSI 引导固件表 (iBFT),这是可以从 iSCSI 启动系统的 BIOS 扩展。如果 BIOS 支持 iBFT,Anaconda 将从 BIOS 读取配置的引导磁盘的 iSCSI 目标信息并登录到此目标,使其可用作安装目标。重要要自动连接到 iSCSI 目标,需要激活用于访问目标的网络设备。推荐的做法是使用
ip=ibft
引导选项。 - 您可以在 anaconda 中的图形用户界面中手动发现和添加 iSCSI 目标。在主菜单中,点 Installation Destination 选项。然后点击屏幕的 Specialized & Network Disks 部分中的 。此时会显示可用存储设备的标签列表。在右下角,单击 按钮并继续发现过程。如需更多信息,请参阅 第 8.15.1 节 “存储设备选择屏幕”。重要限制:
/boot
分区无法放置到已使用此方法手动添加的 iSCSI 目标 - 必须配置包含/boot
分区的 iSCSI 目标以便与 iBFT 搭配使用。但是,如果安装的系统应该使用固件 iBFT 以外的方法提供的 iBFT 配置从 iSCSI 启动(例如使用 iPXE),可以使用inst.nonibftiscsiboot 安装程序引导选项禁用
限制。/boot
分区
尽管 Anaconda 使用 iscsiadm 查找并登录到 iSCSI 目标,但 iscsiadm 会自动将这些目标的任何信息存储在 iscsiadm iSCSI 数据库中。然后,Anaconda 将此数据库复制到安装的系统中并标记任何未用于
/
的 iSCSI 目标,以便系统在启动时自动登录它们。如果将 /
放置在 iSCSI 目标上,initrd 将登录到此目标,并且 Anaconda 不会将此目标包含在启动脚本中,以避免多次尝试登录同一目标。