Приложение B. Диски iSCSI
Диски iSCSI
Протокол iSCSI (Internet Small Computer System Interface) позволяет компьютеру взаимодействовать с устройствами хранения за счет обмена запросами и ответами SCSI по TCP/IP. Так как в основу iSCSI положены стандартные протоколы SCSI, он использует терминологию SCSI. Устройство на шине SCSI, которому направляются запросы и которое на них отвечает, называется целью или сервером iSCSI. Устройство, отправляющее запросы, называется инициатором или клиентом iSCSI. Другими словами, диск iSCSI представляет собой цель, а программный аналог SCSI-контроллера или адаптера HBA представляет собой инициатор. В этом приложении рассматривается роль Linux только в качестве инициатора, то есть будет рассмотрено как Linux использует диски iSCSI, а не обслуживает и предоставляет доступ к дискам 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 (и обращаться к ним) двумя способами:
- При запуске anaconda проверяет, поддерживает ли BIOS (или другая система загрузки) расширение iBFT (iSCSI Boot Firmware Table) — расширение BIOS для систем, которые способны загружаться со iSCSI. Если BIOS поддерживает iBFT, anaconda прочитает из BIOS сведения о цели iSCSI для настроенного загрузочного диска и подключится к этому диску, тем самым подготовив его к установке.
- Для добавления цели iSCSI выберите Специальные устройства хранения в окне выбора накопителей, затем нажмите кнопку Добавить. В открывшемся окне можно определить адрес IP, который anaconda будет проверять и подключаться ко всем обнаруженным по этому адресу накопителям. Раздел 9.5.1.1, «Дополнительные параметры накопителей» содержит подробную информацию.
В то время как для доступа и авторизации целей iSCSI программа anaconda использует iscsiadm, iscsiadm автоматически сохраняет все сведения о целях в базе данных iSCSI. Затем anaconda копирует базу данных в устанавливаемую систему и отмечает все цели iSCSI, которые не используются для
/
так, чтобы обеспечить автоматическую авторизацию на них при запуске системы. Если /
размещается в цели iSCSI, initrd авторизуется в этой цели, а anaconda не будет включать эту цель в сценарии запуска во избежание одновременных попыток авторизации в одной и той же цели.
Если
/
размещается на цели iSCSI, anaconda заставит NetworkManager игнорировать любые активные в процессе установки сетевые интерфейсы. initrd настраивает такие интерфейсы при запуске системы. Их повторная настройка приложением NetworkManager привела бы к потере соединения системы с /
.