iSCSI no
Linux (não é o Linux como sistema de armazenamento e sim Linux acessando dispositivos iSCSI).
Ambiente:
Servidor HP DL 180 G5 básico com uma única Eth gigabit (isso é muito importante, se você quer utilizar uma solução iSCSI deve ter no mínimo uma rede gigabit no teu sistema), fiz a instalação padrão do
CentOS Linux, tudo básico mesmo.
Com uma Storage HP MSA 2012i iSCSI criei apenas uma VDISK em RAID 5 com 3 volumes lógicos, tudo muito tranquilo, pois o software da controladora é muito intuitivo.
Bom, tudo certo até aqui, com a parte da Storage toda pronta, portas configuradas, volumes criados, vamos fazer nosso Linux reconhecer, ou melhor, enxergar os discos.
Com a ajuda de um switch com portas giga vamos em frente.
Primeiro com a yum instalamos o único pacote, no caso do CentOS:
# yum install iscsi-initiator-utils.x86_64
Se a instalação foi tranquila até aqui, não temos problemas ainda, e acredito que nem teremos.
Em seguida após a instalação do iscsi precisamos indicar qual será nossa interface (iface) de rede que irá comunicar com a storage. No meu caso tenho apenas uma interface de rede, então pela mesma interface trafegarão dados brutos e dados iscsi. Não aconselho a fazer isso, sendo que o ideal seria um ambiente totalmente excluído da rede normal para a criação de uma rede iscsi, porém o foco não é esse no momento.
Primeiro devemos CRIAR uma interface com o seguinte comando:
# iscsiadm -m iface -I iface0 --op=new
Ótimo, agora com a interface criada devemos indicar a ela por onde trafegar os dados, ou seja, a nossa velha amiga placa de rede gigabit.
Com o IFCONFIG pego o MAC da minha interface e copio para o seguinte comando:
# iscsiadm -m iface -I iface0 --op=update -n iface.hwaddress -v 00:22:64:CC:2C:F7
Nesse momento amarrei a IFACE do meu ambiente iSCSI com a minha Ethernert Gigabit.
Se tudo correu tranquilo até aqui vamos continuar, nossa iface0 já esta criada, porém não sabe para onde (qual storage) deve-se direcioná-la, então vamos direcioná-la.
Primeiro vamos descobrir se a iface está funcionando, e nada melhor do que colocar ela para procurar nossa storage com o seguinte comando:
# iscsiadm -m discovery -t st -p 192.168.0.240 iface0 -P 1
Apenas comentando que o ip que passei é o da interface de rede da Storage e o iface0 é por onde deve-se comunicar, ou seja, minha placa de rede.
Temos o seguinte resultado:
Target: iqn.1986-03.com.hp:storage.msa2012i.0832d5eaa5.a
Portal: 10.0.0.34:3260,2
Iface Name: iface0
Portal: 192.168.0.240:3260,1
Iface Name: iface0
Primeiro, TARGET é a própria storage, com a nomenclatura dela mesma, não alterei nada, e podemos reparar que neste modelo de storage em cada controladora eu tenho duas interfaces iscsi, pois existem dois IPs, um que veio padrão de fábrica (10.0.0.34) e o segundo que foi alterado por mim. Veja que a porta padrão de comunicação é a mesma (3260).
Até esse momento, nas telas de configuração da storage onde se diz "lista de hosts", não aparece nada, é o que está faltando.
Com o seguinte comando avisamos a storage que nossa placa de rede (nosso server) terá acesso, ou melhor, será um host que terá acesso aos volumes criados nessa storage:
# iscsiadm -m node -T iqn.1986-03.com.hp:storage.msa2012i.0832d5eaa5.a -l
Veja que em nenhum momento passei senha ou login para conectar na storage, pois como já disse, esse não é o meu foco, e sim colocar para funcionar os dois ambientes.
Pronto, com o domando "fdisk -l" já consigo enxergar o meu novo device, ou devices, conforme foram configurados os volumes na storage.
Agora que temos esses devices, é padrão Linux, que já estamos habituados.
Para nível de conhecimento, nesse link existem as definições para o protocolo iSCSI:
Guia Livre: Internet SCSI - iSCSI
Espero que tenha ajudado.
Forte abraço a todos.