Apêndice B. Discos ISCSI
Internet Small Computer System Interface (iSCSI) é um protocolo que permite que computadores se comuniquem com os dispositivos de armazenamento pelas requisições do SCSI e respostas levadas sob o TCP/IP. Como o iSCSI é baseado em protocolos SCSI padrão, ele usa algumas terminologias do SCSI. O dispositivo do bus SCSI para o qual ele precisa enviar ( e o qual responde à estas requisições) é conhecido como target e o dispositivo emitindo as requisições é conhecido como o initiator. Em outras palavras, um disco iSCSI é um alvo e o programa iSCSI equivalente ao controlador do SCSI ou SCSI Host Bus Adapter (HBA) é chamado de initiator. Este apêndice cobre somente o Linux como um initiator do iSCSI: como o Linux usa os discos do iSCSI e não como o Linux acomoda os discos do iSCSI.
O Linux possui um software iSCSI initiator no kernel que toma o local e forma de um driver SCSI HBA e portanto permite que o Linux use os discos do iSCSI. No entanto, como o iSCSI é um protocolo totalmente baseado em rede, o suporte do iSCSI initiator precisa mais do que uma simples habilidade de enviar pacotes de SCSI sob a rede. Antes do Linux poder usar um alvo iSCSI, o Linux deve encontrar o alvo na rede e fazer uma conexão com ele. Em alguns casos, o Linux deve enviar informações de autenticação para obter acesso ao alvo. O Linux deve também detectar qualquer falha de conexão de rede e deve estabelecer uma nova conexão, incluindo o login novamente se necessário.
A descoberta, conexão e login é manuseada no espaço do usuário pelo utilitário iscsiadm e o manuseamento de erros também é feito no espaço do usuário pelo iscsid.
Ambos iscsiadm e iscsid são parte do pacote iscsi-initiator-utils sob o Red Hat Enterprise Linux.
B.1. Discos iSCSI no anaconda
Anaconda pode descobrir os discos do iSCSI (e então fazer o login) de duas formas:
- Quando o Anaconda inicia, ele verifica se o BIOS ou ROMs de inicialização adicionais do suporte de sistema iSCSI Boot Firmware Table (iBFT), uma extensão de BIOS para sistemas que podem inicializar de um iSCSI. Se o BIOS suporta o iBFT, anaconda irá ler as informações de alvo do iSCSI para o disco de inicialização configurado a partir do BIOS e registrar-se neste alvo, disponibilizando-o como um alvo de instalação.
- Se você selecionar a opção Dispositivos de Armazenamento Especializado durante a instalação, a tela de seleção do dispositivo de armazenamento lhe apresentará um botão de Advanced storage configuration. Se você clicar neste botão, você poderá adicionar informações do alvo iSCSI como o endereço IP de descoberta. O Anaconda irá analisar o endereço IP dado e fazer o login em qualquer alvo que ele encontrar. Veja Seção 9.6.1.1, “Opções Avançadas de Armazenamento” para detalhes que você pode especificar para os alvos iSCSI.
Enquanto o anaconda usa iscsiadm para encontrar e fazer o login nos alvos iSCSI, iscsiadm armazena automaticamene qualquer informação sobre o banco de dados do alvo iscsiadm iSCSI. Depois, o Anaconda copia este banco de dados para o sistema instalado e marca qualquer alvo iSCSI não usado para o
/
para que o sistema seja registrado automaticamente neles quando iniciar. Se o /
é colocado em um alvo do iSCSI, o initrd se registrará neste alvo e o anaconda não inclui este alvo no script de inicialização para evitar tentativas múltiplas para se registrar no mesmo alvo.
Se o
/
é colocado em um alvo iSCSI, o anaconda define NetworkManager para ignorar qualquer interface de rede que estivesse ativa durante o processo de instalação. Estas interfaces também serão configuradas pelo initrd quando o sistema iniciar. Se o NetworkManager precisasse reconfigurar estas interfaces, o sistema perderia sua conexão com o /
.