Приложение B. Диски iSCSI

Протокол iSCSI (Internet Small Computer System Interface) позволяет взаимодействовать с устройствами хранения посредством обмена запросами SCSI по TCP/IP. В основу iSCSI положены стандартные протоколы SCSI, и он использует терминологию SCSI. Устройство на шине SCSI, которому направляются запросы, и которое на них отвечает, называется целью или сервером iSCSI. Устройство, отправляющее запросы, называется инициатором или клиентом iSCSI. Другими словами, диск iSCSI представляет собой цель, а программный аналог SCSI-контроллера или адаптера HBA представляет собой инициатор. В этом приложении обсуждается роль Linux на уровне инициатора, то есть как Linux использует диски iSCSI.
Программный инициатор iSCSI включен в состав ядра Linux и заменяет HBA-драйвер SCSI, что позволяет Linux использовать диски iSCSI. Но так как iSCSI является сетевым протоколом, поддержка инициатора iSCSI должна включать возможность отправки пакетов SCSI по сети. Прежде чем Linux сможет использовать цель iSCSI, к ней нужно подключиться. В некоторых случаях для доступа к цели потребуется авторизоваться. Системы Linux должны определять любые сбои сетевого подключения и при необходимости устанавливать новое соединение.
Обнаружение устройств, подключение и авторизация — все эти действия обрабатываются средствами iscsiadm в пространстве пользователя. За обработку ошибок отвечает iscsid.
Iscsiadm и iscsid входят в состав пакета iscsi-initiator-utils.

B.1. Диски iSCSI в Anaconda

Anaconda может определять диски iSCSI двумя способами:
  1. При запуске Anaconda проверяет, поддерживает ли BIOS (или другая система загрузки) расширение iBFT (iSCSI Boot Firmware Table), которое разрешает загрузку компьютера с устройства iSCSI. Если iBFT поддерживается, Anaconda получит из BIOS сведения о загрузочном целевом устройстве iSCSI и сможет к нему подключиться.
  2. В графическом режиме цели iSCSI можно добавить вручную: в окне обзора перейдите к секции Расположение установки и в открывшемся окне нажмите кнопку Добавить диск. В правом нижнем углу нажмите Добавить целевое устройство iSCSI (см. Раздел 6.11.1, «Окно выбора устройств хранения»).
Iscsiadm автоматически сохраняет сведения о найденных целях в своей базе данных iSCSI. Anaconda разместит эту базу данных в готовой системе и настроит автоматическое подключение ко всем дискам iSCSI за исключением тех, на которых размещается /. Если / расположен на целевом устройстве iSCSI, к нему подключится initrd, и Anaconda не будет его включать в сценарии запуска во избежание одновременных попыток подключения.
Если / размещается на целевом диске iSCSI, Anaconda заставит NetworkManager игнорировать активные сетевые интерфейсы, так как их настройку выполнит initrd. Дело в том, что повторная настройка интерфейсов в NetworkManager привела бы к потере соединения системы с /.