Configuração do Amazon EBS e RAID
Com o Amazon EBS, é possível usar qualquer uma das configurações padrão RAID que é possível usar com um servidor bare metal tradicional, desde que essa configuração RAID específica tenha suporte no sistema operacional para sua instância. A razão disso é que todo o RAID é realizado no nível do software.
Os dados dos volumes do Amazon EBS são replicados em vários servidores em uma zona de disponibilidade para evitar perdas de dados causadas por falha em qualquer componente único. Essa replicação torna os volumes do Amazon EBS 10 vezes mais confiável do que as unidades de disco típicas. Para obter mais informações, consulte Disponibilidade e durabilidade do Amazon EBS
Conteúdo
Opções de configuração de RAID
Criar uma matriz de RAID 0 permite atingir um nível de performance para um sistema de arquivos maior do que é possível provisionar em um único volume Amazon EBS. Use RAID 0 quando a performance de E/S for da máxima importância. Com o RAID 0, a E/S é distribuída entre os volumes em uma distribuição. Se você adicionar um volume, obterá a adição direta de throughput e IOPS. No entanto, lembre-se de que a performance da distribuição é limitada ao volume de pior performance do conjunto e que a perda de um único volume do conjunto resulta em perda de dados completa para a matriz.
O tamanho resultante de uma matriz de RAID 0 é a soma dos tamanhos dos volumes nela, e a largura de banda é a soma da largura de banda dos volumes nela. Por exemplo, dois volumes io1
de 500 GiB, com 4.000 IOPS provisionadas cada, criarão uma matriz RAID 0 de 1.000 GiB com uma largura de banda disponível de 8.000 IOPS e 1.000 MiB/s de throughput.
Importante
O RAID 5 e o RAID 6 não são recomendados para o Amazon EBS porque as operações de gravação de paridade desses modos de RAID consomem um pouco do IOPS disponível para os seus volumes. Dependendo da configuração de sua matriz de RAID, esses modos de RAID fornecem de 20 a 30% menos IOPS útil do que uma configuração de RAID 0. O maior custo também é um fator nesses modos de RAID; ao usar tamanhos e velocidades idênticos de volume, uma matriz de RAID 0 de 2 volumes pode superar uma matriz de RAID 6 de 4 volumes que custa duas vezes mais.
Também não se recomenda o uso do RAID 1 com o Amazon EBS. O RAID 1 exige mais largura de banda do Amazon EC2 para o Amazon EBS do que nas configurações sem RAID, pois os dados são gravados em vários volumes simultaneamente. Além disso, o RAID 1 não fornece nenhuma melhoria na performance de gravação.
Criar uma matriz RAID 0
Use o procedimento a seguir para criar a matriz RAID 0.
Considerações
-
Antes de executar esse procedimento, é necessário decidir o tamanho que sua matriz RAID 0 deve ter e quantas IOPS você deseja provisionar.
-
Crie volumes com valores de performance de IOPS e tamanho idênticos para sua matriz. Certifique-se de não criar uma matriz que exceda a largura de banda disponível de sua instância do EC2.
-
É necessário evitar inicializar a partir de um volume RAID. Se uma falha em um dos dispositivos ocorrer, talvez você não consiga iniciar o sistema operacional.
Para criar uma matriz de RAID 0 no Linux
-
Crie os volumes do Amazon EBS para sua matriz. Para ter mais informações, consulte Crie um volume do Amazon EBS..
-
Anexe os volumes do Amazon EBS à instância na qual você deseja hospedar a matriz. Para ter mais informações, consulte Anexar um volume do Amazon EBS a uma instância do Amazon EC2.
-
Use o comando mdadm para criar um dispositivo RAID lógico dos volumes do Amazon EBS anexados recentemente. Substitua o número de volumes em sua matriz por
number_of_volumes
e os nomes dos dispositivos para cada volume na matriz (como/dev/xvdf
) pordevice_name
. Também é possível substituirMY_RAID
pelo seu próprio nome exclusivo para a matriz.nota
É possível relacionar os dispositivos em sua instância com o comando lsblk para encontrar os nomes dos dispositivos.
Para criar uma matriz de RAID 0, execute o seguinte comando (observe a opção
--level=0
para distribuir a matriz):[ec2-user ~]$
sudo mdadm --create --verbose /dev/md0 --level=0 --name=
MY_RAID
--raid-devices=number_of_volumes
device_name1 device_name2
dica
Se você receber o erro
mdadm: command not found
, use o seguinte comando para instalar o mdadm:sudo yum install mdadm
. -
Reserve tempo para a matriz de RAID ser inicializada e sincronizada. É possível acompanhar o progresso dessas operações com o seguinte comando:
[ec2-user ~]$
sudo cat /proc/mdstat
A seguir está um exemplo de saída:
Personalities : [raid0] md0 : active raid0 xvdc[1] xvdb[0] 41910272 blocks super 1.2 512k chunks unused devices: <none>
Em geral, é possível exibir informações detalhadas sobre sua matriz de RAID com o seguinte comando:
[ec2-user ~]$
sudo mdadm --detail /dev/md0
A seguir está um exemplo de saída:
/dev/md0: Version : 1.2 Creation Time : Wed May 19 11:12:56 2021 Raid Level : raid0 Array Size : 41910272 (39.97 GiB 42.92 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Wed May 19 11:12:56 2021 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Chunk Size : 512K Consistency Policy : none Name : MY_RAID UUID : 646aa723:db31bbc7:13c43daf:d5c51e0c Events : 0 Number Major Minor RaidDevice State 0 202 16 0 active sync /dev/sdb 1 202 32 1 active sync /dev/sdc
-
Crie um sistema de arquivos em sua matriz de RAID e forneça a esse sistema de arquivos uma identificação para usar quando ao montá-lo posteriormente. Por exemplo, para criar um sistema de arquivos ext4 com a identificação
MY_RAID
, execute o seguinte comando:[ec2-user ~]$
sudo mkfs.ext4 -L
MY_RAID
/dev/md0Dependendo dos requisitos da aplicação ou das limitações do sistema operacional, é possível usar um tipo diferente de sistema de arquivos, como ext3 ou XFS (consulte a documentação do sistema de arquivos para saber o comando de criação de sistema de arquivos correspondente).
-
Para garantir que a matriz de RAID seja remontada automaticamente na inicialização, crie um arquivo de configuração para conter informações de RAID:
[ec2-user ~]$
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf
nota
Se você estiver usando uma distribuição do Linux que não seja o Amazon Linux, talvez seja necessário modificar esse comando. Por exemplo, talvez seja necessário colocar o arquivo em outro local, ou talvez seja necessário adicionar o parâmetro
--examine
. Para obter mais informações, execute man mdadm.conf em sua instância do Linux. -
Crie uma nova imagem de ramdisk para pré-carregar corretamente os módulos de dispositivo de bloco para sua nova configuração de RAID:
[ec2-user ~]$
sudo dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
-
Crie um ponto de montagem para sua matriz RAID.
[ec2-user ~]$
sudo mkdir -p /mnt/
raid
-
Finalmente, monte o dispositivo RAID no ponto de montagem que você criou:
[ec2-user ~]$
sudo mount LABEL=
MY_RAID
/mnt/raid
O dispositivo RAID agora está pronto para uso.
-
(Opcional) Para montar esse volume do Amazon EBS em cada reinicialização do sistema, adicione uma entrada para o dispositivo ao arquivo
/etc/fstab
.-
Crie um backup do seu arquivo
/etc/fstab
para usar se você destruir ou excluir acidentalmente esse arquivo quando for editar.[ec2-user ~]$
sudo cp /etc/fstab /etc/fstab.orig
-
Abra o arquivo
/etc/fstab
usando seu editor de texto favorito, como nano ou vim. -
Comente todas as linhas que começam com "
UUID=
" e, no final do arquivo, adicione uma nova linha para o volume de RAID usando o seguinte formato:device_label
mount_point
file_system_type
fs_mntops
fs_freq
fs_passno
Os três últimos campos dessa linha são as opções de montagem do sistema de arquivos, a frequência de despejo do sistema de arquivos e a ordem das verificações do sistema de arquivos feitas no momento da inicialização. Se você não souber quais valores devem ser, use os valores no exemplo abaixo (
defaults,nofail 0 2)
. Para obter mais informações sobre/etc/fstab
, consulte a página fstab do manual (inserindo man fstab na linha de comando). Por exemplo, para montar o sistema de arquivos ext4 no dispositivo com a identificação MY_RAID no ponto de montagem/mnt/raid
, adicione a seguinte entrada a/etc/fstab
.nota
Se você pretende inicializar sua instância sem esse volume anexado (por exemplo, para que esse volume possa ser movido entre instâncias diferentes), adicione a opção de montagem
nofail
que permite à instância ser inicializada mesmo se houver erros na montagem do volume. Os derivados de Debian, como o Ubuntu, também devem adicionar a opção de montagemnobootwait
.LABEL=MY_RAID /mnt/raid ext4 defaults,nofail 0 2
-
Depois de adicionar a nova entrada a
/etc/fstab
, você precisa verificar se a sua entrada funciona. Execute o comando sudo mount -a para montar todos os sistemas de arquivos em/etc/fstab
.[ec2-user ~]$
sudo mount -a
Se o comando anterior não produzir um erro, o arquivo
/etc/fstab
será válido e o sistema de arquivos será montado automaticamente na próxima inicialização. Se o comando produzir erros, examine-os e tente corrigir seu/etc/fstab
.Atenção
Erros no arquivo
/etc/fstab
podem impedir a inicialização de um sistema. Não encerre um sistema que tenha erros no arquivo/etc/fstab
. -
(Opcional) Se você não souber corrigir os erros no
/etc/fstab
, sempre poderá restaurar seu arquivo/etc/fstab
de backup com o seguinte comando.[ec2-user ~]$
sudo mv /etc/fstab.orig /etc/fstab
-
Para criar uma matriz de RAID 0 no Windows
-
Crie os volumes do Amazon EBS para sua matriz. Para ter mais informações, consulte Crie um volume do Amazon EBS..
-
Anexe os volumes do Amazon EBS à instância na qual você deseja hospedar a matriz. Para ter mais informações, consulte Anexar um volume do Amazon EBS a uma instância do Amazon EC2.
-
Conecte-se à sua instância do Windows. Para obter mais informações, consulte Conectar-se à sua instância do Windows.
-
Abra um prompt de comando e digite o comando diskpart.
diskpart
Microsoft DiskPart version 6.1.7601 Copyright (C) 1999-2008 Microsoft Corporation. On computer: WIN-BM6QPPL51CO
-
No prompt
DISKPART
, liste os discos disponíveis com o seguinte comando.DISKPART>
list disk
Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 30 GB 0 B Disk 1 Online 8 GB 0 B Disk 2 Online 8 GB 0 B
Identifique os discos que deseja usar em sua matriz e anote os números dos discos.
-
Cada disco que deseja usar em sua matriz deve ser um disco dinâmico online que não contenha nenhum volume existente. Use as seguintes etapas para converter discos básicos em discos dinâmicos e excluir todos os volumes existentes.
-
Selecione um disco que deseja usar em sua matriz com o seguinte comando, substituindo
n
pelo número do disco.DISKPART>
select disk
n
Disk
n
is now the selected disk. -
Se o disco selecionado estiver listado como
Offline
, deixe-o online executando o comando online disk. -
Se o disco selecionado não tiver um asterisco na coluna
Dyn
na saída do comando list disk anterior, você precisará convertê-lo em um disco dinâmico.DISKPART>
convert dynamic
nota
Se você receber um erro de que o disco é protegido contra gravação, desmarque o sinalizador de somente leitura no comando ATTRIBUTE DISK CLEAR READONLY e tente novamente a conversão do disco dinâmico.
-
Use o comando detail disk para verificar se há volumes existentes no disco selecionado.
DISKPART>
detail disk
XENSRC PVDISK SCSI Disk Device Disk ID: 2D8BF659 Type : SCSI Status : Online Path : 0 Target : 1 LUN ID : 0 Location Path : PCIROOT(0)#PCI(0300)#SCSI(P00T01L00) Current Read-only State : No Read-only : No Boot Disk : No Pagefile Disk : No Hibernation File Disk : No Crashdump Disk : No Clustered Disk : No Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 2 D NEW VOLUME FAT32 Simple 8189 MB Healthy
Anote todos os números de volumes no disco. Neste exemplo, o número do volume é 2. Se não houver volumes, ignore a próxima etapa.
-
(Necessário somente se foram encontrados volumes na etapa anterior) Selecione e exclua todos os volumes existentes no disco que você identificou na etapa anterior.
Atenção
Isso destrói todos os dados existentes no volume.
-
Selecione o volume, substituindo
n
pelo número do volume.DISKPART>
select volume
n
Volume
n
is the selected volume. -
Exclua o volume.
DISKPART>
delete volume
DiskPart successfully deleted the volume.
-
Repita essas subetapas para cada volume que você precisa excluir no disco selecionado.
-
-
Repita Passo 6 para cada disco que deseja usar em sua matriz.
-
-
Verifique se os discos que você deseja usar agora são dinâmicos. Nesse caso, estamos usando discos 1 e 2 para o volume RAID.
DISKPART>
list disk
Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 30 GB 0 B Disk 1 Online 8 GB 0 B * Disk 2 Online 8 GB 0 B *
-
Crie a matriz de RAID. No Windows, um volume de RAID 0 é referido como um volume distribuído.
Para criar uma matriz de volume distribuído nos discos 1 e 2, use o seguinte comando (observe a opção
stripe
para distribuir a matriz):DISKPART>
create volume stripe disk=1,2
DiskPart successfully created the volume.
-
Verifique seu novo volume.
DISKPART>
list volume
DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 C NTFS Partition 29 GB Healthy System Volume 1 RAW Stripe 15 GB Healthy
Observe que a coluna
Type
agora indica que o Volume 1 é um volumestripe
. -
Selecione e formate seu volume para que você possa começar a usá-lo.
-
Selecione o volume que você deseja formatar, substituindo
n
pelo número do volume.DISKPART>
select volume
n
Volume
n
is the selected volume. -
Formate o volume.
nota
Para executar uma formatação completa, omita a opção
quick
.DISKPART>
format quick recommended label="
My new volume
"100 percent completed DiskPart successfully formatted the volume.
-
Atribua uma letra de unidade disponível ao seu volume.
DISKPART>
assign letter
f
DiskPart successfully assigned the drive letter or mount point.
Seu novo volume agora está pronto para uso.
-
Criar snapshots de volumes em uma matriz RAID
Se você deseja fazer backup dos dados nos volumes do EBS em um array RAID usando snapshots, verifique se os snapshots estão consistentes. Isso ocorre porque os snapshots desses volumes são criados de maneira independente. Restaurar os volumes do EBS em uma matriz RAID de snapshots que não estão sincronizados prejudicaria a integridade da matriz.
Para criar um conjunto consistente de snapshots para a matriz RAID, use snapshots de vários volumes do EBS. Com os snapshots de vários volumes, é possível tirar snapshots de momentos específicos, coordenados por dados e consistentes com falhas em vários volumes do EBS associados a uma instância do EC2. Não é necessário interromper a instância para coordenar entre volumes a fim de garantir consistência, pois os snapshots são tirados automaticamente em vários volumes do EBS. Para obter mais informações, consulte as etapas para criar snapshots de vários volumes em Criar snapshots do Amazon EBS.