Azure에서 Linux VM을 사용 중에 재부팅 시 데이터베이스가 실행되지 않는 이슈가 발생하였다.
서버 안에서 원인을 찾아보다 다음과 같은 현상을 발견하였다.
/etc/fstab에 데이터 디렉터리로 사용하는 /dev/sdc1이 /data로 마운트하도록 설정되어 있고
/data 디렉터리가 제대로 마운트 되지 않았고
디바이스 이름이 메인 디스크는 sdb, 임시 스토리지는 sdc, 데이터 디스크는 sda로 바뀌어 있었다.
Azure Linux VM의 디바이스 경로는 재부팅 시 일관성이 보장되지 않는다는 MS 공식 문서를 찾을 수 있었다.
재부팅을 할 때마다 수동 마운트를 할 수도 없는 노릇..
애초에 부팅 자체가 실패할 수도 있기 때문에 해결책이 필요했다.
/etc/fstab에 디바이스 이름이 아닌 UUID를 사용하여 디바이스 경로 일관성 문제를 해결하기로 하였다.
UUID (Universally Unique Identifier, 범용 고유 식별자)는 네트워크 상에서 고유성이 보장되는 ID를 만들기 위한 표준 규약이다.
blkid 명령어로 데이터 디렉터리로 사용하던 sdc1의 UUID를 확인
다시 마운트 후 디바이스가 문제없음을 확인하였고
이후 수차례 재부팅하여 디바이스 일관성으로 인한 문제가 발생하지 않음을 확인하였다.