디스크의 UUID 변경을 유발하는 요인은 무엇입니까?

디스크의 UUID 변경을 유발하는 요인은 무엇입니까?

동일한 산업용 PC 모델에서 기본 SSD의 UUID가 변경된 것을 보았습니다. 이 2개의 IPC는 유사하지만 다른 2개의 Linux 디스크 이미지에서 복구되었습니다. 질문은 제목 그대로 입니다. 메인 디스크 UUID /dev/sda2가 다릅니다.

  • 둘 다 우분투 16.04입니다.
  • Linux 디스크 이미지 A: 커널 4.15.0-65. UUID bc96e844-27c1-4ccb-af66-053cce7cecdb. 사용자 m과 n이 존재합니다. 사용자 n의 홈 폴더가 암호화되었습니다.
  • Linux 디스크 이미지 B: 커널 4.15.0-96 UUID 19e10365-d0b9-44c1-ac5d-a7acd5941bae. 사용자 m만 존재합니다. 일부 패키지는 최신입니다.

그런데 우리는 디스크 이미지 A로 많은 IPC를 구축했습니다. 모든 IPC를 확인하지는 않았지만 무작위로 몇 개만 확인했는데 모두 동일한 UUID가 표시되었습니다.

이미지 A에서 복구된 한 호스트에서 /var/log/syslog다음 UUID를 출력합니다.

Apr 16 13:59:03 poodle_noodle kernel: [    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-58-generic root=UUID=bc96e844-27c1-4ccb-af66-053cce7cecdb ro quiet splash vt.handoff=7
:

(실제로 위 로그에서 몇 가지 실험을 했기 때문에 커널 버전은 4.15.0-58이고, 4.15.0-65도 아닌데 UUID는 동일합니다. 그래서 이 커널 버전은 제외합니다)

미러 B에서 복원된 호스트에서:

$ sudo blkid
:
/dev/sda2: UUID="19e10365-d0b9-44c1-ac5d-a7acd5941bae" TYPE="ext4" PARTUUID="d1cf8631-f3f7-4b8d-baba-86c6fcebe232"
:

답변1

고쳐 쓰다:

이것이 일어난 일입니다. 이미지 자체는 파티션과 파일 시스템이 포함된 원본 디스크의 복사본입니다. 그러면 디스크 레이아웃, 파일 시스템, 콘텐츠 등이 이미징 중인 머신의 디스크에 기록됩니다. 어떤 시점에서 누군가 mkfs를 실행하여 이미지에 사용되는 파일 시스템을 생성했고 UUID가 생성되었습니다. 이러한 이미지는 서로 다른 파일 시스템의 콘텐츠에서 생성되므로 서로 다른 UUID를 갖습니다. 이는 일반적으로 새로 설치를 수행한 다음 다시 분할/재포맷하여 이미지를 빌드하므로 의미가 있습니다.

이는 이미지 기반 설치에서만 발생합니다. 일반(install-root/debootstrap/pacstrap/etc/) 설치를 수행할 때 일반적으로 이전 콘텐츠를 제거하기 위해 다시 포맷하여 새 파일 시스템의 새 UUID를 만듭니다.

오래된:

문제를 100% 이해하지는 못하지만 분석 방법은 다음과 같습니다. 동일한 모델의 PC 두 대가 있는데 "동일한" 파티션의 UUID가 왜 다른가요?

UUID는 Universally Unique Identifier의 약자입니다. 주석에 적혀 있듯이 그들의 디자인은 보편적으로 독특합니다. UUID는 생성 시 무작위로 생성되며 동일하게 만들려면 일종의 긍정적인 조치를 취해야 합니다.

UUID가 변경되는 원인은 무엇입니까? 예를 들어 파일 시스템 형식으로 인해 파일이 변경될 수 있습니다.

그렇습니다. 파티션에는 서로 다른 UUID가 있어야 합니다. 이것이 바로 우리가 예상하는 것입니다.

답변2

다음 스레드를 확인하셨나요?

https://serverfault.com/questions/3132/how-do-i-find-the-uuid-of-a-filesystem 그리고

파일 시스템 UUID(2개의 동일한 UUID)를 변경하는 방법은 무엇입니까?.

슈퍼블록은 이 32비트 16진수 ID를 저장하므로 슈퍼블록이 손상되면 uuid가 변경될 수 있습니다.

답변3

위의 OP에서 언급한 사용자 정의 Linux 디스크 이미지도 사용하지 않고 기본 Ubuntu 16.04.06 ISO를 사용하여 간단한 테스트를 수행했습니다.

TBD, 구성이 동일하더라도 UUID가 계속 변경되는 것을 확인했습니다. 따라서 UUID 변경을 트리거하는 것은 Linux 운영 체제의 매개변수가 아닙니다.

관찰 결과, @Livinglifeback이 후속 댓글에서 말한 내용https://unix.stackexchange.com/a/580848/14968내가 본 것에서 합리적인 설명처럼 보입니다.

이미지는 파일 시스템에서 가져오며 포맷 시 UUID가 생성됩니다. 이미지에서 디스크를 복제하면 디스크는 복제된 이미지와 동일한 UUID를 갖게 됩니다. 그러나 이미지가 서로 동일한 UUID를 가질 이유는 없습니다.

내가 한 테스트:

동일한 컴퓨터를 사용하여 .iso에서 Ubuntu 16.04.06을 설치합니다. 그런 다음 sudo blkidUUID를 살펴보세요 /dev/sda2. 각 설치에 대해 정확히 동일한 구성을 선택하십시오.

4번 중 4번은 다른 UUID를 보았습니다.

관련 정보