현재 구성 대신 UUID를 사용하도록 모든 Linux fstab 구성을 변경하는 것을 고려하고 있습니다.
일부 디스크는 RAID가 아니며 일부 디스크는 RAID10입니다.
Google에서 검색한 결과 RAID1에 UUID를 사용하는 것에 대한 불만 사항을 발견했습니다.
"안타깝게도 소프트웨어 RAID1을 사용하는 경우 /etc/fstab에서 UUID를 사용하면 안 됩니다. 이유는 무엇입니까? RAID 볼륨 자체와 미러의 첫 번째 요소가 동일한 파일 시스템 UUID를 갖는 것으로 나타나기 때문입니다. 미러가 손상되었거나 다른 이유로 인해 부팅 시 md 장치가 시작되지 않고 시스템이 임의의 기본 디스크를 마운트하여 이미지가 손상되므로 전체 재동기화를 수행해야 합니다."
그렇다면 RAID10에 UUID를 사용할 수 있는지 궁금합니다.
어떤 경우(RAID 구성) UUID가 사용되지 않습니까?
둘째 - 여러 줄에서 UUID를 사용하면 어떤 이점이 있습니까?
답변1
@ dr01의 답변에 추가 : RAID 문제와 관련하여 RAID 설정에서 UUID를 사용할 수도 있습니다.
mdadm을 사용하는 경우 UUID는 로컬 파일 시스템에 저장되고, 하드웨어 RAID를 사용하는 경우 UUID도 포함하는 가상 물리 디스크로 표시됩니다.
답변2
나생각하다이는 RAID 장치의 데이터가 기본 장치(또는 적어도 일부)의 동일한 위치에 나타나는 경우에만 문제가 됩니다. 실제로 이는 RAID 슈퍼블록(메타데이터)이 파티션 끝에 위치하는 RAID 형식을 의미합니다.
UUID는 파일 시스템 (*) 의 일부이므로 시스템은 먼저 장치에서 지원되는 파일 시스템을 찾아야 합니다. 파일 시스템은 장치의 특정 설정 위치(일반적으로 시작 부분)를 읽고 식별 서명을 찾는 방식으로 식별됩니다. /dev/sda
원시 디스크(예: )와 RAID 장치( )의 동일한 위치에 동일한 데이터가 표시되면 /dev/md0
두 장치 모두에서 동일한 UUID를 찾을 수 있습니다. 또는 다른 장치(즉, 미러의 반대편)에 데이터 복사본이 있는 경우 더 그렇습니다.
(*GPT 파티션의 UUID는 또 다른 문제입니다)
Linux 소프트웨어 RAID 시스템 지식두 가지 주요 슈퍼블록 형식, 원래(v.0.90) 형식은 슈퍼블록을 끝에 배치하고, 현재(v.1)에는 슈퍼블록의 서로 다른 위치에 대한 세 가지 하위 형식이 있습니다. 슈퍼블록 형식 1.1과 1.2는 슈퍼블록을 시작 부분에 두므로 사용하기에 안전합니다. 0.9 및 1.0은 장치 끝에 슈퍼블록을 배치하므로 문제가 발생할 수 있습니다. /proc/mdstat
각 장치의 슈퍼블록 형식이 표시되어야 합니다.
RAID 위키 페이지에는 장치 끝에 슈퍼블록을 배치하는 것에 대한 경고도 포함되어 있습니다.
RAID 0 또는 RAID 10을 사용하면 데이터가 스트라이프되기 때문에 기본 디스크를 통해 파일 시스템을 읽기가 어렵습니다. 그러나 UUID는 여전히 감지될 수 있으므로 어떤 경우에도 1.2 형식 RAID 슈퍼블록을 사용하는 것이 더 좋습니다.
ext2/3/4 파일 시스템의 경우 tune2fs -l $device
파일 시스템 UUID를 찾을 수 있으면 표시할 수 있습니다( blkid
RAID UUID를 찾을 수 있음).
나는 문서에 대한 나의 이해를 바탕으로 이 글을 쓰고 있으며 마지막에 RAID 슈퍼블록을 명시적으로 테스트하지 않았다는 점을 참고하시기 바랍니다.
답변3
두 번째 질문에 답하려면: UUID를 사용하면 장치를 고유하게 식별할 수 있습니다.
장치는 시스템에서 검색되는 순서에 따라 등 /dev/sda
으로 할당됩니다 . /dev/sdb
시스템이 시작되는 드라이브가 항상 첫 번째이지만 다른 드라이브의 이름 할당은 검색 순서에 따라 다르며 재부팅 후에 변경될 수 있습니다.
또한 드라이브가 있고 재부팅 후 첫 번째 드라이브를 물리적으로 제거한다고 가정하면 /dev/sdc
이제 /dev/sdd
원래 이름 /dev/sdd
은 입니다 /dev/sdc
.
이로 인해 장치 식별이 불분명해집니다. UUID는 모든 모호성을 방지합니다. UUID는 슈퍼블록(블록 장치용)에 저장되므로 장치 자체에 속합니다.