SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Sistemas Distribuídos
Sistemas de Arquivos Distribuídos - GlusterFS
Frederico Madeira
LPIC­1, LPIC­2, CCNA
fred@madeira.eng.br
www.madeira.eng.br
É 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
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
Configuração
✔
Arquitetura Modular
➔
Pode ser configurado em modo standalone (1
servidor)
➔
O sistema pode crescer ao tempo de acordo
com a necessidade
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
Arquitetura
Volume Distribuído
Arquitetura
Volume Replicado
Arquitetura
Volume Distribuído e Replicado
Arquitetura
Volume Striped
Configuração de um AFR
✔
Etapa 1: Configuração dos dois servidores
✔
Etapa 2: Configuração do client
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
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
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.
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)
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 ]
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
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 ~]#
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.
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.
Referências
1. GlusterFS Storage Cluster on CentOS 7
2. Installing GlusterFS - a Quick Start Guide
Sistemas Distribuídos
Sistemas de Arquivos Distribuídos - GlusterFS
Frederico Madeira
LPIC­1, LPIC­2, CCNA
fred@madeira.eng.br
www.madeira.eng.br

Weitere ähnliche Inhalte

Andere mochten auch

Apresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosApresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosFrederico Madeira
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Frederico Madeira
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 
Linux Network Fault Tolerance
Linux Network Fault ToleranceLinux Network Fault Tolerance
Linux Network Fault ToleranceFrederico Madeira
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisWindson Viana
 
SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaFrederico Madeira
 
Red Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFSRed Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFSGlusterFS
 

Andere mochten auch (9)

Apresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosApresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas Distribuídos
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Linux Network Fault Tolerance
Linux Network Fault ToleranceLinux Network Fault Tolerance
Linux Network Fault Tolerance
 
Sd capitulo01
Sd capitulo01Sd capitulo01
Sd capitulo01
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - Coulouris
 
SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplina
 
Red Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFSRed Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFS
 
Linux - DNS
Linux - DNSLinux - DNS
Linux - DNS
 

Ähnlich wie GlusterFs

Alta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdAlta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdFrederico Madeira
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDFrederico Madeira
 
Virtualização de Banco de Dados por Bruno Domingues
Virtualização de Banco de Dados por Bruno DominguesVirtualização de Banco de Dados por Bruno Domingues
Virtualização de Banco de Dados por Bruno DominguesJoao Galdino Mello de Souza
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoelliando dias
 
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteRoberto Mello
 
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...Marlon Willrich
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalaçãoLuís Eduardo
 
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Jeronimo Zucco
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Jeronimo Zucco
 
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...Tchelinux
 
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3Wagner Bianchi
 
Instalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosInstalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosAlexandre Almeida
 
Backup Online no MySQL com Percona Xtrabackup
Backup Online no MySQL com Percona XtrabackupBackup Online no MySQL com Percona Xtrabackup
Backup Online no MySQL com Percona XtrabackupMarcelo Altmann
 
Mysql cluster quick start webinar
Mysql cluster quick start webinarMysql cluster quick start webinar
Mysql cluster quick start webinarhenriquesidney
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)Caio Candido
 
Project HA
Project HAProject HA
Project HAKarpv
 

Ähnlich wie GlusterFs (20)

Alta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdAlta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e Drbd
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBD
 
Virtualização de Banco de Dados por Bruno Domingues
Virtualização de Banco de Dados por Bruno DominguesVirtualização de Banco de Dados por Bruno Domingues
Virtualização de Banco de Dados por Bruno Domingues
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container Suite
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNI...
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalação
 
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
 
Consegi 2011: Puppet
Consegi 2011: PuppetConsegi 2011: Puppet
Consegi 2011: Puppet
 
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...
Linux Deployment: Como instalar Linux sem sair da cadeira - Jonathan Meller e...
 
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
 
Instalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosInstalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutos
 
Backup Online no MySQL com Percona Xtrabackup
Backup Online no MySQL com Percona XtrabackupBackup Online no MySQL com Percona Xtrabackup
Backup Online no MySQL com Percona Xtrabackup
 
Mysql cluster quick start webinar
Mysql cluster quick start webinarMysql cluster quick start webinar
Mysql cluster quick start webinar
 
Mini-curso CUDA
Mini-curso CUDAMini-curso CUDA
Mini-curso CUDA
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
Project HA
Project HAProject HA
Project HA
 

Mehr von Frederico Madeira

Introdução a Cloud Computing
Introdução a Cloud ComputingIntrodução a Cloud Computing
Introdução a Cloud ComputingFrederico Madeira
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoFrederico Madeira
 
