Criação de sistemas RAID



Documentos relacionados
Instalando o Debian em modo texto

RAID. Redundant Array of Independent Drives. Conjunto Redundante de Discos Independentes

HOW TO. Instalação do Firewall 6.1 Software

Tutorial de instalação do Debian Rudson Ribeiro Alves

3.3. Espelhamento (RAID1)

Aloque 1024 MB de RAM para a VM. Crie um novo disco virtual. Figura 03. Figura 04.

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores

Tutorial Instalação Dual Boot Ubuntu e Windows XP Virtualização com VirtualBox

Recuperando o GRUB após instalação do Windows

Instalação do Linux Educacional 3.0 Bancadas SED

Perguntas frequentes do Samsung Drive Manager

AULA 5 Sistemas Operacionais

INSTALANDO O UBUNTU PELA IMAGEM ISO OU LIVE-USB DA UFV PASSO-A-PASSO.

Como instalar o sistema operacional pfsense no Citrix Xen Server

Processo de Instalação Limpa do Windows 8.1 em Computadores Philco

Guia Rápido de Instalação Ilustrado

Instalação FreeBSD Inicialização do CD/DVD! Ao colocar o CD/DVD como boot principal na BIOS, aparecerá a seguinte tela:

Administração de Sistemas Operacionais

Sistema Operativo Cliente Servidor

Como instalar uma impressora?

INTRODUÇÃO AO SISTEMA

LUCAS DA SILVA, LUCAS TUCHTENHAGEN, LUCAS NUNES HIREN S BOOT CD

Sistemas Operacionais Gerência de Dispositivos

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Material retirado do site:

UM PBX GENUINAMENTE BRASILEIRO


Guia: como instalar o Ubuntu Linux

Lógica de Programação

RESTAURAÇÃO NO WINDOWS 8

TRABALHO COM GRANDES MONTAGENS

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

Samsung Auto Backup FAQ

COMO INSTALAR O CATÁLOGO

Manual de Instalação (TEF LOJA)

22:59:36. Introdução à Informática com Software Livre

1. Adição de um disco rígido a uma máquina existente. Iremos utilizar uma máquina virtual

Atualização de computadores CCE para Windows 8.1 ATUALIZAÇÃO LIMPA

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

Manual Comunica S_Line

Manual de Instalação SNEP 3 Asterisk 13

Admistração de Redes de Computadores (ARC)

Guia de início rápido do Powersuite

mobile PhoneTools Guia do Usuário

Kerio Exchange Migration Tool

Multi-Terminal 5.0. Versão Customizada de GNU/Linux com o Gnome e Userful 5.0. Testada no Pregão 83/2008

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Considerações sobre o Disaster Recovery

Inicialização rápida da instalação SUSE Linux Enterprise Server 11 SP1

Instalação do Metamorphose Linux

Operador de Computador. Informática Básica

NetEye Guia de Instalação

Desenvolvido por: Rafael Botelho

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

Usando o Conjunto de Discos de Recuperação do Windows 8

UM PBX GENUINAMENTE BRASILEIRO MANUAL DE INSTALAÇÃO COM IMAGEM ISO

Motorola Phone Tools. Início Rápido

Lazarus pelo SVN Linux/Windows

Actualização para a IPBrick v de Setembro de 2014

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

MANUAL DE INSTALAÇÃO DO ODONTO TECHNOLOGY

2 de maio de Remote Scan

MANUAL C R M ÍNDICE. Sobre o módulo de CRM Definindo a Campanha... 3

Manual AGENDA DE BACKUP

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

Leia antes de instalar Mac OS X

Boot Camp Guia de Instalação e

Backup.

Como formatar e reinstalar o Windows 7

Sistema de Instalação e Criação da Estrutura do Banco de Dados MANUAL DO INSTALADOR. Julho/2007. Ministério da saúde

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

Tutorial - Monitorando a Temperatura de Servidores Windows

Sistemas. Arquivos.

Guia de instalação UEG Linux LTS

CONFIGURAÇÃO MINIMA EXIGIDA:

CERTIFICADO DIGITAL CONECTIVIDADE DIGITAL ICP GUIA PLANCON DE INSTRUÇÕES PARA INSTALAR SEU TOKEN, PENDRIVE OU LEITOR DE CARTÕES

Desenvolvendo Websites com PHP

Inicialização rápida da instalação SUSE Linux Enterprise Server 11

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

Ferramentas Scan Station Pro 550 Administration & Scan Station Service

Online Help StruxureWare Data Center Expert

