4
12/19/2014 Configurando um servidor como storage iscsi http://www.savant.com.br/index.php/artigos/tutoriais/21 1/4 Configurando um servidor como storage iscsi Nossos clientes sempre nos solicitam orientações sobre como ter um ambiente de armazenamento distribuído e confiável. Nossa primeira recomendação é o uso de um storage que permita confiabilidade e crescimento de acordo com as necessidades da empresa. Um inconveniente é custo de aquisição do equipamento. Apesar de ter reduzido muito o valor inicial, ainda é um fator que pesa na decisão. Uma ideia é configurar um equipamento que tenha vários discos e que possa compartilhar seu armazenamento com outros equipamentos da rede local por protocolos específicos como iscsi por exemplo. Equipamento A primeira recomendação é quanto às características do hardware. Uma configuração ideal para performance e segurança envolve um equipamento com discos SAS de 15K rpms. Sei que isto não é de baixo custo, mas eu disse que é o ideal. Você também pode trabalhar com discos SATA2 de 7.200rpms. Você vai ter uma boa performance. Quantos discos eu devo usar? Se possível 6 discos, pelo menos. Utilize dois como discos para o sistema operacional do equipamento configurados em raid1. Isto vai garantir a operação do equipamento. Os outros quatro discos você configura como raid10. Se você tiver uma controladora raid no servidor para isto, melhor ainda. Caso não tenha, configure estes dispositivos raid pelo linuxmesmo. Os volumes que vamos exportar serão criados diretamente no raid10. Nosso servidor de exemplo está exportando um volume raid10 de 3Tb. Instalação Os procedimentos que vou mostrar foram executados em um equipamento com controladora raid e a instalação com RedHat Enterprise Linux5. Estes mesmos procedimentos podem ser replicados em um Fedora ou outra distribuição compatível. O serviço de compartilhamento iscsi é provido pelo pacote scsitargetutils. Este pacote pode ser instalado diretamente pelo DVD de instalação do RedHat ou a partir do canal ClusterStorage do RHN. Este canal precisa ser atribuído manualmente ao servidor antes que possamos instalar o pacote. # yum y install scsitargetutils Este pacote instala o serviço tgtd responsável por compartilhar dispositivos locais via iscsi. Configuração Agora passamos à configuração do nosso servidor para compartilhar um volume que será manipulado remotamente. As configurações podem ser feitas com o comando tgtadm ou pelo arquivo de configuração. Aforma mais simples é através do arquivo e é isto que vou mostrar. Criando os volumes a serem compartilhados Os volumes que vamos compartilhar são, na verdade, partições ou volumes lógicos do lvm localizado no raid10 deste servidor de exemplo. Eu criei um grupo de volumes chamado vg0 que ocupa todo o espaço do raid e, dentro dele, criei um volume lógico de 100G para estes testes. [root@storage tgt]# vgs VG #PV #LV #SN Attr VSize VFree vg0 1 1 0 wzn 3221G 3121G [root@storage tgt]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert lv.lun1 vg0 wia 100.00G Eu chamei o volume lógico de lv.lun1. Você pode escolher o nome que achar mais conveniente. O volume lógico ou partição que você criar não deve ser formatado nem montado no servidor local. Tudo isso será feito a partir dos clients, os servidores que vão mapear este volume. MAIN MENU Home Empresa Serviços Soluções Treinamentos Artigos Dicas Tutoriais Eventos RedHat Business Partner

Configurando Um Servidor Como Storage Iscsi

Embed Size (px)

DESCRIPTION

servidor como storage

Citation preview

Page 1: Configurando Um Servidor Como Storage Iscsi

12/19/2014 Configurando um servidor como storage iscsi

http://www.savant.com.br/index.php/artigos/tutoriais/21 1/4

Configurando um servidor como storage iscsiNossos clientes sempre nos solicitam orientações sobre como ter um ambiente de armazenamento distribuído e confiável. Nossaprimeira recomendação é o uso de um storage que permita confiabilidade e crescimento de acordo com as necessidades daempresa. Um inconveniente é custo de aquisição do equipamento. Apesar de ter reduzido muito o valor inicial, ainda é um fator quepesa na decisão.

Uma ideia é configurar um equipamento que tenha vários discos e que possa compartilhar seu armazenamento com outrosequipamentos da rede local por protocolos específicos como iscsi por exemplo.

 

Equipamento

A primeira recomendação é quanto às características do hardware. Uma configuração ideal para performance e segurança envolveum equipamento com discos SAS de 15K rpms. Sei que isto não é de baixo custo, mas eu disse que é o ideal. Você também podetrabalhar com discos SATA2 de 7.200rpms. Você vai ter uma boa performance.

