blkid 출력의 디스크 UUID가 사라짐

blkid 출력의 디스크 UUID가 사라짐

RHEL-7에서 이상한 상황이 발생했습니다. 디스크 파티션 위에 장치 매퍼(crypt)를 생성한 다음 디스크 파티션에서 매퍼로 데이터(바이트)를 복사합니다. blkid 출력에는 UUID에 대한 두 개의 항목이 있습니다. 하나는 디스크 파티션용이고 다른 하나는 매퍼용입니다. /dev/disk/by-uuid 아래의 UUID는 덮어쓰기된 매퍼를 가리킵니다.

블키드 출력:

/dev/sdc1: UUID="1e762c4a-0b12-40fc-9f53-a825016211a0" TYPE="ext4"

/dev/mapper/my_mapper: UUID="1e762c4a-0b12-40fc-9f53-a825016211a0" TYPE="ext4"

/dev/disk/by-uuid 출력:

lrwxrwxrwx 1 root root 10 Jan 31 10:24 1e762c4a-0b12-40fc-9f53-a825016211a0 -> ../../dm-4

이제 다시 매퍼에서 디스크 파티션으로 데이터(바이트)를 복사하고 매퍼를 닫습니다. /dev/disk/by-uuid 아래의 UUID는 디스크 파티션을 가리키고 blkid 출력에는 디스크 파티션의 UUID가 표시됩니다.

블키드 출력:

/dev/sdc1: UUID="1e762c4a-0b12-40fc-9f53-a825016211a0" TYPE="ext4"

/dev/disk/by-uuid 출력:

lrwxrwxrwx 1 root root 10 Jan 31 10:24 1e762c4a-0b12-40fc-9f53-a825016211a0 -> ../../sdc1

하지만 디스크 파티션을 마운트하려고 하면 다음 오류가 발생합니다.

mount -t ext4 -o rw /dev/sdc1 /mnt/plainDisk
mount: wrong fs type, bad option, bad superblock on /dev/sdc1.

그런 다음 blkid 출력에서 ​​디스크가 사라집니다. /dev/disk/by-uuid는 여전히 올바른 UUID와 함께 존재하며 lsblk는 디스크를 표시합니다.

저는 blockdev --getsize64디스크 크기를 바이트 단위로 가져온 다음 이 바이트를 모두 복사하는 데 사용하고 있습니다.

모든 입력이나 조언에 감사드립니다. 하지만 RHEL-6에서는 이 문제가 발생하지 않습니다.

추가 정보:

  1. fsync모든 데이터가 복사되면 /dev/sdc1 파일 설명자를 통해 사용합니다 .
  2. 두 번째 복사 후 /dev/sdc1이 존재할 때 dumpe2fs 출력을 확인했습니다. 원래 값과 일치했습니다. 그러나 항목이 제거되면 dumpe2fs에서 오류가 발생합니다.

dumpe2fs 1.42.9(2013년 12월 28일)

dumpe2fs: /dev/sdc1을 열려고 하는 동안 슈퍼 블록의 잘못된 매직 넘버

유효한 파일 시스템 슈퍼블록을 찾을 수 없습니다.

답변1

문제는 에서 으로 데이터를 다시 복사 my_mapper하는 동안 sdc1여전히my_mapper탑재. 이는 어떻게든 장치의 슈퍼블록에 영향을 미쳤습니다. 나는 실행하여 dumpe2fs다음과 관련된 항목이 있는지 확인했습니다.슈퍼블록에서

데이터를 복사하기 전에 매퍼를 마운트 해제하면 문제가 해결되었습니다.

관련 정보