Guia Sphinx: instalação, reposição e renovação

Programador/a de Informática

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

02 - Usando o SiteMaster - Informações importantes

Questões comentadas informática

Librix. A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC Guia de referência

ArcSoft MediaConverter

Manual de Instalação Linux Comunicações - Servidor. Centro de Computação Científica e Software Livre - C3SL

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

Google Drive. Passos. Configurando o Google Drive

Procedimentos para Reinstalação do Sisloc

Manual Xerox capture EMBRATEL

Relatório de Instalação do Windows 2003 Server

Introdução. O Windows Server 2003 está dividido em quatro versões:

Transcrição:

RAID com Raider SOLUÇÕES Criação de sistemas RAID Juntamente com os backups regulares, um sistema RAID deveria ser uma presença comum em qualquer bom servidor. Este artigo mostra como converter uma instalação Linux existente para um sistema RAID e evitar as armadilhas pelo caminho. por Oliver Frommel S e o leitor estiver em busca de mais desempenho ou mais segurança, o armazenamento RAID é sempre uma solução útil. Enquanto o RAID 0 não redundante aumenta a velocidade de acesso aos dados, o RAID 1 duplica os dados e, portanto, fornece mais resistência. A combinação dos dois é chamada de RAID nível 10, que oferece ao usuário o melhor do espelhamento e distribuição. Criar um sistema RAID em duas partições de um disco rígido faz pouco sentido porque, se o disco falhar, os dois discos em seu RAID estarão perdidos. No entanto, podemos criar múltiplas partições em um disco rígido e lhes atribuir arrays RAID diferentes. Forneceremos um exemplo mais adiante neste artigo. Se o usuário estiver instalando um novo sistema Linux, poderá criar um sistema RAID durante o processo de instalação, desde que o sistema possua discos rígidos suficientes. Por exemplo, com a Red Hat ou CentOS, durante a instalação, primeiro selecione Basic Storage Devices (dispositivos de armazenamento básico) e, em seguida, em Create Custom Layout (criar layout personalizado). Quando criar uma nova partição, em vez de escolher um sistema de arquivos, selecione Create Software RAID (criar software RAID). Depois de criar pelo menos duas partições RAID, o instalador fornece uma opção de dispositivo RAID, onde podemos selecionar as partições que acabamos de criar. O instalador verifica o número mínimo de partições e se recusa, por exemplo, a criar um RAID 6 com apenas duas partições RAID. No entanto, o que o leitor faria se a máquina já tiver sido usada por um período de tempo com um sistema de arquivos simples? Em princípio, não é difícil construir um RAID manualmente a partir de um sistema de arquivos convencional, mas há algumas coisas a serem observadas. Um script chamado Raider torna o processo mais fácil, ao converter uma simples instalação Linux para RAID. Ele verifica os pré-requisitos, copia os dados, configura uma nova RAID e vincula todas as partições necessárias. Depois de baixar e descompactar o pacote Raider a partir do site [1], vamos precisar de alguns outros itens antes de instalá-lo: depende do bc, mdadm, parted e dos pacotes rsync, que são todos muito fáceis de instalar com o gerenciador de pacotes: yum install bc mdadm rsync parted Figura 1 O Raider distribui o trabalho a uma série de scripts individuais. Admin Magazine #9 Março de 2013 53

