4.11. 공유 블록 스토리지 구성
Amazon EBS(Elastic Block Storage) 다중 연결 볼륨을 사용하여 Red Hat High Availability 클러스터의 공유 블록 스토리지를 구성하려면 다음 절차를 사용하십시오. 이 절차는 선택 사항이며 아래 단계에서는 1TB 공유 디스크가 있는 세 개의 인스턴스(세 개의 노드 클러스터)를 가정합니다.
사전 요구 사항
- AWS Nitro System 기반 Amazon EC2 인스턴스를 사용해야 합니다.
절차
AWS 명령 create-volume 을 사용하여 공유 블록 볼륨을 생성합니다.
$ aws ec2 create-volume --availability-zone <availability_zone> --no-encrypted --size 1024 --volume-type io1 --iops 51200 --multi-attach-enabled
예를 들어 다음 명령은
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" }
참고다음 단계에서
VolumeId
가 필요합니다.클러스터의 각 인스턴스에 대해 AWS 명령 attach-volume 을 사용하여 공유 블록 볼륨을 연결합니다. <
instance_id> 및 &
lt;volume_id>를
사용합니다.$ aws ec2 attach-volume --device /dev/xvdd --instance-id <instance_id> --volume-id <volume_id>
예를 들어 다음 명령은 공유 블록 볼륨
vol-042a5652867304f09
를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" }
검증
클러스터의 각 인스턴스에 대해
ssh
명령을 <ip_address> 인스턴스와 함께 사용하여 블록 장치를 사용할 수 있는지 확인합니다
.# ssh <ip_address> "hostname ; lsblk -d | grep ' 1T '"
예를 들어 다음 명령은 인스턴스 IP
198.51.100.3
의 호스트 이름 및 블록 장치를 포함한 세부 정보를 나열합니다.# ssh 198.51.100.3 "hostname ; lsblk -d | grep ' 1T '" nodea nvme2n1 259:1 0 1T 0 disk
ssh
명령을 사용하여 클러스터의 각 인스턴스가 동일한 공유 디스크를 사용하는지 확인합니다.# ssh <ip_address> "hostname ; lsblk -d | grep ' 1T ' | awk '{print \$1}' | xargs -i udevadm info --query=all --name=/dev/{} | grep '^E: ID_SERIAL='"
예를 들어 다음 명령은 인스턴스 IP 주소
198.51.100.3
의 호스트 이름 및 공유 디스크 볼륨 ID를 포함한 세부 정보를 나열합니다.# 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