Red Hat Training

A Red Hat training course is available for RHEL 8

4.11. Configuración del almacenamiento en bloque compartido

Esta sección proporciona un procedimiento opcional para configurar el almacenamiento de bloques compartido para un cluster de Red Hat High Availability con volúmenes de Amazon EBS Multi-Attach. El procedimiento supone tres instancias (un clúster de tres nodos) con un disco compartido de 1 TB.

Procedimiento

  1. Crea un volumen de bloques compartido con el comando AWS create-volume.

    $ aws ec2 create-volume --availability-zone <availability_zone> --no-encrypted --size 1024 --volume-type io1 --iops 51200 --multi-attach-enabled

    Por ejemplo, el siguiente comando crea un volumen en la zona de disponibilidad 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"
    }
    Nota

    Necesita el VolumeId en el siguiente paso.

  2. Para cada instancia de su clúster, adjunte un volumen de bloques compartido utilizando el comando AWS attach-volume. Utilice su <instance_id> y <volume_id>.

    $ aws ec2 attach-volume --device /dev/xvdd --instance-id <instance_id> --volume-id <volume_id>

    Por ejemplo, el siguiente comando adjunta un volumen de bloques compartido vol-042a5652867304f09 a 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"
    }

Pasos de verificación

  1. Para cada instancia de su cluster, verifique que el dispositivo de bloque está disponible utilizando el comando ssh con su instancia <ip_address>.

    # ssh <ip_address> "hostname ; lsblk -d | grep ' 1T '"

    Por ejemplo, el siguiente comando enumera los detalles, incluyendo el nombre de host y el dispositivo de bloque para la instancia IP 198.51.100.3.

    # ssh 198.51.100.3 "hostname ; lsblk -d | grep ' 1T '"
    
    nodea
    nvme2n1 259:1    0   1T  0 disk
  2. Utilice el comando ssh para verificar que cada instancia de su clúster utiliza el mismo disco compartido.

    # ssh <ip_address> "hostname ; lsblk -d | grep ' 1T ' | awk '{print \$1}' | xargs -i udevadm info --query=all --name=/dev/{} | grep '^E: ID_SERIAL='"

    Por ejemplo, el siguiente comando enumera los detalles, incluyendo el nombre del host y el ID del volumen de disco compartido para la dirección IP de la instancia 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

Después de verificar que el disco compartido está conectado a cada instancia, puede configurar el almacenamiento resistente para el cluster. Para obtener información sobre la configuración del almacenamiento resistente para un cluster de Red Hat High Availability, consulte Configuración de un sistema de archivos GFS2 en un cluster. Para obtener información general sobre el sistema de archivos GFS2, consulte Configuración de sistemas de archivos GFS2.