Amazon에 두 개의 Linux 인스턴스가 있습니다. 그들은 모두 디스크 장치를 가지고 있습니다.
테스트를 위해 아래와 같이 인스턴스 하나(A)를 종료하고 해당 볼륨을 두 번째 인스턴스(B)에 연결했습니다 /dev/xvdf
.
이 서버에서는 (B)를 설치하여 사용할 수 있습니다(예: /mount/xvdf
.
이제 이상한 점은 이 서버를 다시 시작한다는 것입니다. (B): 때때로 서버가 부팅되고 볼륨이 /
, (B) 볼륨이 입니다 /mount/xvdf
.
가끔 (B)가 시작되고...내 (B) 굴림은 /
!
dmesg | grep xvd
이 이상한 상황의 결과는 다음과 같습니다.
[102029834.997373] blkfront: xvda1: barrier or flush: disabled; persistent grants: disabled; indirect descriptors: disabled;
[102029835.000238] blkfront: xvdf: barrier or flush: disabled; persistent grants: disabled; indirect descriptors: disabled;
[102029835.309885] EXT4-fs (xvdf): mounted filesystem with ordered data mode. Opts: (null)
[102029835.323719] EXT4-fs (xvdf): mounted filesystem with ordered data mode. Opts: (null)
[102029835.328251] dracut: Mounted root filesystem /dev/xvdf
[102029836.817661] EXT4-fs (xvdf): re-mounted. Opts: (null)
이것은 cat /etc/fstab
볼륨 (B)입니다... 다음과 같이 마운트됩니다 /
.
LABEL=/
/ ext4 defaults,relatime 1 1 tmpfs
/dev/shm tmpfs defaults 0 0 devpts
/dev/pts devpts gid=5,mode=620 0 0 sysfs
/sys sysfs defaults 0 0 proc
/proc proc defaults 0 0
/etc/fstab
"잘못된" 구문이 있어서 시스템이 사용할 마운트를 인식하지 못하는 것이 가능합니까 /
?
이 문제를 어떻게 해결하나요?
답변1
문제는 동일한 레이블을 가진 두 개의 볼륨이 있다는 것입니다. 따라서 initrd(귀하의 경우 dracut)에 의해 최종적으로 설치되는 것은 initrd 코드가 먼저 보는 것에 따라 달라집니다.
가능한 수정 방법에는 커널 명령줄의 레이블 대신 장치 이름을 사용하거나 시스템 중 하나에서 파티션 레이블을 변경하는 것이 포함됩니다.