Quantos discos eu devo usar? Se possível 6 discos, pelo menos. Utilize dois como discos para o sistema operacional doequipamento configurados em raid1. Isto vai garantir a operação do equipamento. Os outros quatro discos você configura comoraid10. Se você tiver uma controladora raid no servidor para isto, melhor ainda. Caso não tenha, configure estes dispositivos raidpelo linux mesmo. Os volumes que vamos exportar serão criados diretamente no raid10. Nosso servidor de exemplo estáexportando um volume raid10 de 3Tb.

 

Instalação

Os procedimentos que vou mostrar foram executados em um equipamento com controladora raid e a instalação com RedHatEnterprise Linux 5. Estes mesmos procedimentos podem ser replicados em um Fedora ou outra distribuição compatível.

O serviço de compartilhamento iscsi é provido pelo pacote scsi­target­utils. Este pacote pode ser instalado diretamente pelo

DVD de instalação do RedHat ou a partir do canal ClusterStorage do RHN. Este canal precisa ser atribuído manualmente aoservidor antes que possamos instalar o pacote.

# yum ­y install scsi­target­utils

Este pacote instala o serviço tgtd responsável por compartilhar dispositivos locais via iscsi.

 

Configuração

Agora passamos à configuração do nosso servidor para compartilhar um volume que será manipulado remotamente.

As configurações podem ser feitas com o comando tgtadm ou pelo arquivo de configuração. A forma mais simples é através doarquivo e é isto que vou mostrar.

 

Criando os volumes a serem compartilhados

Os volumes que vamos compartilhar são, na verdade, partições ou volumes lógicos do lvm localizado no raid10 deste servidor deexemplo. Eu criei um grupo de volumes chamado vg0 que ocupa todo o espaço do raid e, dentro dele, criei um volume lógico de100G para estes testes.

[root@storage tgt]# vgsVG   #PV #LV #SN Attr   VSize   VFreevg0    1   1   0 wz­­n­ 3221G   3121G

[root@storage tgt]# lvs  LV      VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert   lv.lun1 vg0  ­wi­a­ 100.00G

Eu chamei o volume lógico de lv.lun1. Você pode escolher o nome que achar mais conveniente.

O volume lógico ou partição que você criar não deve ser formatado nem montado no servidor local. Tudo isso será feito a partir dosclients, os servidores que vão mapear este volume.

 

MAIN MENU

Home

Empresa

Serviços

Soluções

Treinamentos

Artigos

Dicas

Tutoriais

Eventos

RedHat Business Partner

 

   

Page 2: Configurando Um Servidor Como Storage Iscsi

12/19/2014 Configurando um servidor como storage iscsi

http://www.savant.com.br/index.php/artigos/tutoriais/21 2/4

Exportando o lvm como um volume iscsi

A configuração que é enviada junto com o pacote scsi­target­utils tem um exemplo simples, mas interessante. Vamos criar

uma nova entrada neste arquivo mas antes veremos um item importante.

O primeiro passo é definir o nome de compartilhamento que será visto pelos servidores remotos. Este nome deve seguir umpadrão e você não deve ignorar estas regras. Se você escolher um nome qualquer, pode até ser que o equipamento remoto consigaacessá­lo porém pode te trazer problemas. O padrão mais utilizado é o iqn (iSCSI Qualified Name). Este padrão segue a seguinteestrutura:

              Dom DNS    String definida pelos admins Tipo  Data   invertido  por exemplo: uso, tamanho, etc +­­++­­­­­+ +­­­­­­­­­+ +­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+ |  ||     | |         | |                                | iqn.2001­04.com.example:storage:diskarrays­sn­a8675309 iqn.2001­04.com.example iqn.2001­04.com.example:storage.tape1.sys1.xyz iqn.2001­04.com.example:storage.disk2.sys1.xyz

Tendo este padrão em mente vamos configurar o compartilhamento. Edite o arquivo /etc/tgt/targets.conf como no exemplo a

seguir:

<target iqn.2010­01.savant.intranet:storage.disk1.100g>

    # Qual o dispositivo local (partição ou volume lógico) está sendo compartilhado    backing­store /dev/vg0/lv.lun1

    # Controle de acesso ­ somente este ip pode mapear os volumes exportados    initiator­address 192.168.0.2

</target>

Inicie o serviço tgtd e configure­o para inicialização automática:

# service tgtd start# chkconfig tgtd on

Com isto, seu compartilhamento iscsi deve estar ativo e disponível. Execute o comando a seguir para confirmar isto.

