O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
GT-CNCComputação em Nuvem para Ciência                Lucas Melo Silva              lucasmelo@ufpa.br     Workshop Inicial...
Sumário• Introdução• Overview do Openstack Swift• A Arquitetura do Protótipo• Referências                                G...
IntroduçãoObjetivos:• Apresentar o panorama geral da arquitetura Openstack Swift• Apresentar a arquitetura do protótipo de...
A Ferramenta Selecionada   Processament   Networking   Armazenamento   o                                               GT-...
A Ferramenta SelecionadaUsabilidade: Clientes e ferramenta administrativas                                                ...
Ferramenta SelecionadaUsabilidade: APIs de acesso a nuvem                                      swift                      ...
Ferramenta SelecionadaOpenstack SwiftBenefícios     • Compatibilidade com protocolo S3;                        swift     •...
Ferramenta SelecionadaOpenstack SwiftLimitações                                                                  swift    ...
Composição do SwiftAlguns Conceitos Iniciais                            GT-CNC
Composição do Swift: Conceitos iniciaisNó:  • É um servidor que oferecerá um ou mais serviços do Swift  • Pode ser virtual...
Composição do Swift: Conceitos iniciaisContêiner:  • É um compartimento de objetos  • Tem o objetivo de organizar objetos ...
Composição do Swift: Conceitos iniciaisZona:  • Agrupamento de dispositivos  • Objetivo de aumentar disponibilidade  • Pod...
Composição do Swift: Conceitos iniciaisAnel de hashing consistente (consistente hashing ring):  • Mapeia a localização fís...
Composição do Swift: ServidoresComponentes macros:•Servidor Proxy (Proxy Server)•Servidor de Contas (Account Server)•Servi...
Composição do Swift: ServidoresComponente macro: Servidor Proxy• É o responsável pela comunicação com componentes do swift...
Composição do Swift: ServidoresComponente macro: Servidor de Contas•Lista contêineres pertencentes a cada contaComponente ...
Composição do Swift: ServidoresComponente macro: Servidor de Objetos• Armazenamento dos blobs nos dispositivos de armazena...
Composição do Swift         Autenticação e Autorização                                      GT-CNC
Composição do Swift: AutenticaçãoPapéis de usuários:• Usuário normal: capaz de realizar apenas funcionalidades gerais• Adm...
Composição do SwiftFormas de autenticação:• tempAuth• swAuth• Keystone.                          GT-CNC
Composição do Swift: AutenticaçãoForma de autenticação: tempAuth• Primeiro middleware WSGI (Web Server Gateway Interface) ...
Composição do Swift: AutenticaçãoForma de autenticação: swAuth• Middleware WSGI criado por terceiros.• Usa a própria estru...
Composição do Swift: AutenticaçãoForma de autenticação: Keystone• Integra os diversos projetos do Openstack• Foi adotado c...
Composição do SwiftMecanismos para melhorar confiabilidade/consistência[3]:• Replicação• Auditoria• Atualizador (updater) ...
Composição do SwiftMecanismo para melhorar consistência: Replicação                                   Zona 1   Objeto    S...
Arquitetura do Protótipo                           GT-CNC
Casos de Uso do Protótipo                         Cópia de Arquivos Sincronização de Arquivos             Compartilhamento...
Arquitetura do Protótipo                                                          HTTPS                    Armazenamento (...
Arquitetura do ProtótipoComponentes do Protótipo:Balanceador de Carga: round-robin DNSNós:       •  Cada nó possui os 3 se...
Arquitetura do Protótipo• 2 Servidores Proxy:                   UFPA                            UFSC       Hardware       ...
Arquitetura do Protótipo • Servidores com os 3 tipos de serviço (contêiner, conta, objeto):                               ...
Arquitetura do Protótipo• Servidores com os 3 tipos de serviço (contêiner, conta, objeto):                                ...
Arquitetura do ProtótipoConfigurações do protótipo:Anel   •   Um anel para cada serviço (objetos, contêineres, contas)   •...
FIM      Obrigado,      Perguntas?                   GT-CNC
Referências• [1] http://greg.brim.net/page/building_a_consistent_hashing_ring.html• [2] http://docs.openstack.org/develope...
Próximos SlideShares
Carregando em…5
×

Apresentacao gt cnc-workshop_iniciliazicao_fase2

366 visualizações

Publicada em

workshop inicialização GT-CNC Fase 2

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Apresentacao gt cnc-workshop_iniciliazicao_fase2

  1. 1. GT-CNCComputação em Nuvem para Ciência Lucas Melo Silva lucasmelo@ufpa.br Workshop Inicialização GT-CNC Fase 2 Nov/2012
  2. 2. Sumário• Introdução• Overview do Openstack Swift• A Arquitetura do Protótipo• Referências GT-CNC
  3. 3. IntroduçãoObjetivos:• Apresentar o panorama geral da arquitetura Openstack Swift• Apresentar a arquitetura do protótipo de armazenamento em nuvem GT-CNC
  4. 4. A Ferramenta Selecionada Processament Networking Armazenamento o GT-CNC
  5. 5. A Ferramenta SelecionadaUsabilidade: Clientes e ferramenta administrativas swift Rackspace Hosting app GT-CNC
  6. 6. Ferramenta SelecionadaUsabilidade: APIs de acesso a nuvem swift GT-CNC
  7. 7. Ferramenta SelecionadaOpenstack SwiftBenefícios • Compatibilidade com protocolo S3; swift • Acoplagem com nuvem de processamento; • Replicação/backup de dados; • Disponibiliza interfaces para acesso por meio de APIs; • Autenticação/ Autorização; • Comunicação segura entre cliente e servidor. • Comunidade ativa GT-CNC
  8. 8. Ferramenta SelecionadaOpenstack SwiftLimitações swift • Não utiliza criptografia para proteger os dados dos clientes; • Não possui autenticação federada; • Suporte a limitação de armazenamento por usuários em desenvolvimento pela comunidade; • Suporte a Webdav em desenvolvimento pela comunidade. GT-CNC
  9. 9. Composição do SwiftAlguns Conceitos Iniciais GT-CNC
  10. 10. Composição do Swift: Conceitos iniciaisNó: • É um servidor que oferecerá um ou mais serviços do Swift • Pode ser virtualizadoObjeto: • É o arquivo armazenado na nuvem • Possui forma binária (binary large object - blob) • Armazenado junto com seus metadados GT-CNC
  11. 11. Composição do Swift: Conceitos iniciaisContêiner: • É um compartimento de objetos • Tem o objetivo de organizar objetos • É comparável a diretórios e pastasPeso (Weight): • Usado para estabelecer prioridades entre dispositivos de armazenamento • Reequilibrar dispositivos sobrecarregados ou menos usados GT-CNC
  12. 12. Composição do Swift: Conceitos iniciaisZona: • Agrupamento de dispositivos • Objetivo de aumentar disponibilidade • Pode ser definido por diferentes critérios, como: • Localização física • Unidades de energia • Redes • Datacenter, servidor, switch, etc GT-CNC
  13. 13. Composição do Swift: Conceitos iniciaisAnel de hashing consistente (consistente hashing ring): • Mapeia a localização física de cada objeto, conta e contêiner • É o “Coração” da escalabilidade horizontal • Usa técnica de hashing consistente Conjunto de mapeamentos hash: <ID, Local> Anel GT-CNC
  14. 14. Composição do Swift: ServidoresComponentes macros:•Servidor Proxy (Proxy Server)•Servidor de Contas (Account Server)•Servidor de Contêiner (Container Server)•Servidor de Objetos (Object Server) GT-CNC
  15. 15. Composição do Swift: ServidoresComponente macro: Servidor Proxy• É o responsável pela comunicação com componentes do swift• Disponibiliza API pública• Trata certas falhas (ex.: falha de um nó)• Intermediário em operações de envio e recebimento de arquivos• Mantém os anéis de mapeamento, encaminhando requisições parao nó de armazenamento correto GT-CNC
  16. 16. Composição do Swift: ServidoresComponente macro: Servidor de Contas•Lista contêineres pertencentes a cada contaComponente macro: Servidor de Contêiner• Lista objetos pertencentes a cada contêiner• Não conhece a localização dos objetos• Mantém estatística de armazenamento e quantidade de objetos GT-CNC
  17. 17. Composição do Swift: ServidoresComponente macro: Servidor de Objetos• Armazenamento dos blobs nos dispositivos de armazenamento• Mantém metadados para cada objeto• Mantém versionamento dos objetos GT-CNC
  18. 18. Composição do Swift Autenticação e Autorização GT-CNC
  19. 19. Composição do Swift: AutenticaçãoPapéis de usuários:• Usuário normal: capaz de realizar apenas funcionalidades gerais• Administrador: gerencia usuários de um grupo• Admin. “Revendedor”: gerencia qualquer grupo e qualquer usuário• Super Admin.: Possui todos os privilégios, inclusive criaradministrador “revendedor” GT-CNC
  20. 20. Composição do SwiftFormas de autenticação:• tempAuth• swAuth• Keystone. GT-CNC
  21. 21. Composição do Swift: AutenticaçãoForma de autenticação: tempAuth• Primeiro middleware WSGI (Web Server Gateway Interface) criadopara o swift• Usado para ambiente de teste e desenvolvimento: • Armazena dados em um arquivo de configuração em texto plano• Recebe credenciais e retorna um token de autenticação GT-CNC
  22. 22. Composição do Swift: AutenticaçãoForma de autenticação: swAuth• Middleware WSGI criado por terceiros.• Usa a própria estrutura do swift para ser uma estrutura maisescalável. • Objeto Swift no formato JSON com restrições de leitura. GT-CNC
  23. 23. Composição do Swift: AutenticaçãoForma de autenticação: Keystone• Integra os diversos projetos do Openstack• Foi adotado como padrão apenas recentemente• Papéis de usuário mais flexível (papéis customizáveis)• Acoplável a alguns backends, como LDAP, SQL, dentre outros [2] GT-CNC
  24. 24. Composição do SwiftMecanismos para melhorar confiabilidade/consistência[3]:• Replicação• Auditoria• Atualizador (updater) GT-CNC
  25. 25. Composição do SwiftMecanismo para melhorar consistência: Replicação Zona 1 Objeto Servidor Zona 2 Proxy Zona 3 Zona 4 GT-CNC
  26. 26. Arquitetura do Protótipo GT-CNC
  27. 27. Casos de Uso do Protótipo Cópia de Arquivos Sincronização de Arquivos Compartilhamento de Arquivos Usuário A Usuário B
  28. 28. Arquitetura do Protótipo HTTPS Armazenamento (UFPA) Balanceador de carga Zona 1 Zona 3 Zona 2 UFPA SSH UFSC • Proxy • Autenticação Zona 4 Zona 5 • Autorização Armazenamento (UFSC) GT-CNC
  29. 29. Arquitetura do ProtótipoComponentes do Protótipo:Balanceador de Carga: round-robin DNSNós: • Cada nó possui os 3 serviços (Servidor de objetos, contas e contêineres) • Cada servidor possui 4 nós virtualizadosZonas: • 3 na UFPA • 2 na UFSCInterface compatível com protocolo S3 GT-CNC
  30. 30. Arquitetura do Protótipo• 2 Servidores Proxy: UFPA UFSC Hardware Hardware CPU: 2 CPU: 2 Memória RAM: 3 GB Memória RAM: 2 GB HDD: 12 GB HDD: 12 GB IP: 200.129.132.69 IP 150.162.66.40 Sistema Operacional Sistema Operacional Ubuntu 12.04 Server Ubuntu 12.04 Server Sistema Operacional: 8GB HDD Sistema Operacional: 10 GB HDD Sistema de Arquivos: Ext4 Sistema de Arquivos: Ext4 Swap: 4GB HDD Swap: 2 GB HDD GT-CNC
  31. 31. Arquitetura do Protótipo • Servidores com os 3 tipos de serviço (contêiner, conta, objeto): UFPA Nós de Armazenamento - 1~3 Nós de Armazenamento - 4Hardware HardwareRAM: 768 MB RAM: 768 MBCPU: 1 CPU: 1HDD: 450 GB HDD: 148GBSistema Operacional Sistema OperacionalUbuntu 12.04 ServerSistema de Arquivos: Ext4 (raiz) e Ubuntu 12.04 ServerXFS (swift) Sistema de Arquivos: Ext4 (raiz) e XFS (swift)Sistema Operacional: 48GB HDD Sistema Operacional: 48GB HDDSwap: 2GB HDD Swap: 2GB HDDArmazenamento Swift: 400GB Armazenamento Swift 1: 100GB HDDHDD Armazenamento Swift 2: 2TB através de Storage Externo GT-CNC
  32. 32. Arquitetura do Protótipo• Servidores com os 3 tipos de serviço (contêiner, conta, objeto): UFSC Nós de Armazenamento – 1~4 Hardware RAM: 1 GB CPU: 1 HDD: 450 GB IP: 150.162.66.41 ~ 44 Sistema Operacional Ubuntu 12.04 Server Sistema de Arquivos: Ext4 (raiz) e XFS (swift) Sistema Operacional: 48GB HDD Swap: 2GB HDD Armazenamento Swift: 400 GB HDD GT-CNC
  33. 33. Arquitetura do ProtótipoConfigurações do protótipo:Anel • Um anel para cada serviço (objetos, contêineres, contas) • Anel criado no proxy e distribuído para todos os nósReplicação: • 3 réplicas para cada objeto, contêiner e contaPartições: • 100 para cada driveAutenticação: swAuth GT-CNC
  34. 34. FIM Obrigado, Perguntas? GT-CNC
  35. 35. Referências• [1] http://greg.brim.net/page/building_a_consistent_hashing_ring.html• [2] http://docs.openstack.org/developer/keystone/architecture.html• [3] http://docs.openstack.org/developer/swift/overview_architecture.html• [4] http://rsync.samba.org/ GT-CNC

×