Outra dependência é um programa que permite criar um disco RAM inicial (por exemplo, dracut, mkinitramfs etc.), que normalmente será pré-instalado. Em seguida, podemos executar /install.sh no diretório Raider para copiar os arquivos para o disco rígido. O script instala alguns programas, dos quais apenas raider e raiderl são interessantes para o usuário. O script /usr/bin/ raider é apenas um empacotador (wrapper) relativamente curto, que calcula a linha de comando antes de entregar o trabalho real para um dos 23 scripts armazenados abaixo de /usr/lib/raider (figura 1). Chamar raider --help exibe os parâmetros disponíveis. O comando raider -d fornece uma visão geral das unidades internas de disco rígido e partições. Na figura 2, podemos ver os resultados para um servidor Linux com dois discos rígidos, dos quais o primeiro contém duas partições, e o segundo está vazio. Para configurar um RAID 1, simplesmente execute o Raider com a opção -R1: raider -R1 O usuário não precisa declarar os discos e partições aqui, em contraste com a abordagem usual, pois o Raider simplesmente toma os dois discos necessários para a array RAID 1. Ele constrói um comando para criar o disco de RAM inicial e copiar as informações da partição do primeiro para o segundo disco criando assim um RAID, então ele copia os dados do primeiro disco para o RAID (que atualmente inclui apenas o segundo disco). O Raider, então, gera o disco RAM e se altera em um ambiente de chroot para escrever o GRUB bootloader para o segundo disco. O Raider precisa de um disco rígido vazio para fazer isso. Se o disco incluir partições, ele cancela a operação. Uma chamada para: raider --erase /dev/sdb Figura 2 A situação inicial: um disco rígido com uma raiz e uma partição swap. apaga os dados. Incidentalmente, definir a opção adicional -t, como em raider -t R1 informa ao Raider que deve executar um teste. Quanto tempo vai levar a cópia depende da carga de dados no primeiro disco rígido. Neste exemplo, tínhamos apenas alguns gigabytes, por isso a operação foi concluída em poucos minutos. Neste ponto, o Raider avisa ao usuário que deve trocar os primeiros e últimos discos no servidor; para o RAID 1, isso significa os dois únicos discos existentes. Esta ação destina-se a garantir que todos os dados tenham sido copiados para o sistema RAID. Após a troca, o sistema inicializa a partir do que foi anteriormente o segundo disco, que agora deve ter todos os dados do disco root original. Se o SE Linux foi habilitado no sistema antigo, o Raider irá marcar a partição para relabeling, o que requer outra reinicialização. Após o login, uma rápida olhada na tabela de mount mostra que o sistema de arquivos raiz é agora um RAID: $ mount /dev/md0 on / type ext4 (rw)... A verificação do arquivo de status do kernel para RAIDs: # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sda1[0] 310522816 blocks [2/1] [U_] mostra que temos um RAID 1, e que apenas um dos dois discos necessários está presente, ou seja, temos um RAID degradado. Podemos afirmar isso pela leitura do [U_]: um array RAID completo teria um [UU] aqui. Para mais informações, execute o comando: mdadm -D /dev/md0 O próximo passo é executar o comando: raider --run Depois de trocar os discos rígidos, o Raider se recusa a continuar trabalhando. Caso contrário, o programa passa a dividir o segundo (anteriormente primeiro) disco rígido, se necessário, e o adiciona ao array, que aciona automaticamente uma recompilação (rebuild) do RAID. Como isto acontece por blocos e baseia-se no respectivo algoritmo de RAID, o processo é muito mais lento do que uma cópia normal. Em particular, a partição inteira é copiada e não apenas a área ocupada com os dados. Com o RAID 1 e os discos rígidos de 320GB, a operação toda leva uma hora e meia (figura 3). É possível visualizar o arquivo de log a qualquer momento com o comando raiderl. O Raider escreve a configuração 54 www.admin-magazine.com.br

Figura 3 Após adicionar o segundo disco rígido a array do RAID, ocorre a recompilação; sua milhagem pode variar. RAID atual para o arquivo /etc/mdadm.conf. Podemos fazer isto manualmente, digitando: mdadm --detail --scan > /etc/mdadm.conf Dada a capacidade em terabytes dos discos rígidos atuais, recompilar um RAID pode levar dias inteiros em determinadas circunstâncias. Durante este tempo, os RAIDs degradados estão particularmente em risco. Como um disco já falhou, a falha de um segundo seria um desastre. RAIDs com paridade dupla, que salvam os dados de paridade duas vezes, podem lidar com a falha de um segundo disco. Alguns especialistas vêem a necessidade de uma paridade RAID tripla com uma visualização dos volumes crescentes de dados e tamanhos de disco correspondentes; isto é implementado em ZFS, que continua a funcionar na eventualidade de uma falha de três discos [2]. Limitado O Raider trabalha com os sistemas de arquivos populares do Linux, como o ext2/3/4, XFS, JFS e ReiserFS, e também pode lidar com volumes lógicos baseados em LVM2. O suporte para Btrfs ainda não existe, nem o suporte para partições criptografadas. O Raider pode ler as informações de partição no formato MBR legado e nas tabelas GPT. Atualmente não há suporte para informações da partição UEFI, mas isto está previsto para a versão 0.20. Além disso, o Raider só pode converter instalações Linux para sistemas RAID que contêm um disco rígido com sistemas de arquivos Linux. Se o usuário também possui uma partição do Windows, o programa não poderá ajudar. Converter uma partição raiz para o RAID 1 não requer muita habilidade, e é provavelmente algo que a maioria dos leitores poderia suportar sem a ajuda do Raider. No entanto, o Raider pode fazer mais; por exemplo, pode converter diversos discos e sistemas RAID para níveis 4, 5, 6, e 10, tendo em conta o número necessário de discos (tabela 1). Além disso, o Raider pode lidar com volumes lógicos, que é o modo de instalação padrão no Fedora, Red Hat e CentOS, por exemplo. Criar um RAID a partir deste material original requer algum esforço; contudo, o Raider pode tirar o peso dos ombros do usuário. O ponto de partida para esta instalação é mostrado na listagem 1. O comando: raider -R5 sda sdb sdc sdd inicia uma conversão para o RAID 5, com três discos rígidos adicionais. Ele distribui os dados sobre os discos e grava informações de paridade para salvaguardá-los, combinando alto desempenho e confiabilidade. Como uma partição de boot já existe no caso atual, o Raider novamente a converte em um RAID. Se o usuário não possuir uma partição de boot, e selecionar um nível de RAID diferente de 0, o Raider mudará o particionamento. Como o bootloader do Linux normalmente pode iniciar apenas a partir do RAID 1 pelo menos enquanto o RAID estiver degradado o Raider, então, cria uma partição de boot de 500MB para cada uma das novas unidades de disco rí- SOLUÇÕES Nível Número mínimo de discos Velocidade de leitura Velocidade de escrita Capacidade 1 1+1 1x 1x 1x 5 1+2 2x 1/2x 2x 6 1+3 2x 1/3x 2x 10 1+3 1x 1x 2x Tabela 1 Nível mínimo de configurações RAID. Admin Magazine #9 Março de 2013 55

