17 de jan. de 2019

[ssh-keygen] Uma relação de confiança e amor

Autenticação baseada em chaves através do serviço ssh


Olá, meu c4r0!

Corriqueiramente nos conectamos ao mesmo servidor durante o dia via ssh  aos quais possuem senha, sendo necessário digita-la em todos os acessos, eu acho inconveniente digitar a senha diversas vezes, estressa e faz mal. rsrs 

 Se não fossem as macros do MobaxTerm eu faria como no gif abaixo. 

Em vez de usar a autenticação baseada em senha o ssh permite que a autenticação seja baseada em chave. Como funciona: 

  1. Você cria a chave
  2. Você guarda a chave privada, mas copia a chave pública por meio da conta de usuário do host remoto para o qual você quer fazer a autenticação baseada em chave
  3. Com suas chaves copiadas para os locais apropriados, você pode usar todas as ferramentas ssh para se conectar à conta do usuário no host remoto, mas em vez de pedir senha, o seviço remoto compara a chave pública e a chave privada e permite o acesso se as duas chaves coincidirem



Etapas 


  • Instalação do openssh-server
  • Gerando chaves rsa com ssh-keygen 
  • Copiando a chave pública para o servidor
  • Realizando autenticação sem senha 



Instalação do openssh-server


Primeiramente, antes de tudo, é preciso que o servidor possua o pacote openssh-server instalado.

Debian:   $ apt install -y openssh-server

CentOS: $ yum install -y openssh-server


Gerando chaves rsa com ssh-keygen



[root@localhost isweluiz]# ssh-keygen -t rsa -b 4096 -C "mastermind47@protonmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:zV8rkTpM5JhUDEujdZEE+d3y8jacS1TMBOkfPEXtJAY mastermind47@protonmail.com
The key's randomart image is:
+---[RSA 4096]----+
|        **=oE..++|
|       +.=o   +++|
|      . o... +.+=|
|       . B. o.o=.|
|        S = ooo.o|
|         o o.+...|
|          + o+o. |
|           . o*  |
|             ..o |
+----[SHA256]-----+


Copiando a chave pública para o servidor


[root@localhost isweluiz]# ssh-copy-id -i /root/.ssh/id_rsa.pub ak47@postgres
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host 'postgres (35.247.201.143)' can't be established.
ECDSA key fingerprint is SHA256:NdnTkFE4mozHnaXyVbG4MYp8SOGTtwc2mSPKsOC+53s.
ECDSA key fingerprint is MD5:f0:88:55:7b:a0:c5:75:62:8b:6f:0b:f8:15:5d:a6:4c.
Are you sure you want to continue connecting (yes/no)? yes
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
ak47@postgres's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'ak47@postgres'"
and check to make sure that only the key(s) you wanted were added.


Realizando autenticação sem senha 


[root@localhost isweluiz]# ssh ak47@postgres
Linux instance-sisdimen 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Jan 16 22:54:21 2019 from 189.40...


E é isso, até o próximo ... :)





Leitura recomendada



16 de jan. de 2019

[LVM] Adicionando volume físico à um volume group


Olá, meu caro!

Este post irá ser complementar aos demais que venho fazendo sobre gerenciamento de discos no geral. 

Iremos adicionar volumes físicos à um grupo de volume. É necessário realizar esta atividade no momento e que a capacidade de espaço em um dos nossos volumes lógicos "partições", ou pontos de montagem, tais como, /etc , /opt... esteja se esgotando ou atingirem sua capacidade total de armazenamento.  Quando isso ocorre adicionamos discos físicos ao grupo de volume e o disponibilizamos ao volume lógico para aumentar o tamanho das partições. 



Se você já domina o assunto




Estrutura do LVM 



Criando uma situação hipotética 



Etapa 1: Checar o espaço disponível nas partições com o comando 'df -lh'

