Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GlusterFs

4,553 views

Published on

Aula sobre o sistema de arquivos distribuído GlusterFS. Nesta aula é apresentado o GlusterFS e como realizar a configuração de um AFR e um cliente.

Published in: Technology
  • Be the first to comment

GlusterFs

  1. 1. Sistemas Distribuídos Sistemas de Arquivos Distribuídos - GlusterFS Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br
  2. 2. É um sistema de arquivo open source, que trabalha em cluster e é capaz de escalar diversos petabytes e gerenciar milhares de clientes. Se encaixa bem para tarefas “data- intensive” como armazenamento na núvem e streaming de media - GlusterFS User Guide at gluster.readthedocs.io GlusterFS
  3. 3. Funcionalidades Principais funcionalidades, implementadas através de tradutores: ✔ Replicação e espelhamento em nível de arquivos ✔ Striping em nível de arquivos ✔ Load balancing em nível de arquivos ✔ Volume failover ✔ Scheduling e disk caching ✔ Storage quotas
  4. 4. Configuração ✔ Arquitetura Modular ➔ Pode ser configurado em modo standalone (1 servidor) ➔ O sistema pode crescer ao tempo de acordo com a necessidade
  5. 5. Características Importantes ✔ Sistema de arquivos distribuído e descentralizado ✔ Agregação de múltiplas unidades de armazenamento remotas (bricks) em um único volume ✔ Funcionalidades implementadas através de tradutores (translators) ✔ Descarta a necessidade da utilização de servidores de metadados
  6. 6. Arquitetura Volume Distribuído
  7. 7. Arquitetura Volume Replicado
  8. 8. Arquitetura Volume Distribuído e Replicado
  9. 9. Arquitetura Volume Striped
  10. 10. Configuração de um AFR ✔ Etapa 1: Configuração dos dois servidores ✔ Etapa 2: Configuração do client
  11. 11. Configuração do Servidor ✔ Ajustar o /etc/hosts com os nós envolvidos ✔ Criar partições separadas para a storage em cada um dos dois servidores ✔ Definir o ponto de montagem dessas partições ✔ Instalar repositório do glusterfs ✔ Instalar o pacote glusterfs-server ✔ Configurar o volume e replicação
  12. 12. Configuração do Servidor/Cliente ✔ Ajustando o /etc/hosts (em todos os nós e clientes) [root@node1 ~]# vim /etc/hosts 192.168.122.203 node1 192.168.122.204 node2 192.168.122.210 node3
  13. 13. Configuração do Servidor ✔ Criando Partição (nos dois nós) [root@node1 ~]# mkfs.ext4 /dev/vda1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262072 blocks 13103 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 21 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
  14. 14. Configuração do Servidor ✔ Montando a partição (nos dois nós) [root@node1 ~]# mkdir -p /data/brick1 [root@node2 ~]# echo '/dev/vda1 /data/brick1 ext4 defaults 1 2' >> /etc/fstab [root@node2 ~]# mount -a && mount /dev/mapper/vg_seglinux-lv_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/vdb1 on /boot type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) none on /sys/kernel/config type configfs (rw) /dev/vda1 on /data/brick1 type ext4 (rw)
  15. 15. Configuração do Servidor ✔ Instalação do GlusterFS (nos dois nós) # Repositório [root@node1 ~]# wget -P /etc/yum.repos.d/ http://download.gluster.org/pub/gluster/glusterfs/3.7/LATEST/EPEL.repo/glust erfs-epel.repo # Pacotes [root@node1 ~]# yum install glusterfs-server # Iniciando o Serviço [root@node1 ~]# /etc/init.d/glusterd start Starting glusterd: [ OK ]
  16. 16. Configuração do Servidor ✔ Configuração do GlusterFS # Testando a conexão com os nós [root@node1 ~]# gluster peer probe node2 peer probe: success. PS: Uma vez tendo realizado esse processo, os próximos nós só podem ser testados a partir de um nós que já faça parte do cluster [root@node2 ~]# gluster peer probe node1 peer probe: success. Host node1 port 24007 already in peer list # criação de um volume gfs (nos dois nós) [root@node1 ~]# mkdir /data/brick1/gv0 Apenas em um dos servidores: [root@node1 ~]# gluster volume create gv0 replica 2 node1:/data/brick1/gv0 node2:/data/brick1/gv0 volume create: gv0: success: please start the volume to access data [root@node1 ~]# gluster volume start gv0 volume start: gv0: success
  17. 17. Configuração do Servidor ✔ Configuração do GlusterFS ## Verificando o volume criado [root@node1 ~]# gluster volume info Volume Name: gv0 Type: Replicate Volume ID: 8be9ccfb-447e-4bb0-8151-a4f3e6e78d6e Status: Started Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: node1:/data/brick1/gv0 Brick2: node2:/data/brick1/gv0 Options Reconfigured: performance.readdir-ahead: on [root@node1 ~]#
  18. 18. Configuração do Cliente ✔ Instalação do GlusterFS-Client # Repositório [root@node1 ~]# wget -P /etc/yum.repos.d/ http://download.gluster.org/pub/gluster/glusterfs/3.7/LATEST/EPEL.repo/glust erfs-epel.repo # Pacotes [root@node1 ~]# yum install glusterfs-client # Criando o diretório onde iremos montar o volume criado anteriormente [root@node3 ~]# mkdir /media/glusterfs # Montando o volume remoto (pode direcionar para o node1 ou node2) [root@node3 ~]# mount -t glusterfs node1:/gv0 /media/glusterfs/ PS: O nó indicado na montagem serve apenas para que o cliente baixe a lista de volumes do glusterfs, depois disso o cliente passa a se conectar direto com os servidores descritos nessa lista.
  19. 19. Configuração do Cliente ✔ Testando [root@node3 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_seglinux-lv_root 3,3G 2,8G 307M 91% / tmpfs 499M 0 499M 0% /dev/shm /dev/vda1 485M 235M 226M 51% /boot node1:/gv0 1008M 18M 939M 2% /media/glusterfs # No cliente vamos criar alguns diretórios [root@node3 ~]# for i in `seq -w 1 100`; do cp -rp /var/log/messages /media/glusterfs/copy-test-$i; done # Verifique se os arquivos foram criados no diretório /data/brick1/gv0 do node1 e se foram replicados para o mesmo diretório do node2.
  20. 20. Referências 1. GlusterFS Storage Cluster on CentOS 7 2. Installing GlusterFS - a Quick Start Guide
  21. 21. Sistemas Distribuídos Sistemas de Arquivos Distribuídos - GlusterFS Frederico Madeira LPIC­1, LPIC­2, CCNA fred@madeira.eng.br www.madeira.eng.br

×