Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas nas arquiteturas NAS, por Kleber José da Silva
Upcoming SlideShare
Loading in...5
×
 

Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas nas arquiteturas NAS, por Kleber José da Silva

on

  • 755 views

 

Statistics

Views

Total Views
755
Views on SlideShare
705
Embed Views
50

Actions

Likes
1
Downloads
4
Comments
0

2 Embeds 50

http://cmgbrasil.posterous.com 49
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Evolução de DAS para SAN; Diferenças: NAS -> LAN e Arquivos . Protocolos NFS para UNIX e CIFS (SMB) para Windows SAN -> Blocos. Protocolos FCP, iSCSI e FCoE.
  • Arquiteturas NAS facilitam o processo de Backup para fita com o NDMP ao copiar os dados diretamente do Storage para a Fita.
  • Além do linux, VMware e XenServer possuem versão gratuitas .
  • Pouco Adotado: Resistência entre os administradores de rede em adotá-la em suas instalações, temendo degradação. Ausência de base instalada. Aumento da complexidade por Kirch (2006) Grandes mudanças da nova versão do protocolo conforme exposto por Harrington et al. (2006) e Hildebrand (2007) UDP Risco de perder pacotes em grandes volumes de trocas de arquivos em altas taxas de transferências, o que seria trágico
  • Em 1997 a SUN transferiu oficialmente o desenvolvimento do NFS para o IETF ( Internet Engineering Task Force ) O NFSv4 foi extremamente modificado em relação às versões anteriores do protocolo NFS
  • Stateful -> Aperfeiça técnicas de análise de problemas ACL -> facilitando a integração com ambientes Windows Sub-Protocolos -> separados no NFSv3: mountd , lockd e statd Única porta TCP -> facilita a comunicação através de firewalls Migração/Replicação -> simplificando a necessidade de substituir um servidor NFS por outro
  • Em alguns países, como nos Estados Unidos e França , a base instalada de NFSv4 tem aumentando ao longo do tempo, como identificado pelo CITI. CITI disponibilizou em meados de 2010 o pacote para instalação do SFU para NFSv4 em Windows Vista x64, Windows Server 2008 R2 x64, e Windows 7 x64
  • Dois tipos: leitura e escrita O conceito de cache já existia nas versões anteriores do NFS (2 e 3 ) mas para garantir consistência entre diferentes clientes, eles trocavam mensagens com o servidor. As delegações de arquivos no NFSv4 são possíveis porque o protocolo mantém o estado das sessões (é stateful ) , o que não ocorria nas versões anteriores Harrington et al. (2006): Clusters de Renderização e Banco de Dados
  • Diversas operações em somente uma requisição RPC. Esse modelo somente é possível em decorrência da última versão do NFS suportar apenas TCP . Essa mudança busca melhorar o desempenho em redes com alta latência, Mas mesmo em redes locais com baixa latência espera-se reduzir o número de operações do NAS. Pohlmann e Hess (2006) estimam que, eram 5 vezes maior que a da nova versão.
  • Parâmetro estabelecido por cada cliente Uso de UDP na camada de transporte, caso do NFSv2 e 3 , limitava o uso de um tamanho de blocos maior devido ao risco de perda do bloco inteiro ao falhar uma requisição simples. Blocos grandes são mais eficientes do que pequenos, mas se o tamanho dos arquivos em trânsito é pequeno, haveria desperdício de espaço.
  • Storage em RAID 6 em 5+2, com discos SAS de 15K RPM. No papel de clientes NFS, além de servidores Linux, também é comum haver servidores de virtualização como VMware e Citrix para seus repositórios ( DataStores ) e servidores UNIX como IBM AIX, HP-UX, e Oracle Solaris
  • Apenas o tamanho de blocos foi variado em conjunto com o tamanho utilizado na montagem do cliente NFS e seus valores especificados formaram um dos eixos dos gráficos de desempenho. Os cenários foram divididos em 2 grupos, sendo que cada um deles utilizou versões diferentes de Sistema Operacional do cliente e servidor NFS.
  • No intervalo entre a execução de um cenário e outro, o ambiente foi reiniciado (servidores e storage ) e os volumes de dados de testes recriados para evitar resultados eventualmente influenciados pelo cache de operações de outros cenários.
  • o uso de UDP na camada de transporte, caso do NFSv2 e às vezes do NFSv3, limita o uso de um tamanho de blocos maior devido ao risco de perda do bloco inteiro ao falhar uma requisição simples
  • Cada cenário foi executado 3 vezes e a média dos resultados seguintes foi coletada a partir da ferramenta SIO no servidor Linux e da ferramenta nativa sysstat no Sistema de Armazenamento ( Storage )
  • aumento linear da vazão proporcionalmente ao tamanho de bloco utilizado A diferença de resultados do TCP e UDP não foi significativa, desencorajando inicialmente o uso de UDP devido aos riscos expostos ao ambiente
  • aumento proporcional ao tamanho de bloco estabilizado a partir de 32K Nesta configuração B, a diferença de vazão entre NFSv3/TCP e NFSv4 ficou menor que na configuração A, ou seja, mostra que houve realmente uma melhoria na implementação dos Sistemas Operacionais
  • A utilização de Operações NFSv4 é em todos os casos maior que o dobro da versão 3. Essa relação é mais próxima apenas com tamanhos de blocos de 32KB
  • o NFSv4 também apresenta uma maior utilização de IOPs, mas a diferença para o NFSv3 é reduzida quando as delegações de arquivos é habilitada, no caso de tamanho de blocos menores. Mas bem como na vazão, o número de IOPs se mantém estabilizado com a alteração do tamanho de blocos. Sem as delegações de arquivos - cenário 3B, comparando a configuração anterior no cenário 3A, a diferença é minimizada no tamanho de bloco em 64KBytes, mesmo assim ainda é o dobro
  • Os resultados de utilização média de CPU ficaram muito próximos em todos os cenários. Nota-se que as delegações de arquivos do NFSv4 reduzem um pouco sua utilização
  • Os resultados de utilização média de CPU ficaram muito próximos em todos os cenários. Nota-se que as delegações de arquivos do NFSv4 reduzem um pouco sua utilização
  • No IPv6, Jumbograma poderia trazer vantagens de desempenho para tamanho de blocos grandes.
  • Entretanto, deve-se explorar um pouco mais o estudo conforme sugestões apresentadas na seção “Trabalhos Futuros”.

Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas nas arquiteturas NAS, por Kleber José da Silva Análise comparativa entre as versões 3 e 4 do protocolo nfs em arquiteturas nas arquiteturas NAS, por Kleber José da Silva Presentation Transcript

  • Artigo Kleber José da Silva Co-autor: Prof. Dr. Antonio Rigo IPT – 05/07/2011 Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
  • Agenda
    • Contexto
    • Protocolo NFS
    • Estado da Arte
    • Parametrizações do Protocolo
    • Especificação do Experimento
    • Gráficos de Desempenho
    • Trabalhos Futuros
    • Conclusão
  • 1 - Contexto
  • 1.1 - Contexto
    • Grupos ( cluster / farms ) de servidores como correio eletrônico , web , virtualização e banco de dados necessitam armazenar seus dados em um sistema de arquivos de acesso simultâneo
    • Arquiteturas típicas: NAS e SAN
    • NAS : nativo no Sistema de Armazenamento
    • SAN: depende de um serviço adicional no servidor – serviço de Cluster
  • 1.2 - Contexto
    • Objeto de estudo: arquiteturas NAS operando com o protocolo NFS somente, com foco na versão 4 .
    • Acesso ao Sistema de Armazenamento por servidores que possuem seu Sistema Operacional baseado em BSD como Unix (Solaris, AIX), Linux (RedHat, Fedora), VMware e XenServer .
  • 2 - Protocolo NFS
    • A versão 4 do protocolo NFS foi especificado em 2003 e atualmente ainda é pouco adotado em ambientes NAS, principalmente no Brasil. A versão 3 é a mais usada, com casos em UDP ao invés de TCP na camada de transporte;
    • O NFSv4 é a mais recente do protocolo NFS e apresenta diversas melhorias em relação a versão anterior.
  • 1984 1989 1995 2003 2010 NFS (Sun Microsystems) NFSv2 NFSv3 NFSv4 NFSv4.1
    • O NFSv4.1 não foi avaliado neste trabalho pois ainda é muito recente e implementação restrita.
    1997 IETF 2.1 – Evolução
  • 2.2 – NFSv4
    • Estados das sessões: é stateful ;
    • Mecanismos de segurança nativa ou por integração ( RPCSEC_GSS, Kerberos v5 );
    • Padronização do tratamento de ACLs ;
    • Incorporação dos sub-protocolos utilizando apenas uma porta TCP . Exclusão do UDP;
    • Extensão ao pNFS - Parallel NFS ;
    • Suporte à migração / replicação de arquivos.
  • 3 – Estado da Arte
    • No Red Hat Enterprise Linux 5 e Solaris 10, o NFSv4 já é o usado como padrão quando o servidor NFS também o suporta.
    • A tendência é que o NFSv4 se consolide como opção padrão nas próximas versões dos servidores justamente para que eles possam aproveitar as melhorias apresentadas nessa versão, e conseqüentemente o NFSv3 seria desativado a médio prazo.
  • 4 - Parametrizações do protocolo
    • A motivação para explorar as alterações nos parâmetros do protocolo é o fato de alguns estudos, como o de Boumenot (2002), apontarem que os elementos básicos da infraestrutura de um arquitetura NAS baseada em NFS como processador, disco e rede não serem responsáveis pela baixa vazão entre servidor e cliente. Supõe-se que a deficiência seja causada por um comportamento evitável do NFS, mediante ajustes .
  • 4.1 - Delegações de arquivos
    • É o Cache dos dados no cliente.
    • Disponível no NFSv4,
    • Não se aplica ao NFSv3
  • 4.2 - RPC Composto (nativo no NFSv4)
  • 4.3 - Tamanho de Blocos
    • Tanenbaum et al. (2006) defendem o conhecimento sobre a utilização dinâmica dos tamanhos de arquivos como necessária para sua otimização. Se todos arquivos acessados constantemente são pequenos, o tamanho de bloco também deve ser;
    • Serão testados alguns tamanhos de blocos, e alguns perfis de aplicações na ferramenta de simulação.
  • 5 – Especificação do Experimento
    • Topologia do Experimento
  • 5.1 – Simulação de carga de acesso
    • Ferramenta da NetApp (fabricante do Sistema de Armazenamento) denominada SIO (Simulated Input Output); Script que é executado no servidor Linux e tem o propósito de gerar cargas de acesso ao volume
    • Configurações fixas de relação leitura x escrita em 50% x 50%, usando 3 threads , em 2 minutos de tempo de execução por 3 vezes, e acessando 10 arquivos simultaneamente.
  • 5.2 – Cenários
    • Grupo A:
    • RedHat 5.2 (Cliente) e Data ONTAP 7.3.2 (Servidor)
    • Grupo B:
    • RedHat 5.3 (Cliente) e Data ONTAP 7.3.5 (Servidor)
    Cenário NFS Deleg. Arquivos RPC Comp. TCP / UDP 1A e 1B v3 N/A N/A TCP 2A e 2B v3 N/A N/A UDP 3A e 3B v4 Não Sim TCP 4A e 4B v4 Sim Sim TCP
  • 5.3 – Variáveis
    • Os gráficos foram gerados variando o tamanho simultaneamente na montagem do cliente NFS e na ferramenta de simulação SIO: 8K , 16K , 32K, 64 e 128KBytes . (Com exceção do NFSv3 em UDP que não contemplou tamanhos grandes)
  • 5.4 – Resultados
    • Vazão : taxa de transferência efetiva de dados expressa em Mega Bytes por Segundo;
    • Utilização da CPU: porcentagem do tempo que a CPU do Servidor NFS está ocupada;
    • Utilização de IOPs: Operações de Entrada e Saída por segundo no Servidor NFS. Exemplo:
    Vazão (MBytes/s) NFS IOPs (Operações) Utilização de CPU 92MBytes/s 5.240 34%
  • 6 – Gráficos de Desempenho
    • Vazão – Config. A
  • 6 – Gráficos de Desempenho
    • Vazão – Config. B
  • 6 – Gráficos de Desempenho
    • IOPs – Config. A
  • 6 – Gráficos de Desempenho
    • IOPs – Config. B
  • 6 – Gráficos de Desempenho
    • Média de CPU – Config. A
  • 6 – Gráficos de Desempenho
    • Média de CPU – Config. B
  • 7 – Trabalhos Futuros
    • Alteração do perfil de aplicação configurado na ferramenta de simulação
    • O sistema operacional do cliente NFS também pode ser substituído para analisar implementações específicas como, por exemplo, FreeBSD, Solaris ou Fedora;
    • Aumentar o canal de comunicação entre servidor e storage por meio de agregação de canais ethernet (Link Aggregation).
    • Implementar Jumbo Frames e IPv6
  • 8 – Conclusão
    • Na configuração A (S.O mais antigo) conclui-se que a versão 3 do NFS ainda é a melhor escolha no quesito desempenho por apresentar uma melhor vazão dos dados e menor utilização de IOPs em relação à versão 4;
    • Na configuração B , (mais recente), a diferença é minimizada. Conclui-se que não se deve descartar o uso do NFSv4 em produção, principalmente nos ambientes em que suas novas funcionalidades compensariam a pequena perda de desempenho.