Pesquisar este blog

terça-feira, 21 de junho de 2016

Fazendo Upgrade Fedora 23 para Fedora 24

Lançado o Fedora 24 release, chegou a hora de atualizar.


A Atualização pode ser feita efetuando o download da imagem ISO e efetuar o upgrade via boot mídia ou via dnf plugin, procedimento no qual será mostrado aqui.

Antes de qualquer coisa, precisamos garantir de termos os pacotes mais recentes para a versão do fedora atual (Fedora 23). Além disso cetifique-se de ter um backup de seu sistema, uma ferramenta muito útil e simples de usar é o deja-dup.

1. Para atualizar o sistema, execute o seguinte comando:


# sudo dnf upgrade --refresh




2. Instale o Plugin do DNF


Precisamos instalar o plugin de upgrade do dnf.

# sudo dnf install dnf-plugin-system-upgrade




3. Atualização com DNF


Agora que já temos o Fedora 23 atualizado com os pacotes mais recentes e o plugin do dnf instalado, vamos realizar o upgrade do sistema.

# sudo dnf system-upgrade download --releasever=24
















Este comando irá baixar todas as atualizações para a maquina local para preparar o upgrade, se ocorrer algum problema para baixar os pacotes devido a dependências quebradas, pacotes obsoletos, adicione o seguinte parâmetro no final do comando: --allowerasing. Esta opção permitirá ao dnf remover pacotes que podem estar bloqueando a atualização do sistema.


4. Reboot e Upgrade do Sistema.


Finalizado o download de todas as atualizações, o sistema está pronto para ser reiniciado, para isso precisamos rebootar com o seguinte comando para que possa ser inciando o processo de upgrade.

# sudo dnf system-upgrade reboot




Ao bootar pelo kernel do fedora 23 será dado inicio ao processo de upgrade do sistema.

































Pronto, Fedora 24 atualizado com sucesso!




sexta-feira, 8 de abril de 2016

Um pouco sobre GlusterFS - Part 1

 

Introdução ao GlusterFS (File System)


GlusterFS é um sistema de arquivos em cluster capaz de escalar a vários peta-bytes. Ele agrega vários Bricks de armazenamento. Os casos de uso para GlusterFS incluem computação em nuvem, streaming de mídia e distribuição de conteúdo. sistemas de armazenamento com base em GlusterFS são adequados para dados não estruturados, como arquivos de documentos, imagens, áudio e vídeo, e arquivos de log.

 

O que é GlusterFS?


GlusterFS é um sistema de arquivos distribuído e descentralizado, trata-se de um sistema cujo principal objetivo é a escabilidade.

Basicamente, GlusterFS agrega múltiplas unidades de armazenamento remotas em um único volume. As unidades de armazenamento, chamadas de Bricks, são distribuídas pela rede em um único sistema de arquivos paralelo, permitindo uma escabilidade de milhares de bricks e vários petabytes de armazenamento.

Os clientes, que também podem ser simultaneamente servidores de dados, montam os diretórios compartilhados pelos servidores, tendo assim acesso a uma parte ou a todo o conteúdo compartilhado.


Vantagens do GlusterFS


- Elasticidade: Adaptado ao crescimento e á redução do tamanho dos dados

- Dimensionar Linearmente: Tem disponibilidade de crescimento  além dos petabytes.

- Simplicidade: É fácil de gerenciar e independente do kernel durante a execução no espaço do usuário.

- Flexivel: GlusterFS é um software único de sistema de arquivo, os dados são armazenados em sistema de arquivos nativos como ext4, xfs etc.

- Alta disponibilidade: Os dados podem ser altamente disponível por espelhamento síncrono em vários servidores. GeoReplication pode ser usado para espelhamento em um centro de dados remoto.

- Open Source: Atualmente o GlusterFS é mantida pela Red Hat Inc como parte do Red Hat Storage.


Conceitos de Armazenamento


Brick: Brick é basicamente qualquer diretório que se destina a ser compartilhado entre o pool de armazenamento confiável.

Trusted Pool de Armazenamento:  É uma coleção desses arquivos/diretórios compartilhados.

Block Storage: São dispositivos dos quais os dados estão sendo motivos entre os sistemas na forma de blocos.

Cluster: Dois ou mais servidores que fazem parte de um pool de armazenamento confiável.

Distributed File System: Um sistema de arquivos no qual os dados são distribuídos por diferentes nós, onde os usuários podem acessar os dados sem saber a localização real do arquivo.

FUSE: É um modulo de kernel carregavel que permite aos usua´rios criar sistemas de arquivos acima do kernel sem envolver qualquer código do kernel.

Glusterd: glusterd é o daemon de gerenciamento do GlusterFS.

Volume: Um volume é um conjunto lógico de 'bricks'. Todas as operações são com base nos diferentes tipos de volumes criado pelo usuário.


Diferentes Tipos de Volumes


  • Distributed Volume:
É o tipo de volume padrão que será criado quando não há opções especifica ao criar o volume. Em um volume distribuído, qualquer arquivo sempre aloca em um 'brick' aleatório.





Replicated Volume
Num volume replicado, 'bricks' são espelhados um para o outro. Isso significa que um arquivo que está escrito em um 'brick' também vai ser escrito para um ou mais 'bricks'. Um volume replicado é criado pela opção "replica" durante a criação do volume.