SI - SAD - Sistemas de Arquivos Distribuídos
SI - SAD  - Sistemas de Arquivos DistribuídosSI - SAD  - Sistemas de Arquivos Distribuídos
SI - SAD - Sistemas de Arquivos DistribuídosFrederico Madeira
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosFrederico Madeira
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de ProgramasFrederico Madeira
 
Proteja seus dados em casa e na internet
Proteja seus dados em casa e na internetProteja seus dados em casa e na internet
Proteja seus dados em casa e na internetFrederico Madeira
 
Linux e o modelo open source
Linux e o modelo open sourceLinux e o modelo open source
Linux e o modelo open sourceFrederico Madeira
 
Redes VoIP - O Futuro da Telefonia
Redes VoIP - O Futuro da TelefoniaRedes VoIP - O Futuro da Telefonia
Redes VoIP - O Futuro da TelefoniaFrederico Madeira
 
Open Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software LivreOpen Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software LivreFrederico Madeira
 
Redes NGN - Next Generation Networks
Redes NGN - Next Generation NetworksRedes NGN - Next Generation Networks
Redes NGN - Next Generation NetworksFrederico Madeira
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFrederico Madeira
 
Arquiteturas de Gerência de Redes
Arquiteturas de Gerência de RedesArquiteturas de Gerência de Redes
Arquiteturas de Gerência de RedesFrederico Madeira
 
Introdução a Gerência de Redes
Introdução a Gerência de RedesIntrodução a Gerência de Redes
Introdução a Gerência de RedesFrederico Madeira
 
Apresentação da disciplina de Gerência de Redes
Apresentação da disciplina de Gerência de RedesApresentação da disciplina de Gerência de Redes
Apresentação da disciplina de Gerência de RedesFrederico Madeira
 

Mehr von Frederico Madeira (20)

WebServices
WebServicesWebServices
WebServices
 
IoT - Internet of Things
IoT -  Internet of ThingsIoT -  Internet of Things
IoT - Internet of Things
 
Introdução a Cloud Computing
Introdução a Cloud ComputingIntrodução a Cloud Computing
Introdução a Cloud Computing
 
SI - Comunicação
SI - ComunicaçãoSI - Comunicação
SI - Comunicação
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
SI - Arquiteturas
SI - ArquiteturasSI - Arquiteturas
SI - Arquiteturas
 
SI - SAD - Sistemas de Arquivos Distribuídos
SI - SAD  - Sistemas de Arquivos DistribuídosSI - SAD  - Sistemas de Arquivos Distribuídos
SI - SAD - Sistemas de Arquivos Distribuídos
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas Distribuidos
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programas
 
Proteja seus dados em casa e na internet
Proteja seus dados em casa e na internetProteja seus dados em casa e na internet
Proteja seus dados em casa e na internet
 
Linux e o modelo open source
Linux e o modelo open sourceLinux e o modelo open source
Linux e o modelo open source
 
Redes VoIP - O Futuro da Telefonia
Redes VoIP - O Futuro da TelefoniaRedes VoIP - O Futuro da Telefonia
Redes VoIP - O Futuro da Telefonia
 
Open Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software LivreOpen Virtualization - Virtualização em Software Livre
Open Virtualization - Virtualização em Software Livre
 
Redes NGN - Next Generation Networks
Redes NGN - Next Generation NetworksRedes NGN - Next Generation Networks
Redes NGN - Next Generation Networks
 
MRTG - SNMP na Prática
MRTG - SNMP na PráticaMRTG - SNMP na Prática
MRTG - SNMP na Prática
 
Introdução ao SNMP
Introdução ao SNMPIntrodução ao SNMP
Introdução ao SNMP
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em Redes
 
Arquiteturas de Gerência de Redes
Arquiteturas de Gerência de RedesArquiteturas de Gerência de Redes
Arquiteturas de Gerência de Redes
 
Introdução a Gerência de Redes
Introdução a Gerência de RedesIntrodução a Gerência de Redes
Introdução a Gerência de Redes
 
Apresentação da disciplina de Gerência de Redes
Apresentação da disciplina de Gerência de RedesApresentação da disciplina de Gerência de Redes
Apresentação da disciplina de Gerência de Redes
 

GlusterFs

  • 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. É 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. 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. Configuração ✔ Arquitetura Modular ➔ Pode ser configurado em modo standalone (1 servidor) ➔ O sistema pode crescer ao tempo de acordo com a necessidade
  • 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
  • 10. Configuração de um AFR ✔ Etapa 1: Configuração dos dois servidores ✔ Etapa 2: Configuração do client
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Referências 1. GlusterFS Storage Cluster on CentOS 7 2. Installing GlusterFS - a Quick Start Guide
  • 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