[root@localhost isweluiz]# df -lh
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/centos-root          9.8G  2.5G  6.8G  27% /
devtmpfs                         802M     0  802M   0% /dev
tmpfs                            813M     0  813M   0% /dev/shm
tmpfs                            813M  8.7M  805M   2% /run
tmpfs                            813M     0  813M   0% /sys/fs/cgroup
/dev/sda1                        976M  127M  783M  14% /boot
tmpfs                            163M     0  163M   0% /run/user/1000
/dev/mapper/blog.isweluiz-lvm01  7.8G   	  7.3G   1% /mnt/blog.isweluiz


Etapa 2: Criando com o comando 'dd' um arquivo para simular o ambiente com esgotamento de espaço

[root@localhost blog.isweluiz]# dd if=/dev/zero of=arquivo-grande bs=1G count=7
7+0 records in
7+0 records out
7516192768 bytes (7.5 GB) copied, 49.7772 s, 151 MB/s
[root@localhost blog.isweluiz]# du -sch *
7.1G    arquivo-grande
16K     lost+found
7.1G    total


Etapa 3: Checar o espaço disponível nas partições com o comando 'df -lh'

Notamos que após a criação do arquivo-grande de 7 GB a partição está com 96% de sua capacidade de armazenamento em utilização. Para contornar essa situação iremos acrescentar um disco no grupo de volume e libera-ló para o volume lógico.



 Adicionando disco físico


 Etapa 1: Listando Grupo de volumes


<8 -wi-ao----="" .00g="" 10.00g="" centos="" g="" pre="" root="" swap="">[root@localhost isweluiz]# vgs
  VG            #PV #LV #SN Attr   VSize   VFree
  blog.isweluiz   1   1   0 wz--n-  <8.00g <3.00g
  centos          1   2   0 wz--n- <13.00g     0

Etapa 2 : Estendendo, adicionando disco físico ao grupo de volumes

[root@localhost mnt]# vgextend blog.isweluiz /dev/sdd1


Etapa 3: listando os volumes lógicos

<8 -wi-ao----="" .00g="" 10.00g="" centos="" g="" pre="" root="" swap="">[root@localhost blog.isweluiz]# lvs
  LV    VG            Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvm01 blog.isweluiz -wi-ao---- <8.00g
  root  centos        -wi-ao---- 10.00g
  swap  centos        -wi-ao---- <3.00g


Etapa 4: Estendendo o volume lógico de 8 GB para 15 GB

[root@localhost mnt]# lvextend blog.isweluiz/lvm01 -L 15G
[root@localhost mnt]# lvs
  LV    VG            Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvm01 blog.isweluiz -wi-ao---- 15.00g
  root  centos        -wi-ao---- 10.00g
  swap  centos        -wi-ao---- 3 .00g


Etapa 5: Redimensionando a partição

[root@localhost mnt]# resize2fs /dev/blog.isweluiz/lvm01


Etapa 6: Redimensionamento concluído com exito.

[root@localhost mnt]# df -lh /mnt/blog.isweluiz/
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/blog.isweluiz-lvm01   15G  7.1G  7.0G  51% /mnt/blog.isweluiz


É isso, até o próximo :)




Leitura recomendada

14 de jan. de 2019

[Parte 1 - 12] Engenharia de Dados com Hadoop e Spark - Instalando o Ecossistema Hadoop


Criação da Máquina Virtual no VirtualBox 


Olá, meu caro! 

Dando continuidade ao projeto criado no trello com o intuito de instalar o ecossistema hadoop, partimos para a próxima atividade do checklist, criar a máquina virtual. 



Característica das configurações 



  • Disco 64 GB
  • Memória 4 GB 
  • Sistema operacional CentOS 7 



Utilizaremos o virtual box para criar e gerenciar nosso servidor. 
O Oracle VM Virtual Box é gratuito e pode ser baixado em https://www.virtualbox.org. Existem versões disponíveis para Windows, MAC, Linux e Solaris. Aqui utilizaremos a versão 5.0 e o tutorial será o mesmo independente do sistema operacional do seu computador.         


Abrindo o Gerenciador do Oracle Virtual Box


