Upload
giovani-oliveira
View
212
Download
0
Embed Size (px)
DESCRIPTION
servidor como storage
Citation preview
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 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 aoservidor 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. 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 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 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
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 scsitargetutils 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.200104.com.example:storage:diskarrayssna8675309 iqn.200104.com.example iqn.200104.com.example:storage.tape1.sys1.xyz iqn.200104.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.201001.savant.intranet:storage.disk1.100g>
# Qual o dispositivo local (partição ou volume lógico) está sendo compartilhado backingstore /dev/vg0/lv.lun1
# Controle de acesso somente este ip pode mapear os volumes exportados initiatoraddress 192.168.0.2
</target>
Inicie o serviço tgtd e configureo 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.201001.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.
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 iscsiinitiatorutils que é a parte client do iscsi, inicie o serviço e configureo para
inicialização automática:
# yum y install iscsiinitiatorutils# 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.201001.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.201001.savant.intranet:storage.disk1.100g p 192.168.0.1 lLogging in to [iface: default, target: iqn.201001.savant.intranet: storage.disk1.100g, portal: 192.168.0.1,3260]Login to [iface: default, target: iqn.201001.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.201001.savant.intranet:storage.disk1.100g
Crie uma partição no novo dispositivo identificado com o comando fdisk anterior, formatea 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/Scsitargetutils_Quickstart_Guide
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