4.11. Configuration du stockage en bloc partagé
Pour configurer le stockage en bloc partagé pour un cluster Red Hat High Availability avec des volumes Amazon Elastic Block Storage (EBS) Multi-Attach, utilisez la procédure suivante. Notez que cette procédure est facultative et que les étapes ci-dessous supposent trois instances (un cluster à trois nœuds) avec un disque partagé de 1 To.
Conditions préalables
- Vous devez utiliser une instance Amazon EC2 basée sur AWS Nitro System.
Procédure
Créez un volume de blocs partagé à l'aide de la commande AWS create-volume.
$ aws ec2 create-volume --availability-zone <availability_zone> --no-encrypted --size 1024 --volume-type io1 --iops 51200 --multi-attach-enabled
Par exemple, la commande suivante crée un volume dans la zone de disponibilité
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" }
NoteVous aurez besoin du site
VolumeId
pour l'étape suivante.Pour chaque instance de votre cluster, attachez un volume de blocs partagé à l'aide de la commande AWS attach-volume. Utilisez vos
<instance_id>
et<volume_id>
.$ aws ec2 attach-volume --device /dev/xvdd --instance-id <instance_id> --volume-id <volume_id>
Par exemple, la commande suivante attache un volume de blocs partagés
vol-042a5652867304f09
àinstance 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" }
Vérification
Pour chaque instance de votre cluster, vérifiez que le périphérique de bloc est disponible en utilisant la commande
ssh
avec votre instance<ip_address>
.# ssh <ip_address> "hostname ; lsblk -d | grep ' 1T '"
Par exemple, la commande suivante répertorie les détails, y compris le nom d'hôte et le périphérique de bloc pour l'instance IP
198.51.100.3
.# ssh 198.51.100.3 "hostname ; lsblk -d | grep ' 1T '" nodea nvme2n1 259:1 0 1T 0 disk
Utilisez la commande
ssh
pour vérifier que chaque instance de votre cluster utilise le même disque partagé.# ssh <ip_address> "hostname ; lsblk -d | grep ' 1T ' | awk '{print \$1}' | xargs -i udevadm info --query=all --name=/dev/{} | grep '^E: ID_SERIAL='"
Par exemple, la commande suivante répertorie les détails, y compris le nom d'hôte et l'ID du volume de disque partagé pour l'adresse IP de l'instance
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
Ressources supplémentaires