Definindo o nome da máquina virtual e a versão do sistema operacional


Definindo o tamanho da memória em 4 GB 

Selecionando a opção VMDK



Criando um novo disco rígido virtual



O disco deve ser alocado dinamicamente 


Definindo o tamanho do disco virtual 



Máquina virtual criada com sucesso!!! 



Utilizaremos o Cent OS versão 7. É recomendado utilizar a mídia Mininal ISO neste ambiente, pois construiremos nosso sistema a partir da instalação básica do sistema operacional.



Download do Sistema Operacional 

CentOS 64 bits (versão 7.2)


CentOS 32 bits (versão 6.8)
http://centos.mirror.netelligent.ca/centos/


Faça download da iso para darmos continuidade a instalação do OS bem como instalar todos os pacotes complementares necessários para o funcionamento do ecossistema hadoop. 





E é isso, até o próximo :) ... 


7 de jan. de 2019

[Grafana] Criando Dashboards que impressionam - Instalação



Hello, my fine fellow!! 




Hoje iremos apresentar uma solução para incluir na sua lista de ferramentas de monitoramento e gestão de métricas e indicadores.  Grafana!



O Grafana é uma ferramenta de código aberto com o viés de gestão de métricas e indicadores, este pode ser integrado a diversas ferramentas de monitoramento e outras como banco de dados: 
  • Graphite
  • ElasticSearch
  • Zabbix
  • Prometheus 
  • Mysql 
  • PostgreSQL
  • InfluxDB 
  • CloudWatch
  • OpenTSDB

Na minha organização  nós utilizamos o Grafana integrado com o Zabbix e o ElastichSearch. Eu apresentei ferramenta para alguns colegas da equipe de monitoramento e, no começo houve resistência, a pergunta inicial era: "Com o Zabbix e Kibana é possível gerar estas métricas, correto?". Correto. Não cabe a este post exemplificar a diferença entre Kibana e Grafana, o Kibana também é uma ferramenta poderosa com viés em métricas e analises de dados. O viés do Grafana é gráfico, gestão de métrica e analises. 


Antes de iniciarmos o processo de instalação vamos apreciar a aparência da ferramenta. 

Imagem 1 - Dashboard criado no grafana - Integração com zabbix


Imagem 2  - Grafana integração Zabbix



Para apreciar mais gráficos você pode consultar o meu Github, inclusive coloquei diversos arquivos disponíveis para download. 


Instalação

 Iremos instalar o Grafana na distribuição CentOS. Para utilizar o docker basta rodar o comando abaixo.

docker run -d --name=grafana -p 3000:3000 grafana/grafana 

Versão do OS

[root@instance-centos-lab02 opt]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
Linux instance-centos-lab02 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

A instalação é simples. Por padrão o Grafana roda na porta 3000, essa porta pode ser alterada nos arquivos de configuração conforme necessidade.

Link para download do binario


 https://grafana.com/grafana/download?platform=linux 


 Instalação utilizando o YUM

[root@instance-centos-lab02 opt]#  yum install https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm 

Dependencies Resolved
===========================================================================================
 Package          Arch            Version           Repository                        Size
===========================================================================================
Updating:
 grafana          x86_64          5.4.2-1           /grafana-5.4.2-1.x86_64          151 M
Transaction Summary
===========================================================================================
Upgrade  1 Package
Total size: 151 M
Is this ok [y/d/N]: y

Total size: 151 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : grafana-5.4.2-1.x86_64                                                  1/2 
  Cleanup    : grafana-5.1.4-1.x86_64                                                  2/2 
POSTTRANS: Running script
  Verifying  : grafana-5.4.2-1.x86_64                                                  1/2 
  Verifying  : grafana-5.1.4-1.x86_64                                                  2/2 
Updated:
  grafana.x86_64 0:5.4.2-1                                                                 
Complete!

Start the server (via systemd)

