4.11. Configuração de armazenamento em bloco compartilhado
Esta seção fornece um procedimento opcional para configurar o armazenamento em bloco compartilhado para um cluster Red Hat High Availability com volumes Amazon EBS Multi-Attach. O procedimento assume três instâncias (um cluster de três nós) com um disco compartilhado de 1 TB.
Procedimento
Criar um volume de blocos compartilhados usando o comando create-volume AWS.
$ aws ec2 criar-volume --disponibilidade-zona<disponibilidade_zona> -- sem encriptação -tamanho 1024 --volume tipo io1 --iops 51200 --multi-attach
Por exemplo, o seguinte comando cria um volume na zona de disponibilidade
us-east-1a
.$ aws ec2 create-volume --availability-zone us-east-1a --no-encrypted --size 1024 --volume-type io1 --iops 51200 --multi-attach-enabled { "AvailabilityZone": "us-east-1a", "CreateTime": "2020-08-27T19:16:42.000Z", "Encrypted": false, "Size": 1024, "SnapshotId": "", "State": "creating", "VolumeId": "vol-042a5652867304f09", "Iops": 51200, "Tags": [ ], "VolumeType": "io1" }
NotaVocê precisa do
VolumeId
na próxima etapa.Para cada instância em seu cluster, anexe um volume de bloco compartilhado usando o volume de bloco de comando AWS. Use seu
<instance_id>
e<volume_id>
.$ aws ec2 attach-volume --device /dev/xvdd --instance-id <instance_id> --volume-id <volume_id>
Por exemplo, o seguinte comando anexa um volume de blocos compartilhados
vol-042a5652867304f09
ainstance i-0eb803361c2c887f2
.$ aws ec2 attach-volume --device /dev/xvdd --instance-id i-0eb803361c2c887f2 --volume-id vol-042a5652867304f09 { "AttachTime": "2020-08-27T19:26:16.086Z", "Device": "/dev/xvdd", "InstanceId": "i-0eb803361c2c887f2", "State": "attaching", "VolumeId": "vol-042a5652867304f09" }
Etapas de verificação
Para cada instância em seu agrupamento, verifique se o dispositivo de bloco está disponível usando o comando
ssh
com sua instância<ip_address>
.# ssh <ip_address>"hostname ; lsblk -d | grep ' 1T '\i
Por exemplo, o seguinte comando lista detalhes incluindo o nome do host e o dispositivo de bloco para o IP por exemplo
198.51.100.3
.# ssh 198.51.100.3 "hostname ; lsblk -d | grep ' 1T '" nodea nvme2n1 259:1 0 1T 0 disk
Use o comando
ssh
para verificar se cada instância em seu cluster usa o mesmo disco compartilhado.# ssh <ip_address>"hostname ; lsblk -d | grep ' 1T ' | awk '{print \\i1}' | xargs -i udevadm info --query=all --name=/dev/{} | grep '^E: ID_SERIAL='"
Por exemplo, o seguinte comando lista detalhes incluindo o nome do host e o ID do volume do disco compartilhado para o endereço IP por exemplo
198.51.100.3
.# ssh 198.51.100.3 "hostname ; lsblk -d | grep ' 1T ' | awk '{print \$1}' | xargs -i udevadm info --query=all --name=/dev/{} | grep '^E: ID_SERIAL='" nodea E: ID_SERIAL=Amazon Elastic Block Store_vol0fa5342e7aedf09f7
Após verificar que o disco compartilhado está anexado a cada instância, você pode configurar um armazenamento resiliente para o cluster. Para informações sobre como configurar o armazenamento resiliente para um cluster Red Hat High Availability, consulte Configurando um sistema de arquivos GFS2 em um cluster. Para informações gerais sobre o sistema de arquivos GFS2, veja Configurando os sistemas de arquivos GFS2.