LFCS #6: Como Montar Partições como Dispositivos RAID e Criar Backups do Sistema

A Linux Foundation lançou a certificação LFCS (Linux Foundation Certified Sysadmin), uma oportunidade brilhante para administradores de sistemas em todos os lugares demonstrarem, através de um exame baseado em desempenho, que são capazes de realizar suporte operacional geral em sistemas Linux: suporte ao sistema, diagnóstico de primeiro nível e monitoramento, além de escalonamento de problemas, quando necessário, para outras equipes de suporte.

A série será intitulada Preparação para o LFCS (Linux Foundation Certified Sysadmin) Partes 1 a 33 e cobrirá os seguintes tópicos:

No. Title
Part 1 How to Use ‘Sed’ Command to Manipulate Files in Linux
Part 2 How to Install and Use Vi/Vim in Linux
Part 3 How to Compress Files & Directoires and Finding Files in Linux
Part 4 How to Partition Storage Devices in Linux
Part 5 How to Mount (Samba and NFS) Filesystems in Linux
Part 6 How to Assemble Partitions as RAID Devices and Create System Backups
Part 7 Managing System Startup Processes and Services (SysVinit, Systemd, and Upstart
Part 8 How to Manage User & Groups, File Permissions, and Sudo Access
Part 9 Linux Package Management with Yum, RPM, Apt, Dpkg, Aptitude, and Zypper
Part 10 Learning Basic Shell Scripting and Filesystem Troubleshooting
Part 11 How to Manage and Create LVM Using vgcreate, lvcreate, and lvextend Commands
Part 12 How to Explore Linux with Installed Help Documentations and Tools
Part 13 How to Configure and Troubleshoot Grand Unified Bootloader (GRUB)
Part 14 Monitor Linux Processes Resource Usage and Set Process Limits on a Per-User Basis
Part 15 How to Set or Modify Kernel Runtime Parameters in Linux Systems
Part 16 Implementing Mandatory Access Control with SELinux or AppArmor in Linux
Part 17 How to Set Access Control Lists (ACLs) and Disk Quotas for Users and Groups
Part 18 Installing Network Services and Configuring Automatic Startup at Boot
Part 19 An Ultimate Guide to Setting Up FTP Server to Allow Anonymous Logins
Part 20 Setup a Basic Recursive Caching DNS Server and Configure Zones for Domain
Part 21 How to Install, Secure, and Performance Tuning of MariaDB Database Server
Part 22 How to Install and Configure NFS Server for File System Sharing
Part 23 How to Setup Apache with Name-Based Virtual Hosting with SSL Certificate
Part 24 How To Setup an Iptables Firewall to Enable Remote Access to Services in Linux
Part 25 How to Turn a Linux into a Router to Handle Traffic Statically and Dynamically
Part 26 How to Setup Encrypted Filesystems and Swap Using Cryptsetup Tool
Part 27 How to Monitor System Usage, Outages, and Troubleshoot Linux Servers
Part 28 How to Setup a Network Repository to Install or Update Packages
Part 29 How to Audit Network Performance, Security, and Troubleshooting
Part 30 How to Install and Manage Virtual Machines and Containers
Part 31 Learn the Basics of Git to Manage Projects Efficiently
Part 32 A Beginner’s Guide to Configuring IPv4 and IPv6 Addresses in Linux
Part 33 A Beginner’s Guide to Creating Network Bonding and Bridging in Ubuntu

Esta postagem é Parte 6 de uma série de 33 tutoriais, aqui nesta parte, explicaremos como montar partições como dispositivos RAID e criar e gerenciar backups do sistema, que são necessários para o exame de certificação LFCS.

Entendendo o RAID no Linux

A tecnologia conhecida como Redundant Array of Independent Disks (RAID) é uma solução de armazenamento que combina vários discos rígidos em uma única unidade lógica para fornecer redundância de dados e/ou melhorar o desempenho em operações de leitura / gravação no disco.

No entanto, a tolerância a falhas e o desempenho de E/S de disco dependem da configuração dos discos para formar o array de discos. Dependendo dos dispositivos disponíveis e das necessidades de tolerância a falhas/desempenho, são definidos diferentes níveis de RAID.

Você pode referir-se à seguinte série de artigos de RAID para obter uma explicação mais detalhada de cada nível de RAID.

Instalar mdadm no Linux

Nossa ferramenta de escolha para criar, montar, gerenciar e monitorar nossos arrays de disco software chama-se mdadm (abreviação de administrador de discos múltiplos).

$ sudo apt install mdadm         [On Debian, Ubuntu and Mint]
$ sudo yum install mdadm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo zypper install mdadm      [On OpenSUSE]    

Montagem de Partições como Dispositivos RAID

O processo de montagem de partições existentes como dispositivos RAID consiste em seguintes passos.

1. Criar um Novo Array usando mdadm

Se uma das partições já foi formatada anteriormente ou já fazia parte de outro RAID anteriormente, você será solicitado a confirmar a criação do novo array.

Assumindo que você tenha tomado as precauções necessárias para evitar perder dados importantes que poderiam ter residido nele, você pode digitar y e pressionar Enter.

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1
Creating RAID Array

2. Verificar Status da Criação do Array

Para verificar o status de criação do array, você usará os seguintes comandos – independentemente do tipo de RAID. Estes são justos tão válidos quanto quando estamos criando um RAID0 (como mostrado acima), ou quando você está no processo de configurar um RAID5, como mostrado na imagem abaixo.3. Formatar Dispositivo RAID

# cat /proc/mdstat
or 
# mdadm --detail /dev/md0	[More detailed summary]
Check RAID Array Status

3. Formatar Dispositivo RAID

Formate o dispositivo com um sistema de arquivos de acordo com suas necessidades/requisitos, conforme explicado no Parte 4 desta série.

4. Monitorar Serviço de Matriz RAID

Instruir o serviço de monitoramento a “ficar de olho” na matriz. Adicione a saída do mdadm --detail --scan para /etc/mdadm/mdadm.conf (Debian e derivados) ou /etc/mdadm.conf (CentOS / openSUSE), assim.

# mdadm --detail --scan
Monitor RAID Array
# mdadm --assemble --scan 	[Assemble the array]

Para garantir que o serviço inicie no boot do sistema, execute os seguintes comandos como root.

# systemctl start mdmonitor
# systemctl enable mdmonitor

5. Verificar Falha no Disco RAID

Nos níveis RAID que suportam redundância, substitua os discos defeituosos quando necessário. Quando um dispositivo na matriz de discos se torna problemático, um reconstrução automaticamente começa apenas se houve um dispositivo de reserva adicionado quando criamos a matriz pela primeira vez.

Check RAID Faulty Disk

Caso contrário, precisamos anexar manualmente um disco físico extra ao nosso sistema e executá-lo.

# mdadm /dev/md0 --add /dev/sdX1

Onde /dev/md0 é a matriz que enfrentou o problema e /dev/sdX1 é o novo dispositivo.

6. Desmontar uma Matriz em Funcionamento

Você pode ter que fazer isso se precisar criar uma nova matriz usando os dispositivos – (Passo Opcional).

# mdadm --stop /dev/md0 		#  Stop the array
# mdadm --remove /dev/md0 		# Remove the RAID device
# mdadm --zero-superblock /dev/sdX1 	# Overwrite the existing md superblock with zeroes

7. Criar Alertas por E-mail

Você pode configurar um endereço de e-mail válido ou conta de sistema para enviar alertas (certifique-se de ter essa linha em mdadm.conf). – (Passo Opcional)

MAILADDR root

Neste caso, todas as alertas que o daemon de monitoramento RAID coleta serão enviados para a caixa postal da conta local root. Um desses alertas se parece com o seguinte.

Nota: Este evento está relacionado ao exemplo em PASSO 5, onde um dispositivo foi marcado como defeituoso e o dispositivo reserva foi automaticamente integrado à matriz pelo mdadm. Assim, nós “ficamos sem” dispositivos reserva saudáveis e recebemos o alerta.

RAID Monitoring Alerts

Compreendendo Níveis RAID no Linux

Aqui está uma breve visão geral dos níveis RAID comuns:

RAID 0

O tamanho total da matriz é n vezes o tamanho da menor partição, onde n é o número de discos independentes na matriz (você precisará de pelo menos dois discos). Execute o seguinte comando para montar uma RAID 0 matriz usando as partições /dev/sdb1 e /dev/sdc1.

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

Uso Comum: Configurações que suportam aplicativos em tempo real, onde o desempenho é mais importante do que a tolerância a falhas.

RAID 1 (também conhecido como Espelhamento)

O tamanho total da matriz é igual ao tamanho da menor partição (você precisará de pelo menos dois discos). Execute o seguinte comando para montar uma RAID 1 matriz usando as partições /dev/sdb1 e /dev/sdc1.

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Uso Comum: Instalação do sistema operacional ou subdiretórios importantes, como /home.

RAID 5 (também conhecido como Discos com Paridade)

O tamanho total do array será (n – 1) vezes o tamanho da menor partição. O espaço “perdido” em (n-1) é usado para cálculo de paridade (redundância) (você precisará de pelo menos três drives).

Note que você pode especificar um dispositivo reserva (/dev/sde1 neste caso) para substituir uma parte defeituosa quando ocorrer um problema. Execute o seguinte comando para montar um RAID 5 array usando partições /dev/sdb1, /dev/sdc1, /dev/sdd1 e /dev/sde1 como reserva.

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1

Uso Comum: Servidores web e de arquivos.

RAID 6 (aka Discos com Dupla Paridade

O tamanho total do array será (n*s)-2*s, onde n é o número de discos independentes no array e s é o tamanho do menor disco. Note que você pode especificar um dispositivo reserva (/dev/sdf1 neste caso) para substituir uma parte defeituosa quando ocorrer um problema.

Execute o seguinte comando para montar um RAID 6 array usando partições /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 e /dev/sdf1 como reserva.

# mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde --spare-devices=1 /dev/sdf1

Uso Comum: Servidores de arquivos e de backup com requisitos de alta capacidade e disponibilidade.

RAID 1+0 (aka Reta de Espelhos)

O tamanho total do array é calculado com base nas fórmulas para RAID 0 e RAID 1 já que RAID 1+0 é uma combinação de ambos. Primeiro, calcule o tamanho de cada espelho e então o tamanho da reta.

Note que você pode especificar um dispositivo de reserva (/dev/sdf1 neste caso) para substituir uma parte defeituosa quando um problema ocorre. Execute o seguinte comando para montar uma matriz RAID 1+0 usando partições /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 e /dev/sdf1 como reserva.

# mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 --spare-devices=1 /dev/sdf1

Uso Comum: Servidores de banco de dados e aplicativos que requerem operações de E/S rápidas.

Criando e Gerenciando Cópias de Segurança em Sistemas Linux

Nunca custa lembrar que RAID com todas as suas vantagens NÃO É UM SUBSTITUTO PARA COPIAS DE SEGURANÇA! Escreva 1000 vezes no quadro de giz se precisar, mas certifique-se de manter essa ideia sempre em mente.

Antes de começarmos, devemos notar que não há uma solução única para cópias de segurança do sistema, mas aqui estão algumas coisas que você precisa levar em consideração ao planejar uma estratégia de backup.

  • Para o que você usa seu sistema? (Desktop ou servidor? Se for o último caso, quais são os serviços mais críticos – cuja configuração seria uma dor de perder?)
  • Com que frequência você precisa fazer backups de seu sistema?
  • Quais são os dados (por exemplo, arquivos/diretórios/dump de banco de dados) que você deseja fazer backup? Você também pode querer considerar se realmente precisa fazer backup de arquivos grandes (como arquivos de áudio ou vídeo).
  • Onde (significando lugar físico e mídia) essas cópias de segurança serão armazenadas?

1. Discos de Backup Usando o Comando dd

Fazer backup de unidades inteiras com o comando dd. Você pode fazer backup de um disco inteiro ou de uma partição criando uma imagem exata em qualquer momento. Observe que isso funciona melhor quando o dispositivo está offline, ou seja, não está montado e não há processos acessando-o para operações de E/S.

A desvantagem desse método de backup é que a imagem terá o mesmo tamanho do disco ou partição, mesmo quando os dados reais ocupam apenas uma pequena porcentagem disso.

Por exemplo, se você deseja criar uma imagem de uma partição de 20 GB que está apenas 10% cheia, o arquivo de imagem ainda terá 20 GB de tamanho. Em outras palavras, não são apenas os dados reais que são feitos backup, mas a própria partição inteira. Você pode considerar usar esse método se precisar de backups exatos de seus dispositivos.

Criar uma Imagem de Partição

# dd if=/dev/sda of=/system_images/sda.img
OR
--------------------- Alternatively, you can compress the image file --------------------- 
# dd if=/dev/sda | gzip -c > /system_images/sda.img.gz 

Restaurar uma Imagem de Partição

# dd if=/system_images/sda.img of=/dev/sda
OR 
# gzip -dc /system_images/sda.img.gz | dd of=/dev/sda 

2. Fazer backup de arquivos usando o comando tar

Faça backup de certos arquivos / diretórios com o comando tar – já abordado no Parte 3 desta série. Você pode considerar usar esse método se precisar manter cópias de arquivos e diretórios específicos (arquivos de configuração, diretórios de usuários etc).

2. Fazer backup e sincronizar arquivos usando o comando rsync

Sincronize arquivos com o comando rsync, que é uma ferramenta versátil para copiar arquivos remotos (e locais). Se você precisar fazer backup e sincronizar seus arquivos para/de unidades de rede, o rsync é a escolha certa.

Seja você está sincronizando dois diretórios locais ou diretórios locais < --- > remotos montados no sistema de arquivos local, a sintaxe básica é a mesma.

Sincronizando Dois Diretórios Locais

# rsync -av source_directory destination directory

Onde, -a recua em subdiretórios (se existirem), preserva links simbólicos, timestamps, permissões e proprietário / grupo original e -v verboso.

rsync Synchronizing Files

Além disso, se você deseja aumentar a segurança da transferência de dados pela rede, você pode usar ssh sobre rsync.

Sincronizando Diretórios Locais → Remotos Sobre SSH

# rsync -avzhe ssh backups root@remote_host:/remote_directory/

Este exemplo sincronizará o diretório de backup no host local com o conteúdo de /root/diretório_remoto no host remoto.

Onde a opção -h mostra os tamanhos dos arquivos em um formato legível por humanos e a bandeira -e é usada para indicar uma conexão SSH.

rsync Synchronize Remote Files

Sincronizando Diretórios Remotos → Locais Sobre SSH

Neste caso, troque os diretórios de origem e destino do exemplo anterior.

# rsync -avzhe ssh root@remote_host:/remote_directory/ backups 

Por favor, note que estes são apenas 3 exemplos (casos mais frequentes que você provavelmente encontrará) do uso do rsync. Para mais exemplos e usos dos comandos rsync, consulte o artigo a seguir.

Resumo

Como sysadmin, você precisa garantir que seus sistemas funcionem da melhor maneira possível. Se você estiver bem preparado e a integridade de seus dados for bem apoiada por tecnologia de armazenamento como RAID e backups regulares de sistema, você estará seguro.

O eBook LFCS está disponível agora para compra. Peça sua cópia hoje e comece sua jornada para se tornar um administrador de sistema Linux certificado!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Por último, mas não menos importante, por favor considere comprar seu voucher de exame usando os links abaixo para nos ganhar uma pequena comissão, o que nos ajudará a manter este livro atualizado.

Se você tem perguntas, comentários ou mais ideias sobre como este artigo pode ser melhorado, sinta-se à vontade para se manifestar abaixo. Além disso, por favor considere compartilhar esta série através de seus perfis de redes sociais.

Source:
https://www.tecmint.com/creating-and-managing-raid-backups-in-linux/