[root@instance-centos-lab02 opt]#systemctl daemon-reload
[root@instance-centos-lab02 opt]#systemctl start grafana-server
[root@instance-centos-lab02 opt]# systemctl status grafana-server
● grafana-server.service - Grafana instance
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-01-13 20:25:03 -02; 38min ago
     Docs: http://docs.grafana.org
 Main PID: 7802 (grafana-server)
   CGroup: /system.slice/grafana-server.service
           └─7802 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/...

Jan 13 20:25:03 instance-centos-lab02 grafana-server[7802]: t=2019-01-13T20:25:03-0200 ...r
Jan 13 20:25:03 instance-centos-lab02 grafana-server[7802]: t=2019-01-13T20:25:03-0200 ...s
Jan 13 20:25:03 instance-centos-lab02 grafana-server[7802]: t=2019-01-13T20:25:03-0200 ..."
Jan 13 20:25:03 instance-centos-lab02 grafana-server[7802]: t=2019-01-13T20:25:03-0200 ...x
Jan 13 20:25:03 instance-centos-lab02 grafana-server[7802]: t=2019-01-13T20:25:03-0200 ..."
Jan 13 20:25:03 instance-centos-lab02 grafana-server[7802]: t=2019-01-13T20:25:03-0200 ...x
Jan 13 20:25:03 instance-centos-lab02 grafana-server[7802]: t=2019-01-13T20:25:03-0200 ...r
Jan 13 20:25:03 instance-centos-lab02 systemd[1]: Started Grafana instance.
Jan 13 20:25:03 instance-centos-lab02 grafana-server[7802]: t=2019-01-13T20:25:03-0200 ..."
Jan 13 20:25:03 instance-centos-lab02 grafana-server[7802]: t=2019-01-13T20:25:03-0200 ...=
Hint: Some lines were ellipsized, use -l to show in full.

Ativar o serviço systemd para iniciar no boot

[root@instance-centos-lab02 opt]#systemctl enable grafana-server.service

Arquivo de ambiente

O arquivo de serviço systemd e o script init.d usam o arquivo localizado em /etc/sysconfig/grafana-server para as variáveis ​​de ambiente usadas ao iniciar o back-end. Aqui você pode substituir o diretório de log, diretório de dados e outras variáveis.


Logging

Por padrão, o Grafana irá salvar os logs em /var/log/grafana


Database

A configuração padrão especifica um banco de dados sqlite3 localizado em /var/lib/grafana/grafana.db. Por favor, faça backup desse banco de dados antes de fazer upgrades. Você também pode usar o MySQL ou Postgres como o banco de dados Grafana, conforme detalhado na página de configuração.


Adicionando data sources

Nos próximos posts irei abordar com detalhe a conexão do grafana com alguns data sources.  



Logando pela primeira vez

Para executar o grafana rode na porta 3000. http://localhost:3000/.

Usuário padrão: admin
Senha padrão: admin

Imagem 3 - Tela de login Grafana

Listando a porta 


[root@instance-centos-lab02 opt]# ss -lntup  |grep 3000
tcp    LISTEN     0      128      :::3000                 :::*                   users:(("grafana-server",pid=7802,fd=6))







Leitura recomendada

[Parte 0 - 12] Engenharia de Dados com Hadoop e Spark - Instalando o Ecossistema Hadoop

Introdução 


Olá meu caro,

neste post iniciaremos a parte 0 de 12 posts que irão compor todo o processo de instalação e configuração de um Ecossistema Hadoop. O intuito é levar o aprendizado para mais perto das pessoas que o buscam.  E ao final podemos apreciar e utilizar o nosso ambiente para armazenar dados, fazer conectividade ETL etc...  


É comum a tarefa de provisionamento do Ecossistema Hadoop ficar a parte do Engenheiro de Dados, o cientista de dados normalmente já usufrui da infraestrutura de TI pronta. Para pessoas leigas no assunto eu irei deixar alguns artigos e posts no final deste como leitura recomendada. 

Todos os posts seguintes terão o título enumerado para facilitar a identificação e sequência.
  


Organização sumário e estrutura 


