You are on page 1of 17

MARCOS AUGUSTO NAGAMURA

iSCSI: conceitos, caractersticas e aplicaes

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

LISTA DE ABREVIATURAS E SIGLAS


RESUMO ABSTRACT

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

LISTA DE ABREVIATURAS E SIGLAS

DNS IQN iSNS JBOD SAN SCSI TOE

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 .

Modelo de arquitetura iSCSI


Na gura 1, podemos visualizar o esquema da arquitetura iSCSI.

gura 1 - modelo de arquitetura iSCSI

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.

gura 2 - tpica utilizao da arquitetura iSCSI

10

DETALHES DO PROTOCOLO iSCSI


Na gura 3, so exibidos os campos de informao de uma mensagem do protocolo iSCSI. Trata-se da descrio da unidade de dados de protocolo (PDU).

gura 3 - descrio da unidade de dados de protocolo

A unidade de dados de protocolo possui os seguintes campos de informao:

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-

Na gura 4, visualizamos com mais detalhes o contedo da Estrutura Bsica de Cabealho.

11

gura 4 - Estrutura Bsica de Cabealho


A Estrutura Bsica de Cabealho possui os seguintes campos de informao:

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

dividem-se em duas categorias - opcodes do iniciador (requisio) e opcodes do alvo (resposta).

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)

0x01 0x03 0x05 0x06 0x1c - 0x1e

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

E na tabela 2, alguns opcodes do alvo:

Opcode (hex)

0x21 0x23 0x25 0x26 0x31 0x3c - 0x3e 0x3f

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.

Num ambiente corporativo, onde o gargalo se instala ?

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).

Desaos na implementao de TOE


A natureza do protocolo TCP, por si s, j impe srios desaos para a implementao de TOE. TCP se caracteriza pela transmisso em uxo contnuo de pequenas unidades de informao, de no mximo 1500 bytes. Cada unidade possui seu prprio cabealho, e as pontas da comunicao precisam manter o estado atual da conexo, o que implica a necessidade de buers (memria) que somente podem ser liberados aps o trmino da comunicao.

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.

gura 5 - abordagens de transmisso de dados


Um hardware iSCSI que atua no barramento do servidor (HBA - Host Bus Adapter) realiza a funo de alvo iSCSI, que tambm pode ser realizada por software. As vantagens de um dispositivo HBA so maiores na medida em que a mquina disponha de cada vez menos ciclos de CPU ociosos.

15

DESCOBERTA DE DISPOSITIVOS iSCSI


Numa rede de tamanho reduzido, com poucos dispositivos iSCSI, uma forma efetiva de mapeamento embutir os nomes iSCSI nos prprios dispositivos, simplicando a fase de descoberta de dispositivos. Quando torna-se necessrio aumentar o nmero de dispositivos e prover interoperabilidade com outras solues (Fibre Channel, por exemplo), uma arquitetura mais robusta solicitada.

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 :

iscsi.fake.com 3260 iqn.2003-01.com.ibm:00.fcd0ab21.shark128 "123ismysecretpassword"


composto de 4 campos: nome ou endereo de host, nmero da porta, nome IQN e palavra de autenticao.

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.

Interoperabilidade Fibre Channel e iSCSI


O protocolo iFCP (Internet FCP) prov interoperabilidade entre dispositivos que suportam FCP (Fibre Channel Protocol) e dispositivos que suportam iSCSI. O transporte realizado pelo protocolo TCP/IP e as informaes trafegam no nvel de interconexo (gateway).

17

REFERNCIAS
Internet Engineering Task Force. 3720. Disponvel em URL: http://www.ietf.org/rfc/rfc3720.txt [ 2004 Abr ]

Internet Small Computer Systems Interface (iSCSI): RFC

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

TCP Ooad to the Rescue.

iSCSI: Internet Small Computer Systems Interface. Disponvel em

Nishan Systems, Inc. http://www.diskdrive.com/iSCSI/reading-room/whitepapers/Nishan_iSNS_A_Technical_Overview.pdf [ 2001 ]

Nishan iSNS: A Technical Overview. Disponvel em URL:

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 ]

iSCSI for Storage Networking

Internet Storage Name Service: RFC 4171. Disponvel em

You might also like