Cloud

aws ec2 nvme disk 의 device 위치 변경을 고정 시키기 본문

리눅스

aws ec2 nvme disk 의 device 위치 변경을 고정 시키기

Firewall 2019. 3. 22. 11:21

기존의 디스크 타입 사용 시에는 (/dev/xvdf) 디바이스 위치가 변경되지 않았습니다. (백플레인이 변경되지 않는 한)

그러나 5세데 VM들이 nvme 디스크를 사용하면서 서버 재시작시에 /dev/ 위치가 변경되어 부팅이 되지 않는 현상이 발생하였습니다.

 

( 문제를 접한 계기는 기존에 환경설정 통일 문제로 디바이스를 기록해서 부팅하고 있었는데 EC2 일부가 부팅 되지 않아 임시 시스템에 문제가 발생한 root volume 을 연결하여 fstab 을 수정하였습니다. 생 고생. )

 

이를 해결하기 위해서는 두가지 옵션을 변경합니다.

1. fstab에 UUID를 사용합니다.

2. fstab에 nofail 옵션을 사용합니다.

 

AWS 의 문서에서는 UUID 를 사용할 것을 권하고 있으며, UUID 는 /dev/ 의 위치가 변경되더라도 유니크 값으로 변동되지 않고 변경된 디바이스를 매핑해 줍니다.

 

연결방법은 아래를 따라 합니다.

 

root 권한으로 lsblk 를 실행하여 디바이스 이름 확인

 

NAME        MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

nvme0n1     259:2    0  40G  0 disk 

└─nvme0n1p1 259:3    0  40G  0 part /

nvme1n1     259:0    0  60G  0 disk 

└─nvme1n1p1 259:1    0  60G  0 part /data

 

blkid 로 해당 디바이스의 UUID 확인

 

/dev/nvme1n1p1: UUID="60288eae-a67f-4a5b-af84-74a283111111" TYPE="ext4" 

/dev/nvme0n1p1: UUID="8c1540fa-e2b4-407d-bcd1-59848a111111" TYPE="xfs" 

/dev/nvme1n1: PTTYPE="dos" 

/dev/nvme0n1: PTTYPE="dos" 

 

/etc/fstab 을 열어 아래와 같은 포맷으로 수정하기 (설정 실패 시, 부팅 실패를 없애기 위해 nofail 사용)

 

UUID=8c1540fa-e2b4-407d-bcd1-59848a111111 /                       xfs     defaults        0 0

UUID=60288eae-a67f-4a5b-af84-74a283111111 /data                   ext4    defaults,nofail        0 0

 

Comments