Para melhor organização iremos utilizar as funcionalidades gratuitas do Trello. O Trello é um aplicativo de gerenciamento de projeto baseado na web. Criei o quadro abaixo na ferramenta, o mesmo está compartilhado com em modo público, ou seja, todos podem acessa-ló para visualizar e acompanhar. A data de entrega não foi definida nas tarefas. São muitas etapas, não é simples montar um ambiente Hadoop! conto com a sua atenção, força de vontade e foco nos estudos, vamos juntos concluir todas as etapas deste projeto. ;) 


 engenharia-de-dados-com-hadoop-e-spark
Imagem1 - Projeto engenharia-de-dados-com-hadoop-e-spark



Para não se perder entre as etapas provisionei uma página onde irei colocar o link de todas as etapas assim que concluídas. Clique aqui para ir para a página.

Trello

Organize anything, together. Trello is a collaboration tool that organizes your projects into boards. In one glance, know what's being worked on, who's working on what, and where something is in a process.

Ao som de





E é isso, até o próximo :) ... 




Leitura recomendada



6 de jan. de 2019

Usando o MDADM para provisionar um RAID 5 [Red Hat]


Olá meu caro,

como já é de praxe, em todos os posts você irá se deparar com alguns gifs.

O que é RAID? É de comer? 


RAID, sigla para Redudant Array Of inexpensive (ou Independent) Drives (Ou Disks), é um método para integrar vários dispositivos de armazenamento numa única unidade lógica. Existem dois modelos de implementação de RAID: via hardware ou via software. O RAID via hardware é transparente para o sistema operacional que não precisará de nenhuma configuração especial. No RAID via software é o sistema operacional o responsável por combinar as diferentes unidades físicas. São vários métodos ed gravação e acesso que podem ser utilizados pelo RAID. Veremos o RAID 5. 

Quem Deve Usar o RAID?


Todas as pessoas que precisam armazenar grandes quantidades de dados à mão (tal como um administrador de sistemas) se beneficiarão ao usar a tecnologia RAID. As principais razões para usar o RAID incluem:

  • Aumenta a velocidade
  • Aumenta a capacidade de armazenamento usando um único disco virtual
  • Impacto reduzido de uma falha de disco


Então chega, aplicar a teoria na prática é a melhor maneira de aprender. 



Etapas 

  1. Selecionar o tipo de RAID
  2. Selecionar os discos que serão utilizados
  3. Utilizar o fdisk para criar as partições 
  4. Instalar o mdadm 
  5. Criar a partição RAID com o comando mdadm 
  6. Formatar a partição e checar os parâmetros aplicados
  7. Montar a partição RAID



- Selecionar o tipo de RAID


Iremos criar um RAID 5, para este tipo é necessário ter no mínimo 3 discos, a redundância dos dados é feita por todos os dispositivos. Desta forma, o RAID não ficará comprometido em caso de falha de um dos dispositivos que o constituem.   


- Selecionar os discos que serão utilizados


Podemos utilizar os comando fdisk -l para listar os discos que o SO reconhece. Abaixo a lista de dispositivos conectados na máquina. 


[root@svr-grc-1 luizep]# fdisk -l
Disk /dev/sda: 12.9 GB, 12884901888 bytes, 25165824 sectors
Units = sectors of 1 * 512 = 512 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes Disk label type: dos
/dev/sda1 * 2048 25157789 12577871 83 Linux
Disk identifier: 0x00095e76 Device Boot Start End Blocks Id System
Sector size (logical/physical): 512 bytes / 4096 bytes
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = sectors of 1 * 512 = 512 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes
/dev/sdb1 2048 20971519 10484736 8e Linux LVM
Disk label type: dos Disk identifier: 0xb60ec850 Device Boot Start End Blocks Id System
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/sdc: 16.1 GB, 16106127360 bytes, 31457280 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes
Units = sectors of 1 * 512 = 512 bytes
Disk label type: dos Disk identifier: 0x06192ffb Device Boot Start End Blocks Id System Disk /dev/sdd: 16.1 GB, 16106127360 bytes, 31457280 sectors
Device Boot Start End Blocks Id System
Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk label type: dos Disk identifier: 0xf0ec174f Disk /dev/sde: 16.1 GB, 16106127360 bytes, 31457280 sectors
Device Boot Start End Blocks Id System
Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk label type: dos
Disk identifier: 0x6db14756

