SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Minna no nihongo i mondai
Minna no nihongo i   mondaiMinna no nihongo i   mondai
Minna no nihongo i mondai
TanNguyen410
 
Tw almanah 011 na zemlji klamatha (coa backup pdf)
Tw almanah 011 na zemlji klamatha (coa backup pdf)Tw almanah 011 na zemlji klamatha (coa backup pdf)
Tw almanah 011 na zemlji klamatha (coa backup pdf)
zoran radovic
 
TX KLSP 5 - Delta Queen (Coa_backup PDF).pdf
TX KLSP 5 - Delta Queen (Coa_backup PDF).pdfTX KLSP 5 - Delta Queen (Coa_backup PDF).pdf
TX KLSP 5 - Delta Queen (Coa_backup PDF).pdf
zoran radovic
 
0275. Bela Maska
0275. Bela Maska0275. Bela Maska
0275. Bela Maska
Tompa *
 
Copy of 122161092-Το-είναι-και-το-μηδέν-Ζαν-Πολ-Σάρτρ.pdf
Copy of 122161092-Το-είναι-και-το-μηδέν-Ζαν-Πολ-Σάρτρ.pdfCopy of 122161092-Το-είναι-και-το-μηδέν-Ζαν-Πολ-Σάρτρ.pdf
Copy of 122161092-Το-είναι-και-το-μηδέν-Ζαν-Πολ-Σάρτρ.pdf
Big Brain's Team Big Brain's Team
 

Mais procurados (20)

Tex LIB 075 - Tajna Sierre Madre
Tex LIB 075 - Tajna Sierre MadreTex LIB 075 - Tajna Sierre Madre
Tex LIB 075 - Tajna Sierre Madre
 
Minna no nihongo i mondai
Minna no nihongo i   mondaiMinna no nihongo i   mondai
Minna no nihongo i mondai
 
Teks Viler LIB 87 - Vjetrovita brda
Teks Viler LIB 87 - Vjetrovita brdaTeks Viler LIB 87 - Vjetrovita brda
Teks Viler LIB 87 - Vjetrovita brda
 
Teks Viler VC 070 Deseti konjički puk.pdf
Teks Viler VC 070 Deseti konjički puk.pdfTeks Viler VC 070 Deseti konjički puk.pdf
Teks Viler VC 070 Deseti konjički puk.pdf
 
Tw almanah 011 na zemlji klamatha (coa backup pdf)
Tw almanah 011 na zemlji klamatha (coa backup pdf)Tw almanah 011 na zemlji klamatha (coa backup pdf)
Tw almanah 011 na zemlji klamatha (coa backup pdf)
 
TX KLSP 5 - Delta Queen (Coa_backup PDF).pdf
TX KLSP 5 - Delta Queen (Coa_backup PDF).pdfTX KLSP 5 - Delta Queen (Coa_backup PDF).pdf
TX KLSP 5 - Delta Queen (Coa_backup PDF).pdf
 
Tex Willer Strip Agent Gigant 017 - Seminole
Tex Willer Strip Agent Gigant 017 - SeminoleTex Willer Strip Agent Gigant 017 - Seminole
Tex Willer Strip Agent Gigant 017 - Seminole
 
Tex Willer Strip Agent Gigant 016 - Zlatni kanjon
Tex Willer Strip Agent Gigant 016 - Zlatni kanjonTex Willer Strip Agent Gigant 016 - Zlatni kanjon
Tex Willer Strip Agent Gigant 016 - Zlatni kanjon
 
Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4
Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4
Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4
 
0275. Bela Maska
0275. Bela Maska0275. Bela Maska
0275. Bela Maska
 
Tes potensi ppt
Tes potensi pptTes potensi ppt
Tes potensi ppt
 
Henrique pinto tecnica da mão direita
Henrique pinto   tecnica da mão direitaHenrique pinto   tecnica da mão direita
Henrique pinto tecnica da mão direita
 
Zagor l 268 planine od leda
Zagor l 268   planine od ledaZagor l 268   planine od leda
Zagor l 268 planine od leda
 
Teks Viler LIB KB 018 Bijeg iz Andervillea.pdf
Teks Viler LIB KB 018 Bijeg iz Andervillea.pdfTeks Viler LIB KB 018 Bijeg iz Andervillea.pdf
Teks Viler LIB KB 018 Bijeg iz Andervillea.pdf
 
ijazah ronald
ijazah ronaldijazah ronald
ijazah ronald
 
Copy of 122161092-Το-είναι-και-το-μηδέν-Ζαν-Πολ-Σάρτρ.pdf
Copy of 122161092-Το-είναι-και-το-μηδέν-Ζαν-Πολ-Σάρτρ.pdfCopy of 122161092-Το-είναι-και-το-μηδέν-Ζαν-Πολ-Σάρτρ.pdf
Copy of 122161092-Το-είναι-και-το-μηδέν-Ζαν-Πολ-Σάρτρ.pdf
 
Tex Willer Strip Agent Gigant 018 - Plamen nad Arizonom
Tex Willer Strip Agent Gigant 018 - Plamen nad ArizonomTex Willer Strip Agent Gigant 018 - Plamen nad Arizonom
Tex Willer Strip Agent Gigant 018 - Plamen nad Arizonom
 
Alan Ford 092 - Beppa Joseph se vraca
Alan Ford 092 - Beppa Joseph se vracaAlan Ford 092 - Beppa Joseph se vraca
Alan Ford 092 - Beppa Joseph se vraca
 
Tex viler sastanak sa smrcu (lib 015)
Tex viler sastanak sa smrcu  (lib 015)Tex viler sastanak sa smrcu  (lib 015)
Tex viler sastanak sa smrcu (lib 015)
 
Zagor specijal kolor 01 - Protunapad
Zagor specijal kolor 01 - ProtunapadZagor specijal kolor 01 - Protunapad
Zagor specijal kolor 01 - Protunapad
 

Destaque (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
 

Semelhante a GlusterFs

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
Joao 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 leopardo
elliando 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 Sample
Valdir Adorni
 
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
 
Mysql cluster quick start webinar
Mysql cluster quick start webinarMysql cluster quick start webinar
Mysql cluster quick start webinar
henriquesidney
 

Semelhante a 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
 

Mais de Frederico 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 Redes
Frederico Madeira
 

Mais de 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
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 

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