본문 바로가기
공부/AWS

[AWS] EBS NVMe 볼륨 UUID 재설정

by haejang 2021. 7. 13.
728x90
728x90

 

문제 상황


AWS의 옛날 세대 인스턴스들(t2 등)은 EBS가 /dev/xvd* 형식으로 붙지만, 현재 세대 인스턴스들은 /dev/nvme*n1 형식으로 붙게 된다

 

xvd* 형식은 EBS 생성 시 부여하는 디바이스 이름에 맞게 순서가 새겨지므로, 마운트 시 디바이스 이름으로 매핑해줄 수 있다

 

그러나 nvme 형식은 순서가 제멋대로인데다가, 재부팅할때마다 순서가 바뀌므로 UUID를 가지고 마운트를 해줘야 한다

 

이 때 UUID는 네트워크 상에서 고유성을 보장하기 위한 범용고유식별자인데, 이미 UUID가 생성된 볼륨을 스냅샷을 뜨게 되면 해당 UUID 또한 그대로 가져가게 된다 (아래 그림 참조)

 

UUID가 같은 볼륨이 2개라 UUID로 마운트를 못시킴

 

마찬가지로 같은 AMI로 시작한 EC2들의 루트볼륨 UUID는 모두 다 같다

-> 특정 루트 볼륨 내용을 확인하려고 다른 서버에 붙여볼 때, 같은 AMI로 시작한 서버였으면 루트볼륨의 UUID가 충돌나서 부팅조차 제대로 이루어지지 않는다

 

해결책


출처 : https://serverfault.com/questions/296107/created-an-ebs-volume-from-a-snapshot-but-cant-mount-it

 

임시 해결책 (그냥 잠깐만 볼륨 붙였다 뗄 경우) - UUID 없이 볼륨 마운트

mount -o nouuid DEVICE MOUNT_POINT

# ex)
mount -o nouuid /dev/nvme2n1 /mount_point

 

계속 써야하는 경우 - UUID 재설정 (xfs 파일시스템인 경우)

xfs_admin -U generate DEVICE

# ex)
xfs_admin -U generate /dev/nvme2n1

 

+ ext 계열의 파일시스템은 tune2fs 커맨드를 사용하면 된다고 한다

 

 

 

728x90
728x90

댓글