Na saída acima estão listados todos os discos reconhecidos pela máquina. Vamos utilizar os discos;
  • /dev/sdc
  • /dev/sdd
  • /dev/sde

Vamos trabalhar nestes discos na próxima etapa. 


- Utilizar o fdisk para criar as partições 


Para utilizar o disco é necessário criar as partições conforme necessário, neste exemplo iremos utilizar o fdisk para configurar o dispositivos. Vamos criar uma partição para cada disco com o tipo fd (Linux raid auto). 

Para criar a partição você deve utilizar os comandos abaixo em todos os discos que serão utilizados para compor o RAID. 


#fdisk /dev/sdd
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended Select (default p): p
First sector (2048-31457279, default 2048):
Partition number (1-4, default 1): Using default value 2048
Using default value 31457279
Last sector, +sectors or +size{K,M,G} (2048-31457279, default 31457279): Partition 1 of type Linux and of size 15 GiB is set
Changed type of partition 'Linux raid autodetect' to 'Linux raid autodetect'
Command (m for help):t Hex code (type L to list all codes): fd Command (m for help): p Disk /dev/sdd: 16.1 GB, 16106127360 bytes, 31457280 sectors
Disk label type: dos
Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0xf0ec174f
The partition table has been altered!
Device Boot Start End Blocks Id System /dev/sdd1 2048 31457279 15727616 fd Linux raid autodetect
Command (m for help): w


- Instalar o mdadm 

 Neste exemplo estou utilizando o Red Hat 4.8.5. Para instalar o mdadm utilize o gerenciador de pacote da sua distribuição. O mdadm é um utilitário do Linux usado para gerenciar e monitorar dispositivos RAID de software

centOS
#yum install -y mdadm
Debian
#apt-get install -y mdadm
Verificando a versão instalada.
[root@svr-grc-1 luizep]# mdadm --version
mdadm - v4.1-rc1 - 2018-03-22


- Criar a partição RAID com o comando mdadm 

 Com o comando abaixo estamos criando o dispositivo /dev/md5 que representa o RAID 5 com os dispositivos /dev/sdd1 /dev/sdc1 /dev/sde1.

[root@svr-grc-1 luizep]# mdadm -v -C /dev/md5 -l 5 -n 3 /dev/sdd1 /dev/sdc1 /dev/sde1
mdadm: /dev/sdc1 appears to be part of a raid array:
mdadm: /dev/sdd1 appears to be part of a raid array:
level=raid5 devices=3 ctime=Fri Jan 4 18:24:37 2019
mdadm: partition table exists on /dev/sdd1 but will be lost or
level=raid5 devices=3 ctime=Fri Jan 4 18:24:37 2019 meaningless after creating array
Continue creating array? (y/n) y
mdadm: /dev/sde1 appears to contain an ext2fs file system size=15727616K mtime=Thu Jan 1 00:00:00 1970 mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.


- Formatar a partição e checar os parâmetros aplicados 

Após ter criado as partições, vamos formata-lás no com o tipo ext4.

[root@svr-grc-1 luizep]# mkfs.ext4 /dev/md5


Verificando a partição com o comando fdisk -l

[root@svr-grc-1 luizep]# fdisk -l /dev/md5
Disk /dev/md5: 32.2 GB, 32191283200 bytes, 62873600 sectors
Units = sectors of 1 * 512 = 512 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes


Com o comando blkid é possível verificar o UUID da partição, ou seja, o identificador único de cada partição e também o seu tipo, neste caso "linux_raid_member". Veja a saída abaixo:

