Professional Documents
Culture Documents
Monograa apresentada ao Laboratrio A-Hand, da Universidade Estadual de Campinas, como requisito para obteno de ttulo de Especialista em Orientao a Objeto.
CAMPINAS 2007
Contents
3 4 5 6 7 10 13 15 17
INTRODUO VISO GERAL DETALHES DO PROTOCOLO iSCSI A TCNICA TOE DESCOBERTA DE DISPOSITIVOS iSCSI
REFERNCIAS
Domain Name Service iSCSI Qualied Name Internet Storage Name Service Just a Bunch of Disks Storage Area Network Small Computer System Interface TCP Ooad Engine
RESUMO
Redes baseadas no padro fsico Ethernet, especialmente Gigabit Ethernet, podem constituir uma alternativa vivel na obteno de espaos de armazenamento distribudos, para uma gama de aplicaes, dentre elas, virtualizao de servidores, redundncia de recursos computacionais, e backup remoto. Esta monograa tem, como propsito, apresentar o protocolo de comunicao iSCSI, bem como algumas de suas caractersticas e implementaes tpicas, como um componente que se utiliza da escalabilidade da infra-estrutura Ethernet amplamente disponvel e de custo acessvel, para ns de armazenamento de informaes.
ABSTRACT
Ethernet-based networks, notably Gigabit Ethernet ones, may be feasible alternatives to obtain distributed storage facilities for a range of applications, such as server virtualization, redundancy of computational resources and remote backup. The purpose of this monograph is to present the iSCSI communication protocol, its features and typical implementations as an component which comprises the escalability of well-established and cost-eective Ethernet networks, for storage purposes.
INTRODUO
O protocolo de comunicao iSCSI (Internet SCSI) prov servio de transporte para um outro protocolo de comunicao, SCSI, este tipicamente utilizado como interface entre sistemas operacionais e dispositivos de armazenamento xo de informaes, tais como discos rgidos e unidades de ta magntica. Internet SCSI opera em nvel de aplicao, portanto utiliza-se dos servios da camada subjacente (de transporte), que executa o protocolo TCP; iSCSI tem como objetivo manter completa compatibilidade com SCSI.
Inicialmente descreveremos aspectos bsicos da interface SCSI, para facilitar a posterior abordagem ao iSCSI e suas vantagens, desvantagens e caractersticas. Apresentaremos a tcnica TOE, utilizada para minimizar o impacto no desempenho de transferncia de dados devido ao uso do protocolo TCP. Elencaremos alguns exemplos de implementaes iSCSI, seja por software, seja por hardware.
Embora sejam tecnologias complementares, iSCSI e SAN no compartilham aspectos conceituais. Por exemplo, iSCSI no prov inteligncia nativa para controle de acesso mltiplo, delegando essa tarefa s outras aplicaes (sistema operacional, drivers).
VISO GERAL
Conceitos SCSI
Essencialmente, SCSI uma famlia de interfaces para requisio de servios a dispositivos de entrada e sada (E/S). Como nomenclatura, um dispositivo de E/S chamado de unidade lgica (UL). SCSI uma arquitetura cliente-servidor. Clientes de uma interface SCSI so chamados iniciadores, que enviam comandos ao servidor, chamado de alvo. Um alvo pode conter vrias unidades lgicas. Os comandos trafegam numa camada SCSI de transporte. A UL
processa os comandos recebidos. Cada comando SCSI resulta em uma fase (opcional) de dados, do iniciador para o alvo ou vice-versa, e outra fase (obrigatria) de resposta, do alvo para o iniciador. A fase de resposta indica o estado nal do comando, incluindo informao sobre erros. Os blocos descritores de comando (BDC) so as estruturas de dados que esquematizam os parmetros enviados pelo iniciador para o alvo. Esses blocos contm campos padro SCSI e campos especcos, de acordo com o tipo de dispositivo em questo.
Conceitos iSCSI
Os atores iSCSI compartilham os mesmos conceitos de SCSI. No entanto, trabalham com mensagens ao invs de blocos. Essas mensagens so denominadas unidades de dados de protocolo (PDU, na sigla em ingls). Uma outra diferena, por questes de desempenho: iSCSI permite a abreviao de fase, ou seja, ao invs de trabalhar com 2 fases separadas, para dados e resposta, ele permite o envio de ambas informaes numa nica fase. No ambiente iSCSI, uma comunicao entre iniciador e alvo envolve uma ou mais conexes TCP. O grupo de conexes TCP envolvido nessa comunicao denominado
sesso .
9
Na arquitetura iSCSI, denomina-se Entidade de Rede qualquer cliente ou servidor iSCSI. Uma Entidade de Rede composta por um ou mais ns iSCSI, que fazem a interface com o protocolo SCSI, e por um ou mais Portais de Rede, que fazem a interface com o protocolo TCP. Um Grupo de Portais um conjunto de Portais de Rede no mbito de um n iSCSI. Esse grupo aloca um ou mais portais para uma determinada sesso.
Uma tpica utilizao da arquitetura iSCSI pode ser visualizada na gura 2. um esquema de redundncia e backup de dados, utilizando componentes low-end e a infraestrutura de rede j existente.
10
Estrutura Bsica de Cabealho (Basic Header Structure): de tamanho 48 bytes, descreve a operao, identica o solicitante e/ou destinatrio das informaes. Veremos adiante mais detalhes dessa estrutura.
Estrutura Adicional de Cabealho (Additional Header Structure): cional, criada conforme a necessidade. Fechamento de Cabealho (Header Digest) Segmento de Dados (Data Segment): o dado, propriamente dito. Fechamento de Dados (Data Digest)
op-
11
bit I: aplica-se a um PDU de requisio; quando assume valor 1, uma marca para entrega imediata. Opcode: cdigo de operao que indica o tipo de PDU. Os opcodes
bit Final (F): quando assume valor 1, indica o ltimo PDU da seqncia. Campos especcos de opcode (Opcode-specic elds): preenchimento conforme o tipo de opcode. Comprimento total da Estrutura Bsica de Cabealho (Total AHS length): 32 bits. tamanho do cabealho, expresso em nmero de palavras de
Comprimento do segmento de dados (Data segment length): tamanho do segmento de dados da PDU, expresso em nmero de bytes. assumir valor 0, quando o segmento de dados da PDU for vazia. Deve
LUN: alguns opcodes referem-se a uma unidade lgica especca. Neste caso, este campo preenchido com informao que identica a UL. Caso o opcode seja de outro tipo, este campo preenchido conforme o tipo de opcode.
Etiqueta de tarefa do iniciador (Initiator Task Tag): uma tarefa iSCSI um conjunto de operaes dentro de uma sesso. A etiqueta de tarefa preenchida pelo iniciador e deve identicar univocamente a tarefa dentro do contexto daquela sesso.
12
Na tabela 1 temos alguns opcodes do iniciador:
Opcode (hex)
Descrio
comando SCSI (encapsula um bloco descritor de comando) requisio de login trfego de dados (SCSI Data Out) para operao de escrita requisio de logout cdigos especcos de fabricante
tabela 1 - opcodes do iniciador
Opcode (hex)
resposta SCSI resposta de login trfego de dados (SCSI Data In) para operao de leitura requisio de logout Ready to Transfer - sinalizao de aceitao de dados cdigos especcos de fabricante rejeio
tabela 2 - opcodes do alvo
Descrio
13
A TCNICA TOE
Demanda
A demanda por velocidade de transmisso de dados tende a crescer at mais que a demanda por velocidade de processamento de dados. No entanto, na arquitetura de rede mais usual, que contempla a pilha de protocolo TCP/IP, a velocidade de transmisso de dados depende diretamente do poder de processamento da CPU, pois TCP/IP implementado via software, na maioria dos casos.
Quando as velocidades de transmisso chegam ao patamar de gigabit por segundo , as solues baseadas em hardware de arquitetura convencional, "low-end", incluindo barramentos e memrias, apresentam um aumento da quantidade de ciclos de CPU dedicados ao processamento de TCP/IP, resultando na diminuio da quantidade de ciclos de CPU dedicados s demais aplicaes.
Na comunicao entre
servidores, que atuam em conjunto para responder a informao requisitada pelo usurio. O protocolo iSCSI uma boa alternativa para prover essa comunicao, pois utiliza a infraestrutura j existente. No entanto, torna-se invivel caso seja necessrio aumentar o poder de processamento, resultante da necessidade de maior velocidade de transmisso de dados.
A tcnica TOE (TCP Ooad Engine), aplicada ao armazenamento de informaes, consiste em transferir, da CPU para um equipamento de rede especializado, a tarefa de processamento de TCP/IP. Essa tcnica pode proporcionar um benefcio considervel para a adoo de iSCSI, pois se dispe a manter o paradigma de menores custos em comparao com solues SAN rodando sobre canal de bra ptica (Fibre Channel).
14
Do ponto de vista da aplicao, a fase de comunicao de dados somente se encerra quando os dados esto reagrupados num nico segmento de informao. Devido a temporizaes, retransmisses e demais obstculos da transmisso, as duas pontas precisam manter, em buers, tambm os segmentos de dados transmitidos e que ainda no foram reagrupados. Ou seja, esses dados "rfos" trafegam pelo barramento e pela memria das mquinas envolvidas, ocupando ciclos de CPU.
Copy avoidance - a soluo passa pela incluso de memria nos dispositivos que implementam TOE, para evitar que os dados transitem entre o espao de memria do kernel e o espao de memria do usurio. No entanto, memria um dos componentes de maior custo e ocupa mais espao fsico no circuito. Tudo isso contribui para que o hardware de rede tenha seu custo de fabricao aumentado.
Na gura 5, vemos as diferenas entre as abordagens de transmisso de dados e onde iSCSI se encaixa.
15
A arquitetura iSNS
Da mesma forma que mapeamos nomes de domnio a endereos IP, atravs do protocolo DNS, dispositivos de armazenamento so anunciados e descobertos atravs de um servio de atribuio de nomes denominado iSNS (Internet Storage Name Service). arquitetura iSNS contempla os seguintes elementos: A
protocolo iSNS cliente iSNS servidor iSNS dispositivos que suportam o protocolo iSCSI dispositivos que suportam o protocolo iFCP
No mbito do servidor iSNS, existe um formato prprio de base de dados, para armazenamento do repositrio de nomes iSNS.
Nomes iSCSI
O protocolo iSNS abrange outros protocolos alm de iSCSI. Por isso, o nome qualicado iSCSI (IQN) agora parte da nomenclatura completa, que compatvel com outros protocolos para prover interoperabilidade. Um exemplo de nome iSCSI :
Servios iSNS
Os seguintes servios so oferecidos pela arquitetura iSNS:
16
Descoberta de Dispositivos (ou recursos) Domnio de Descoberta e Servio de Controle de Entrada Servio de Noticao de Mudana de Estado Mapeamento Livre entre Fibre Channel e Dispositivos iSCSI
Cada dispositivo em conformidade com iSNS pode realizar as seguintes operaes no mbito do protocolo:
Registrar seu nome no servio de descoberta Noticar seu estado de operao (falha, manuteno, em operao)
Administrativamente, os dispositivos so autorizados a utilizar os servios iSNS. Estaes de gerenciamento podem ser utilizadas para atualizar os dados dos Domnios de Descoberta e do Servio de Controle de Entrada.
17
REFERNCIAS
Internet Engineering Task Force. 3720. Disponvel em URL: http://www.ietf.org/rfc/rfc3720.txt [ 2004 Abr ]
ACM Queue. Disponvel em URL: http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=154 [ 2004 Mai ] Javvin Technologies, Inc. URL: http://www.javvin.com/protocoliSCSI.html
Solution Technology. . Disponvel em URL: http://www.soltechnology.com/articles/iSCSI-for-Storage-Networking.htm Internet Engineering Task Force. URL: http://www.ietf.org/rfc/rfc4171.txt [ 2005 Set ]