Listagem 1: Partições LVM # df h File system Size Used Avail Use% Mounted on /dev/mapper/volgroup lv_root 50G 1,7G 46G 4% / tmpfs 3,9G 0 3,9G 0% /dev/shm /dev/sda1 485M 35M 425M 8% /boot /dev/mapper/volgroup lv_home 235G 188M 222G 1% /home gido, que mais tarde se combinam para formar a array do RAID 1. Se um disco falhar, o sistema sempre pode iniciar a partir de um dos discos de inicialização restantes. Depois de executar o comando, desligue o computador e, em seguida, troque o primeiro e último disco rígido no barramento; os outros dois podem ficar onde estão. Após reiniciar, o comando a seguir inicia a recompilação do RAID: raider --run Como um sistema de execução não pode ter dois grupos de volume com o mesmo nome, o Raider criou um grupo de volume com um nome semelhante no novo RAID (listagem 2). Ele é criado simplesmente acrescentando raider ao nome original. No entanto, podemos mudar isso com a opção de linha de comando -l. Em muitos dos nossos testes com o Raider tudo correu bem, mas uma vez que o programa se recusou a adicionar o disco restante para a nova array do RAID na Listagem 2: Raider LVM # df h File system Size Used Avail Use% Mounted on /dev/mapper/volgroup raider lv_root 50G 1,9G 45G 4% / tmpfs 3,9G 0 3,9G 0% /dev/shm /dev/md0 485M 61M 399M 14% /boot /dev/mapper/volgroup raider lv_home 235G 188M 222G 1% /home segunda fase, ele adicionou um comentário bastante inútil: Failed to add a device in /dev/md1 array O arquivo de log listado por raiderl também não fornece detalhes úteis. Para mais informações, precisamos olhar para outros arquivos de log em /var/log/raider. Por exemplo, /var/log/raider/raider_debug_ STEP3_.log registra meticulosamente cada comando chamado pelo Raider enquanto trabalha. Por fim, encontramos esta linha: mdadm: Cannot open /dev/sdd1: Device or resource busy Normalmente não é fácil encontrar o motivo para tal mensagem de erro no Linux. O comando mount indicou que a partição não foi montada, e lsof não revelou nada de novo. Finalmente, swapon -s mostrou que o sistema estava usando o disco rígido inteiro para swap por alguma razão estranha (figura 4). Desligar o swap com o comando swapoff/ dev/sdd finalmente resolveu o problema. Figura 4 A última unidade rígido foi erroneamente utilizada como espaço de swap. A desativação manual e adição do disco para o sistema RAID resolveu o problema. 56 www.admin-magazine.com.br