[root@svr-grc-1 luizep]# blkid
/dev/sda1: LABEL="/" UUID="51a7c7e4-4490-4c13-a7aa-446d8606cef5" TYPE="xfs"
/dev/sdc1: UUID="0852f278-7900-f9aa-ec43-4dffbe44450f" UUID_SUB="8f57c873-b6dd-adf8-5fe7-0c61fc2bf63c" LABEL="svr-grc-1:5" TYPE="linux_raid_member"
/dev/sdd1: UUID="0852f278-7900-f9aa-ec43-4dffbe44450f" UUID_SUB="4623d9bf-9bb3-58bc-9416-7af6c1fe85aa" LABEL="svr-grc-1:5" TYPE="linux_raid_member"
/dev/sdb1: PTTYPE="dos"
/dev/sde1: UUID="0852f278-7900-f9aa-ec43-4dffbe44450f" UUID_SUB="01231dbd-077a-6d5a-ec46-af084bbaa4ac" LABEL="svr-grc-1:5" TYPE="linux_raid_member"
/dev/md5: UUID="97540475-09cb-4d94-82a1-6df5aa558079" TYPE="ext4"


Podemos checar mais informações sobre o RAID criado bem como a outras informações com o comando mdadm --detail. Utilizamos 3 discos de 15GB, neste caso o RAID 5 controi seu RAID da seguinte maneira 15GB + 15GB + 15GB = 45GB - 15GB = 30GB, ou seja, disco1 + disco2 + disco3 = X - disco1. Um disco é utilizado para bit de paridade.

[root@svr-grc-1 luizep]# mdadm --detail /dev/md5
/dev/md5: Version : 1.2
Raid Level : raid5
Creation Time : Sun Jan 6 18:30:55 2019
Used Dev Size : 15718400 (14.99 GiB 16.10 GB)
Array Size : 31436800 (29.98 GiB 32.19 GB) Raid Devices : 3 Total Devices : 3
State : clean
Persistence : Superblock is persistent Update Time : Sun Jan 6 18:37:29 2019 Active Devices : 3 Working Devices : 3
Name : svr-grc-1:5 (local to host svr-grc-1)
Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Consistency Policy : resync
0 8 33 0 active sync /dev/sdc1
UUID : 0852f278:7900f9aa:ec434dff:be44450f Events : 20 Number Major Minor RaidDevice State 1 8 49 1 active sync /dev/sdd1
3 8 65 2 active sync /dev/sde1


Para que o sistema possa identificar e montar o RAID de forma eficiente devemos criar e popular o arquivo /etc/mdadm.conf, caso o arquivo não exista execute o comando abaixo.

[root@svr-grc-1 luizep]# mdadm -v --detail --scan >> /etc/mdadm.conf


Um arquivo importante para verificar é o /proc/mstat , este arquivo contém informações sobre o RAID no sistema. Exemplo de conteúdo num sistema RAID ativo.

[root@svr-grc-1 luizep]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
31436800 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
md5 : active raid5 sde1[3] sdd1[1] sdc1[0]
unused devices:


- Montar a partição 


 Vamos criar um diretório para montagem da nossa partição RAID e monta-lá.

[root@svr-grc-1 luizep]# mkdir /mnt/raid5
[root@svr-grc-1 luizep]# mount /dev/md5 /mnt/raid5/
[root@svr-grc-1 luizep]# df -lh /dev/md5
/dev/md5 30G 45M 28G 1% /mnt/raid5
Filesystem Size Used Avail Use% Mounted on


Para montagem automática devemos adicionar a partição no arquivo /etc/fstab conforme abaixo.

[root@svr-grc-1 luizep]# echo "/dev/md5 /mnt/raid5 ext4 default 0 0" >>/etc/fstab 



Comandos utilizados: 
#lsblk -f 
#blkid 
#fdisk -l 
#fdisk 
#mkfs.ext4 
#mdadm --verbose --detail --scan 
#df -lh 
#cat /proc/mdstat 
#[root@svr-grc-1 luizep]# mdadm -v --create /dev/md5 -l5 -n3  /dev/sdd1 /dev/sdc1 /dev/sde1 
#yum install -y mdadm 
#apt-get install mdadm 
#mdadm --version


