커널 UUID란 무엇입니까? 그들은 왜 미쳐가는 걸까요?

커널 UUID란 무엇입니까? 그들은 왜 미쳐가는 걸까요?

나는 본 적이DebConf 14: Linus Torvalds와 함께하는 QA, 19:50 경 Linux에서 "UUID는 미쳤습니다!"라고 언급했습니다.

UUID는 (커널 수준에서) 무엇에 사용됩니까? 리누스는 이 문장에서 무엇을 의미합니까?

답변1

파일 시스템을 고유하게 식별하도록 포맷할 때 파일 시스템에 임의의 숫자가 할당됩니다. 과거에는 임의로 할당된 ID(예: /dev/sda)와 파티션 번호로 구성된 개발 노드를 사용하여 어떤 파일 시스템을 마운트해야 하는지 결정하기 위해 부트로더와 /etc/fstab을 구성해야 했습니다. 문제는 파티션 번호가 변경되면 기존 참조가 모두 손상된다는 것입니다. 디스크 자체의 임의 ID가 자주 변경되기 시작하면 실제로 큰 문제가 발생합니다. IDE 디스크의 경우 4개만 있으므로 드라이브가 연결된 물리적 포트에 따라 /dev/hda인지 /dev/hdb인지 결정됩니다. 그러나 SCSI 디스크, SATA 디스크 또는 다중 디스크 컨트롤러가 있는 시스템의 경우 ID는 감지된 순서대로 할당되며 이 순서는 다소 임의적이며 다음 부팅을 수행하는 경우에도 부팅마다 변경될 수 있습니다. 이를 수행하지 않고 USB 디스크 제거 등의 작업을 수행하지 마십시오. 이러한 시스템이 대중화됨에 따라 개발 노드 이름에 의존할 필요가 없는 것이 중요해졌기 때문에 시스템은 대신 UUID를 사용하여 어떤 파일 시스템을 어디에 마운트해야 하는지, 특정 출시 시 어떤 개발 노드가 존재했는지 식별하지 않습니다. 상관없어.

관련 정보