UUID 할당 이해

UUID 할당 이해

UUID(범용 고유 식별자)은 블록(저장) 장치를 식별하는 데 사용되는 128비트 코드입니다. 첫째, 모든 UUID가 여기에 사용됩니까?

장치는 UUID를 어떻게 얻나요?

혹시 바뀌나요? 예를 들어, 스타트업마다? 새로운 OS가 설치되면?

UUID는 어떻게 생성되나요? 무작위인가요?

대부분의 컴퓨터에는 10개 이상의 저장 장치가 없습니다. 왜 그렇게 많은 다른 이름이 필요한가요?

답변1

개념은 다음에서 설명됩니다.RFC 4122생성을 위한 다양한 알고리즘을 정의합니다.UUID에스. 변종 4는 난수를 사용하며 가장 일반적입니다.

UUID는 다양한 시나리오에서 사용되며 몇 가지 예는 다음과 같습니다.

  • 파티션과 파일 시스템에 레이블을 지정하는 것은 Linux에서 가장 일반적으로 사용됩니다.
  • Network Manager는 이를 사용하여 네트워크 장치 및 연결을 식별합니다.
  • Virtual Box 및 Qemu-KVM과 같은 하이퍼바이저는 이를 사용하여 VM을 식별합니다.
  • Microsoft Windows 내에서 다음과 같이 사용됩니다.GUID에스
  • 그들은 내에서 고유성을 위해 사용됩니다.데이터베이스
  • 그들은에서 사용됩니다소프트웨어 개발

Linux 내에서 모든 배포판에는 UUID를 생성하는 명령이 util-linux포함된 패키지가 함께 제공됩니다. 이는 기본적으로 임의의 UUID를 생성하거나 엔트로피가 충분하지 않은 경우 시간 기반을 생성하는 uuidgen프런트 엔드입니다 .libuuid

파티션이나 파일 시스템을 생성하는 데 사용하는 유틸리티는 UUID를 생성하며, 이는 다시 생성하거나 UUID를 명시적으로 변경할 때까지 해당 파티션/파일 시스템에 유지됩니다(예: tune2fs)

UUID는 파일 시스템 및 파티션에 일관된 이름(매우 긴 이름임에도 불구하고)을 제공하기 위해 사용됩니다. 이렇게 하면 두 개의 HDD 시스템에 있는 UEFI 펌웨어의 BIOS가 하드 디스크를 나열하여 시스템 디스크가 /dev/sda한 번의 부팅에 할당되고 다음 부팅에 할당되는 시나리오를 방지합니다 /deb/sdb(두 번째 부팅에서 첫 번째 디스크가 시작하는 것이 더 느릴 수도 있음).

전통적인 명명 방법을 사용하면 /etc/fstab시스템이 마운트할 파티션에 대해 잘못된 디스크를 찾게 되므로 파일에 혼란이 발생할 수 있습니다. 예를 들어, 내 스왑 항목은 다음과 같습니다.

/dev/sda4               none            swap            defaults        0 0

부팅 시 디스크가 다르게 할당된 경우 내 시스템은 swap비시스템 디스크에서 네 번째 유형의 파티션을 찾지 못할 것입니다. 요점) 그리고 내 스왑은 실패할 것입니다.

UUID로 레이블을 지정하고 이를 사용하면 /etc/fstab항상 올바른 파일 시스템이 마운트된다는 것이 보장됩니다. 예를 들어:

UUID=d8ab8967-f2de-4c76-902f-d8d9707c399e /media/files  ext4    defaults 0 0

/media/files부팅 시 BIOS(또는 UEFI 펌웨어)가 레이블을 지정하는 순서에 관계없이 항상 해당 UUID를 사용하여 파티션을 마운트합니다 .

관련 정보