Ao som de 







Espero ter auxiliado e, até o próximo :) ...


Leitura recomendada




4 de jan. de 2019

[Google Cloud] Adicionando disco em branco


Olá meu caro, 

Hoje iremos apresentar o manual básico de como adicionar discos nas instâncias criadas na google cloud com Compute Engine.  Os discos serão criados na interface gráfica do google cloud e manuseados via linha de comandos assim que o SO reconhece-lós. 



Etapas;  


  1. Entrar em compute engine selecionar a instância
  2. Definir a quantidade e tamanho dos discos
  3. Salvar as operações realizadas no modo de edição da instância
  4. Acessar o sistema operacional e manusear os discos


O Compute Engine gerencia o hardware por trás dos discos permanentes para que você possa adicionar e redimensionar os discos sem fatiamento nem redundância. Conecte um disco secundário grande e redimensione-o à medida que precisar de espaço adicional ou conecte vários discos menores para separar os dados em vários volumes.

A menos que você crie um disco a partir de uma imagem, os discos permanentes novos serão iniciados sem dados nem sistemas de arquivos. É necessário que você mesmo formate esses discos depois de anexá-los às instâncias.

Se os discos permanentes padrão ou os discos permanentes SSD não atenderem a todos os requisitos de desempenho ou flexibilidade, adicione outras opções de armazenamento às instâncias.



Então vamos lá; 

Entrar em compute engine selecionar a instância

  1. No console do GCP, acesse a página "Instâncias da VM".
  2. Clique sobre a instância que deseja adicionar os discos.
  3. Clique sobre a opção "Editar".
  4. Desça até "Discos adicionais". 


Definir a quantidade e tamanho dos discos

  1. Defina o nome do disco
  2. Defina o tipo do disco "Disco em branco"
  3. Defina o tamanho do disco 
  4. Criptografia a seu critério, para inciantes recomendo manter o padrão 
  5. Clique em "Salvar"

Salvar as operações realizadas no modo de edição da instância

 Após salvar as opções de criação do disco, desça a página até o final para salvar as alterações.


Acessar o sistema operacional e manusear os discos

O sistema operacional utilizado para manipulação aqui será uma distribuição linux, o centOS. 

  1. No console do GCP, acesse a página "Instâncias da VM".
  2. Na lista de instâncias de máquinas virtuais, clique em SSH na linha da instância a que você quer se conectar.
Agora você tem uma janela de terminal para interagir com a instância do Linux.

Manuseando o disco adicionado 

[root@svr-grc-1 /]# fdisk -l /dev/sde
Disk /dev/sde: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

[root@svr-grc-1 /]# fdisk /dev/sde

[root@svr-grc-1 /]# mkfs.ext4 /dev/sde1

[root@svr-grc-1 /]# mkdir /mnt/master ; mount /dev/sde1 /mnt/master ; df -lh 
mkdir: cannot create directory ‘/mnt/master’: File exists
Filesystem                     Size  Used Avail Use% Mounted on
/dev/sda1                       12G  5.0G  7.1G  42% /
devtmpfs                       1.8G     0  1.8G   0% /dev
tmpfs                          1.8G     0  1.8G   0% /dev/shm
tmpfs                          1.8G  8.5M  1.8G   1% /run
tmpfs                          1.8G     0  1.8G   0% /sys/fs/cgroup
tmpfs                          354M     0  354M   0% /run/user/1000
/dev/mapper/vol01-vol_linux01   15G   41M   14G   1% /mnt/lvm01
tmpfs                          354M     0  354M   0% /run/user/0
/dev/sde1                       15G   41M   14G   1% /mnt/master
[root@svr-grc-1 /]#


Obs: Para tornar a montagem permanente, deve-se adicionar os parâmetros de montagem no arquivo /etc/fstab.





Espero ter auxiliado e, até o próximo :) ...

Leituras recomendadas: