Configuração básica de um iSCSI Initiator
Por: Fernando Lanner Cardoso
No nosso blog anterior “iSCSI: O que é e para que serve”. tivemos uma introdução ao iSCSI. Neste artigo estamos dando o próximo passo: como configurar o Microsoft iSCSI Initiator. A configuração do iSCSI Initiator é algo bastante simples de ser implementado. Recomendamos executar esta configuração pela interface de configuração “iSCSI Initiator Properties” sempre que possível. Primeiro procedimento descrito neste artigo. O segundo procedimento, configuração via linha de comando, fica como exercício. Ou caso estejamos conectando um Windows Server Core 2008. Vale lembrar que a interface gráfica foi adicionada no Windows Server Core 2008 R2, acessível via comando iscsicpl.exe.
Pré-requisitos
Antes de iniciarmos a configuração do iSCSI Initiator, temos que nos assegurar que os seguintes pré-requisitos sejam satisfeitos.
iSCSI Subnet
A rede ethernet por onde trafegará iSCSI deve ser fisicamente isolada. Em outras palavras, não podemos ter outro tráfego que não seja iSCSI compartilhando o mesmo meio físico. Claro que VLANs também são válidas, Uma vez que o tráfego estará sendo isolado da mesma forma. Levando em conta que a rede é isolada, é pouco provável a presença de um firewall. Mesmo assim, caso necessário, temos que nos assegurar de que a porta TCP/IP 3260 não está bloqueada. O mesmo vale para o firewall do Sistema Operacional. Antes de iniciar a configuração podemos testar conectividade via ping no IP do Target bem como um telnet na porta 3260. (O Telnet Client no Windows Server 2008 e R2 é uma feature. Se necessária deve ser adicionada).
O comando para teste, tanto via cmd.exe como via Powershell é:
telnet <endereço IP do target> 3260
Cursor piscando sozinho na tela indica conexão bem sucedida.
LUN Mapping
Do lado do iSCSI Target temos que promover permissão para que este o SCSI Initiator que estamos configurando acesse uma determinada LUN (Unidade Lógica). LUN Mapping e o processo através do qual atribuímos LUNs para hosts. Em outras palavras, estamos dizendo que servidores (Initiators) tem acesso à que LUNs. Neste processo geralmente vamos informar o IQN do Initiator a fim de identificá-lo no lado do Target. O IQN do Initiator pode ser copiado do campo “Initiator Name”, guia “Configuration”.
Versões pré-R2
A configuração do iSCSI Initiator pela interface gráfica nos SOs Windows Server 2003 e 2008 (não R2) é diferente da descrita neste documento. E estas por sua vez são levemente diferentes entre si. Caso você esteja executando a configuração em um Windows Server 2003 o Microsoft iSCSI Initiator deve ser instalado como um pacote independente. O download da versão 2.08 pode ser feito do Microsoft Download Center. No caso do Windows Server 2008, o Initiator vem embarcado com o SO.
Ainda assim, os conceitos descritos neste artigo são igualmente válidos. A diferença mais importante a ser salientada é que no Windows 2003 utiliza-se a nomenclatura Persistent Targets ao invés de Favorite Targets.
Configuração
Vamos ao procedimento:
Assegurar-se de que interface conectada na subnet iSCSI está com a configuração IP apropriada. Feito isso podemos fazer o teste descrito na sessão “iSCSI Subnet”, acima.
Nesta interface deixamos somente o TCP/IP habilitado. Por exemplo:
E desabilitamos o update dinâmico de DNS:
Bem como o NetBIOS sobre TCP/IP
(Ambas as opções acima acessíveis via configurações avançadas do TCP/IP)
Iniciar “iSCSI Initiator” em “Administrative Tools”.
Podemos simplesmente entrar o IP do Target e clicar “Quick Connect”. Esta opção encontra o Target e conecta.
Nas propriedades do iSCSI Initiator, guia Target, entramos o IP do Target (no nosso exemplo é 192.168.131.101). Clicamos “Quick Connect”. O Initiator encontra e conecta o target.
A mensagem na sobre falha no Persistent Login pode ser ignorada, uma vez que resolvemos no último passo deste procedimento. Fazendo bind dos volumes.
Nota: Este exemplo ainda considera que temos somente um Target disponível. Quando não for o caso, o que fazemos é descobrir os Target através da utilização do botão “Discover Portal”, na guia “Discovery”.
A partir deste momento os discos já estão acessíveis para uso no Disk Management. Simples assim. No screenshot abaixo vemos duas das cinco LUNs sendo apresentadas para este servidor. A partir desse momento basta colocá-las em online, particionar (MBR, GPT) e formatar.
Uma vez que tivermos um file system, com uma letra de driver designada, temos ainda que assegurarmos de que este drive estará disponível para o SO após uma reinicialização do servidor. Chamamos isso de persistência. No caso do Windows Server 2008 R2, Favorite Targets. Na configuração do iSCSI Initiator, guia “Volumes and Devices”, selecionar “Auto Configure”. A letra da unidade iSCSI deve aparecer na lista de volumes. Assim como o IQN do target na lista Favorite Targets, na guia de mesmo nome. Neste exemplo:
Está concluído.
Somente como dica adicional, a fim de documentar a configuração que você recém executou, a forma mais simples é via botão Report, na guia Configuration.
Command line
A quem eventualmente possa interessar, por linha de comando este procedimento seria o a seguir. Estamos levando em conta que o Microsoft iSCSI Initiator já está iniciado e configurado para start automático. Caso não esteja podemos iniciá-lo com:
C:\>net start msiscsi <- iniciar somente para esta configuração
C:\>sc config msiscsi start= auto <- ajustar para startup automático
Assegurar-se de que a porta iSCSI no firewall do Windows está aberta:
C:\>netsh advfirewall firewall set rule "iSCSI Service (TCP-Out)" new enable=yes
Iniciando a configuração propriamente dita. Primeiramente, adicionamos o Target.
C:\>iscsicli qaddTargetportal 192.168.130.101
Microsoft iSCSI Initiator Version 6.1 Build 7600
The operation completed successfully.
Aqui listamos o target, para pegar o IQN, que vamos utiliza no comando a seguir.
C:\>iscsicli listTargets
Microsoft iSCSI Initiator Version 6.1 Build 7600
Targets List:
iqn.1991-05.com.microsoft:wudss2k3-acmecluster.iscsi.msft-Target
The operation completed successfully.
Fazemos o login no target. Que é o que vai tornar o disco disponível para o host.
C:\>iscsicli qloginTarget iqn.1991-05.com.microsoft:wudss2k3-acmecluster.iscsi.msft-Target
Microsoft iSCSI Initiator Version 6.1 Build 7600
Session Id is 0xfffffa800a109018-0x4000013700000008
Connection Id is 0xfffffa800a109018-0x12
The operation completed successfully.
A exemplo do procedimento anterior, a partir deste momento as LUNs já estão acessíveis pelo Disk Management. Ou pelo Diskpart, se for o caso de seguirmos via command line.
A fim de tornar a conexão persistente, ainda via command line, temos que utilizar o comando persistentlogintarget.
Temos que pegar o id da sessão:
C:\>iscsicli reporttargetmappings
Microsoft iSCSI Initiator Version 6.1 Build 7600
Total of 1 mappings returned
Session Id : fffffa800a0e0018-4000013700000001 ß ID da sessão
Target Name : iqn.1991-05.com.microsoft:wudss2k3-acmecluster.iscsi.msft-target ß Target name
…
The operation completed successfully.
Utilizar este ID para deslogar:
C:\>iscsicli logouttarget fffffa800a0e0018-4000013700000001
Microsoft iSCSI Initiator Version 6.1 Build 7600
The operations completed successfully.
E logar novamente com a opção de Persistent. Veja que estamos utilizando um parâmetro retornado pelo comando reporttargetmappings, acima. O Target Name. Seguidos dos parâmetros default: T + 15 stars + 0. Estes são os parâmetros default que são utilizados quando configurando pela interface gráfica (iSCSI Initiator Properties). A quem interessar possa, estes parâmetros estão descritos no apêndice C do Microsoft iSCSI Initiator Users Guide.
C:\>iscsicli persistentlogintarget iqn.1991-05.com.microsoft:wudss2k3-acmecluster.iscsi.msft-target T * * * * * * * * * * * * * * * 0
Microsoft iSCSI Initiator Version 6.1 Build 7600
The operation completed successfully.
Isso conclui o processo de configuração via command line.
Considerações finais
O iSCSI muitas vezes é a porta de entrada para soluções de alta disponibilidade. O custo reduzido quando comparado à outras arquiteturas bem como a familiaridade com redes ethernet são com certeza os fatores que mais contribuíram para tal. Esperamos ter contribuído em mostrar o quão simples pode ser a configuração para iniciarmos na utilização do iSCSI.
Muito obrigado!
Referências:
- https://www.microsoft.com/windowsserver2003/technologies/storage/iscsi/default.mspx
- https://blogs.msdn.com/b/san/archive/2008/07/27/iscsi-initiator-command-line-reference-and-server-core-configuration.aspx
- https://download.microsoft.com/download/a/e/9/ae91dea1-66d9-417c-ade4-92d824b871af/uguide.doc
- https://en.wikipedia.org/wiki/ISCSI
- https://en.wikipedia.org/wiki/SCSI_command
- https://en.wikipedia.org/wiki/SCSI
- https://searchstorage.techTarget.com/sDefinition/0,,sid5_gci750136,00.html
- https://www.microsoft.com/windowsserver2003/technologies/storage/iscsi/iscsicluster.mspx