UUID 할당 이해

UUID 할당 이해

UUID(보편적으로 고유한 식별자)은 블록(저장) 장치를 식별하는 데 사용되는 128비트 코드입니다. 첫째, 이것이 모든 UUID의 목적입니까?

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

바뀔까요? 예를 들어 시작할 때마다? 새 운영 체제를 설치할 때?

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

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

답변1

이 개념은 다음에 설명되어 있습니다.RFC 4122생성을 위한 다양한 알고리즘을 정의합니다.보편적으로 고유한 식별자에스. 변종 4는 난수를 사용하며 가장 일반적입니다.

UUID는 다양한 시나리오에서 사용됩니다. 다음은 몇 가지 예입니다.

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

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

파티션이나 파일 시스템을 만드는 데 사용되는 유틸리티는 다시 만들거나 UUID를 명시적으로 변경할 때까지(예: 다음을 tune2fs사용하여 ) 해당 파티션/파일 시스템에 남아 있는 UUID를 생성합니다.

UUID는 파일 시스템 및 파티션과 함께 사용되어 일관된(길긴 하지만) 이름을 제공합니다. 이렇게 하면 UEFI 펌웨어의 BIOS가 하드 드라이브를 나열하여 시스템 디스크가 /dev/sda한 번의 부팅에 할당되고 /deb/sdb다음 부팅에 할당되도록 하는 이중 드라이브 시스템의 상황을 방지합니다(두 번째 부팅에서는 첫 번째 디스크가 느리게 부팅될 수 있음).

전통적인 명명 방법을 사용하면 /etc/fstab시스템이 마운트할 파티션에 대해 잘못된 디스크를 찾게 되므로 파일에 큰 피해를 줄 수 있습니다. 예를 들어, 이것은 내 교환 항목입니다.

/dev/sda4               none            swap            defaults        0 0

부팅 시 디스크가 다르게 할당된 경우 내 시스템은 swap비시스템 디스크에서 네 번째 파티션 유형을 찾지 못합니다. (글쎄요, 저는 노트북을 사용하고 있어서 두 번째 디스크가 없지만 요점은 알 수 있습니다.) I 교환이 실패합니다.

UUID로 태그를 지정하고 이를 사용하면 /etc/fstab올바른 파일 시스템이 항상 마운트되도록 할 수 있습니다. 예를 들어:

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

/media/files해당 UUID가 있는 파티션은 부팅 시 BIOS(또는 UEFI 펌웨어)가 표시하는 순서에 관계없이 항상 마운트됩니다 .

관련 정보