Linux 커널 시스템을 사용하는 Debian 10 GNU에서 다음 줄은 예상대로 마운트되지 않지만 /dev/dm-8
(IMHO 이것은 잘못된 것입니다) /dev/dm-37
:
mount /dev/dm-8 /mnt
저는 지금 이 문제의 원인 및/또는 추가 조사 방법에 대해 정말 혼란스럽습니다. 이 문제는 Linux 커널의 블록 장치에 있는 파일 시스템과 관련된 UUID 내에 있다고 가정합니다.
배경 정보와자신의 연구:
기본 정보:
root@ada:/# 마운트 /usr/bin/마운트 root@ada:/# 파일/usr/bin/mount /usr/bin/mount: setuid ELF 64비트 LSB 공유 객체, x86-64, 버전 1(SYSV), 동적 링크,interpreter/lib64/ld-linux-x86-64.so.2, GNd용 루트@ada:/# uname -a Linux ada 4.19.0-12-amd64 #1 SMP Debian 4.19.152-1 (2020-10-18) x86_64 GNU/Linux
논리 볼륨 관리자를 사용하십시오. 고유한 볼륨 그룹 이름은 입니다
vg
.블록 장치에 연결된 두 개의 볼륨에는 하나의 가 포함되어
btrfs
있으며 스냅샷에서 생성되었으므로 동일한fsid
(UUID)를 공유합니다. 두 논리 볼륨 모두 활성 상태로 설정됩니다.장치를 차단
/dev/dm-8
하고/dev/dm-37
다음 논리 볼륨에 연결합니다./dev/dm-8
->/dev/vg/vm_docu
/dev/dm-37
->/dev/vg/vm_mail
root@ada:/# 실제 경로/dev/vg/vm_docu; file -s /dev/dm-8; /dev/dm-8 /dev/dm-8: BTRFS 파일 시스템 섹터 크기 4096, 노드 크기 16384, 리프 크기 16384, UUID=d8709bb6-8278-431a-95dd-211ceaf35c3d, 951652352/214748364800 bys root@ada:/# 실제 경로/dev/vg/vm_mail; file -s /dev/dm-37; /dev/dm-37 /dev/dm-37: BTRFS 파일 시스템 섹터 크기 4096, 노드 크기 16384, 리프 크기 16384, UUID=d8709bb6-8278-431a-95dd-211ceaf35c3d, 1599131648/21474836480 bys
- 을 살펴보면 다음
/usr/bin/mount
과strace
같은 mount(8) 시스템 호출이 실행되는 것을 알 수 있습니다.
마운트("/dev/mapper/vg-vm_mail", "/mnt", "btrfs", 0, NULL) = 0
이는 /dev/dm-8
문자 그대로 시스템 호출로 전달되지는 않지만 /usr/bin/mount
잘못 해석되지는 않음을 보여줍니다.
root@ada:/# 실제 경로/dev/mapper/vg-vm_mail /dev/dm-8
관련된 도구/소프트웨어의 의심되는 목록에는 다음 UUID
이 포함됩니다.
- 우데브
- Linux 커널 - btrfs 코드
- Linux 커널 - 장치 매퍼
- linux 커널 - lvm(아직 내부에 장치 매퍼가 없는 경우)
- 체계
답변1
BTRFS 파일 시스템에는 중복된 UUID가 있어서는 안 됩니다.
정말 간단합니다. Btrfs는 파일 시스템 UUID를 사용하여 동일한 파일 시스템에 속하는 장치를 식별합니다. 이 방법을 사용하면 설치하기 전에 "어레이를 조립"하는 특별한 명령 없이 , 및 /dev/sda
로 구성된 FS를 가질 수 있습니다 . 실행하기만 하면 BTFRS는 동일한 UUID를 공유하는 장치를 자동으로 감지 하고 파일 시스템을 올바르게 조합합니다./dev/sdb
/dev/sdc
mount /dev/sda /somewhere
/dev/sda
예를 들어, 이것이 btrfs 장치의 블록 수준 복사본이나 LVM 스냅샷을 사용해서는 안 되는 이유입니다. 동일한 장치(동일한 UUID 포함)의 여러 "복제본"을 생성하는 모든 것은 커널을 혼란스럽게 하고 심각한 해를 끼칠 수 있습니다.
따라서 어떤 상황에서든 중복된 파일 시스템 UUID가 발생하면 이를 복구하기가 매우 어렵습니다. 영향을 받은 파일 시스템을 처음부터 다시 만들고 백업에서 복원하는 것이 가장 쉬운 방법일 것입니다.