Em seguida, podemos adicionar o dispositivo sdd1 ao array da RAID 1 (md0). Uma rápida olhada em /proc/mdstat mostrou que o RAID de inicialização sincronizou em aproximadamente um minuto. A segunda partição pertencente ao RAID com o grupo de volume foi adicionada utilizando o seguinte comando: mdadm --add /dev/md1 /dev/sdd2 A recompilação automática subsequente demorou então cerca de uma hora e meia. O Raider armazena todas as variáveis e dados de trabalho no diretório /var/lib/raider e subdiretórios, como o DB, onde administradores experientes podem intervir manualmente, se necessário. Este exemplo já mostra como substituir discos falhos no RAID, enquanto o mesmo estiver em operação isto é, desde que possua o número mínimo de discos. Se um disco falhar, o subsistema RAID automaticamente o remove da array. No entanto, é preciso monitorar o RAID com uma ferramenta de monitoramento como o Nagios para detectar tal falha; caso contrário, o RAID continuará a executar com um disco falho em uma configuração mínima, e o usuário pode aguardar por um desastre iminente. Se o usuário quiser substituir um disco rígido antes de ocorrer uma perda total por exemplo, por conta de erros relatados pelo SMART poderá simular a falha de um componente RAID, e mdadm fornece um comando para isso: O RAID agora informa que o disco está com defeito. O comando que permite ao usuário retirá-lo da array é: mdadm --remove Depois de instalar um novo disco, podemos usar --add de novo, como mostrado anteriormente, e a recompilação começará automaticamente. A tabela 2 apresenta um resumo dos comandos mdadm mais importantes. Feito à mão Resumidamente, aqui está o procedimento para criação de uma nova RAID que pode ser utilizada, por exemplo, para armazenar dados do usuário em um servidor de arquivos sem afetar a partição de root. Para começar, defina as partições apropriadas, o que otimiza a abrangência de todo o disco e será do mesmo tamanho em todos eles. Nos vários níveis da RAID, partições de tamanhos diferentes também podem funcionar, mas a array usaria, então, o menor denominador comum, o que desperdiçaria espaço. Discos do mesmo tipo simplificam a configuração. Por outro lado, administradores experientes também recomendam usar discos de diferentes fornecedores, ou em série, para minimizar a probabilidade de que todos os discos possam sofrer do mesmo erro de fábrica. Podemos usar as ferramentas de particionamento (fdisk, sfdisk etc.) para definir o tipo de partição para Linux raid autodetect, que possui um código de FD. É possível transferir os dados da partição de um disco usando sfdisk: SOLUÇÕES mdadm --fail /dev/md0 /dev/sda1 sfdisk -d /dev/sda sfdisk /dev/sdd Comando Função mdadm --fail RAID device partition mdadm --add RAID device partition mdadm --remove RAID device partition mdadm --stop RAID device mdadm --query device mdadmin --examine device mdadm -D RAID-device Muda uma partição para o estado fail Adiciona uma partição ao RAID Remove uma partição Interrompe o RAID Informação no dispositivo ou no RAID Mais detalhes Mostra informações detalhadas Tabela 2 Comandos RAID. Admin Magazine #9 Março de 2013 57

Para criar o RAID, utilize o comando mdadm --create com o nível de RAID desejado e as partições necessárias: mdadm --create /dev/md0 --level=5 --raid --devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 Alternativamente, o usuário pode criar um RAID com menos discos do que o necessário, se reduzir --devices adequadamente ou especificar a falta, ao invés de uma partição. Depois de atingir o número predefinido de dispositivos, o subsistema RAID sincroniza a nova array, mesmo que o usuário ainda não tenha memorizado todos os dados sobre ela. Agora podemos criar um sistema de arquivos ou volumes lógicos. Para mais informações sobre como criar volumes lógicos, consulte o artigo Fundamentos LVM por Charly Kuhnast [3]. Conclusão O Raider ajuda administradores a converter partições Linux convencionais para sistemas RAID. Ele suporta um elevado número de sistemas de arquivos RAID nível 1, 4, 5, 6 e 10 bem como as tabelas de partição nos formatos MBR e GPT. A ferramenta é confiável e pede ao usuário que faça o swap de dois discos para garantir que um sistema viável seja criado e permitir o restabelecimento em segurança do estado inicial. Mais informações [1] Raider: http://raider.sourceforge.net/ [2] Paridade tripla do RAID Z por Adam Leventhal: https://blogs.oracle.com/ahl/entry/triple_parity_raid_z [3] O básico do LVM, por Charly Kühnast, ADMIN 7 Gostou deste artigo? Veja este artigo em nosso site: http://www.lnm.com.br/admin/ article/8429 Queremos ouvir sua opinião. Fale conosco em: cartas@admin-magazine.com.br 58 www.admin-magazine.com.br