# tgtadm ­­lld iscsi ­­op show ­­mode targetTarget 1: iqn.2010­01.savant.intranet:storage.disk.100g    System information:        Driver: iscsi        State: ready    I_T nexus information:    LUN information:        LUN: 0            Type: controller            SCSI ID: deadbeaf1:0            SCSI SN: beaf10            Size: 0 MB            Online: Yes            Removable media: No            Backing store: No backing store    LUN: 1            Type: disk            SCSI ID: deadbeaf1:0            SCSI SN: beaf11            Size: 107374 MB            Online: Yes            Removable media: No            Backing store: /dev/vg0/lv.lun1    Account information:    ACL information:        ALL

Pronto. Nosso servidor iscsi (mais conhecido como iscsi target) está no ar e compartilhando o primeiro volume de 100G. Para

compartilhar novos volumes basta criar o dispositivo (partição ou volume lógico lvm), acrescentar uma nova seção target à suaconfiguração e recarregar o serviço tgtd.

Page 3: Configurando Um Servidor Como Storage Iscsi

12/19/2014 Configurando um servidor como storage iscsi

http://www.savant.com.br/index.php/artigos/tutoriais/21 3/4

 

Acessando o storage remotamente

Agora vamos configurar um equipamento que vai mapear o compartilhamento iscsi remoto.

O primeiro passo é instalar o pacote iscsi­initiator­utils que é a parte client do iscsi, inicie o serviço e configure­o para

inicialização automática:

# yum ­y install iscsi­initiator­utils# service iscsid start# chkconfig iscsid on

Vamos ver se conseguimos identificar o compartilhamento do outro servidor. Este comando solicita uma lista de volumesexportados pelo servidor via protocolo iscsi.

# iscsiadm ­m discovery ­t sendtargets ­p 192.168.0.1192.168.0.1:3260,1 iqn.2010­01.savant.intranet:storage.disk1.100g

Pronto, aí está o disco compartilhado que vamos mapear neste servidor. O passo seguinte é efetuar login no servidor remoto viaiscsi. Login neste caso significa estabelecer conexão com o storage e mapear os dispositivos exportados como se fossem discoslocais. Isto é feito com o comando a seguir:

# iscsiadm ­m node ­T iqn.2010­01.savant.intranet:storage.disk1.100g ­p 192.168.0.1 ­lLogging in to [iface: default, target: iqn.2010­01.savant.intranet: storage.disk1.100g, portal: 192.168.0.1,3260]Login to [iface: default, target: iqn.2010­01.savant.intranet:storage.disk1.100g, portal: 192.168.0.1,3260]: successful

Agora o disco do servidor deve aparecer como um disco local. Rode o comando fdisk para verificar isto. Veja que o volume iscsi

aparece como um disco sdb normal.

[root@backup ~]# fdisk ­l...Disk /dev/sdb: 107.3 GB, 107374182400 bytes255 heads, 63 sectors/track, 13054 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

No servidor que atua como storage, o volume de 100Gb está particionado e disponível porém, quando ele é exportado via iscsi, ocliente identifica como um disco que ainda não foi, sequer, inicializado. Você precisa particioná­lo a partir da máquina cliente paraque possa ser usado como armazenamento.

Se você reiniciar seu equipamento agora, este volume sdb não será listado. Para que o iscsid possa fazer o login e disponibilizar ovolume localmente de forma automática você deve colocar o iqn no arquivo /etc/iscsi/initiatorname.iscsi como segue:

InitiatorName=iqn.2010­01.savant.intranet:storage.disk1.100g

Crie uma partição no novo dispositivo identificado com o comando fdisk anterior, formate­a e coloque em seu fstab como segue:

# device    dir local  format  opções   backup  verifLABEL=100g  /storage   ext3    _netdev  0       0

A opção _netdev listada no fstab indica ao servidor que este volume só deve ser montado depois que as conexões de redeestiverem disponíveis.

Para você verificar se tudo deu certo, inclusive o login automático no servidor storage e a montagem da partição local reinicie o seuservidor.

 

Referências

tgt project ­ http://stgt.sourceforge.net

iSCSI wikipedia ­ http://en.wikipedia.org/wiki/ISCSI

iSCSI initiator quick start guide ­ http://fedoraproject.org/wiki/Scsi­target­utils_Quickstart_Guide

Page 4: Configurando Um Servidor Como Storage Iscsi

12/19/2014 Configurando um servidor como storage iscsi

http://www.savant.com.br/index.php/artigos/tutoriais/21 4/4

 

Conclusão

Aqui estão os passos para configurar o servidor iscsi (target) e como mapear estes volumes a partir de equipamentos remotos(initiators). Há outras opções que podem ser consideradas, como usuário e senha para login no storage iscsi. O controle de acessoque fizemos aqui é baseado, apenas, na origem da conexão que já oferece um bom controle.

Se você quiser seguir em frente há várias opções tanto no tgtadm quando no iscsiadm que podem ser exploradas.

MARCOS SUNGAILA