Striped Volumes
Neste tipo de volume, os arquivos maiores são dividido em pedaços e distribuídos pelos 'bricks'. O tamanho da faixa padrão é de 128KB, mas isso pode ser configurado para atender a necessidade de desempenho. O volume é criado pela opção 'stripe' durante a criação do volume.





Combinando Tipos de Volume
Os diferentes tipos de volumes pode ser combinados, como por exemplo: "distributed-replicated, distributed-striped, striped-replicated e distributed-striped-replicated"

Ao criar um volume combinado, deve-se especificar o numero de 'bricks' múltiplos de replica. Por exemplo, ao criar 2 stripes e 3 replicas, o numero de 'bricks' deve ser múltiplo de 6 (2 x 3), significa 6 'Bricks'.




Instalação do GlusterFS no RHEL7 / CentOS7 / Fedora


Passo 1: Ambiente Necessário (Este passo não será abordado)


* Ter instalado pelo menos DOIS NODES.
* Ter configurado os hostnames "server1.example.local" e "server2.example.local"
* Conexão de rede entre os NODEs deve estar funcionando.
* Desabilitar os seguintes serviços: SELinux e FirwallD
* Ter um disco/partição adicional montado em ambos os nodes "/data/brickX/" onde X indica o numero do host, no nosso exemplo 1 e 2 respectivamente.

 

 Passo 2: Ativar o repositorio de EPEL e GlusterFS:

  
Instalando o repositorio GlusterFS


Instalando o repositorio EPEL

# rpm -ivh epel-release-7-5.noarch.rpm


Passo 3: Instalando o GlusterFS


Instalar os pacotes em todos os servidores:

# yum install glusterfs-server

 Inicie o daemon de gerenciamento do GlusterFS em ambos os hosts.

# systemctl start glusterd

Verifique o status do serviço

# systemctl status glusterd
 

Passo 4: Configurar o "Trusted Pool"

Execute o seguinte comando somente no server1

# gluster peer probe server2

Verifique o status

# gluster peer status



Passo 5: Configurar o Volume do GlusterFS


Primeiro devemos criar o diretório nos seus respectivos server's que será usado para criar o volume distribuído do GlusterFS .

OBS: É necessário ter previamente um segunda partição montada no destino: /data/brick1 e /data/brick2 dos seus respectivos servidores, não será abordado como criar e montar novas partições.

# mkdir /data/brick1/brick
# mkdir /data/brick2/brick

Agora vamos Criar e Iniciar o Volume do GlusterFS (Distributed Volume)
 
# gluster volume create distvol  server1:/data/brick1/brick server2:/data/brick2/brick
 # gluster volume start distvol


# gluster volume info



Passo 6: Montando e Testando a configuração do GlusterFS


Monte o compartilhamento do GlusterFS no próprio servidor ou em algum cliente linux.

# mount -t glusterfs server1.example.local:/distvol /mnt

Agora vamos criar alguns arquivos para ver como será gravado nos NODEs do GLusterFS, lembrando que estamos usando a configuração de distributed.

# touch /mnt/distvol-file{1..10}.txt

Ao listar o conteúdo nos NODEs teremos uma saída parecida como nas imagens abaixo:

Server1

Server2


Neste Próximo exemplo vamos criar volumes de Replica (Replicated Volume)


OBS: Vamos precisar ter uma nova partição previamente montada em "/data/brickX", onde X é referente ao respectivo server.

Passo 1: Configuração do Volume do GLusterFS

Primeiro vamos criar o diretório nos seus respectivos server's que será usado para  o compartilhamento do GLusterFS.

# mkdir /data/brick3/brick
# mkdir /data/brick4/brick

Vamos criar e iniciar o volume do GlusterFS como replicated.
 
# gluster volume create replvol replica 2 server1:/data/brick3/brick server2:/data/brick4/brick



 # gluster volume start replvol



# gluster volume info


Note que na imagem acima onde temos os dois volumes criados, um do tipo "Distributed" e outro do tipo "Replicate"


Recursos do GlusterFS


Geo-replication: Fornece backup dos dados para recuperação de desastres. Aí vem o conceito de volumes "Master" e "Slave". De modo que se o Master ficar indisponivel, os dados podem ser acessados através de Slave. Este recurso é usado para sincronizar dados entre servidores separados geograficamente, Inicializar uma sessão de geo-replicação requer uma série de comandos do Gluster.

IP Failover: Possibilita a configuração de um IP virtual que será usado para acessar os Nodes do Gluster, assim se um dos servidores ficar indisponível vamos continuar tendo acesso ao compartilhamento pelo mesmo endereço de IP ao outro servidor, tornando transparente para o usuário.

Quota:  Permite limitar o tamanho de usdo de dados armazenado dentro de um compartilhamento gluster, ou subpasta.

Snapshot: Este recurso possibilita criar um snapshot do volume gluster e restaurar quando e se necessário, voltando ao estado original que do momento que foi criado o snapshot.


Estes recursos veremos em um próximo post.


Referências: https://access.redhat.com/documentation/en-US/Red_Hat_Storage/3.1/html/Administration_Guide/index.html


Dúvidas, criticas, sugestões serão bem vindas e respondidas assim que possível.
Obrigado, até a próxima.