Luks 암호화 대신 BTRFS 사용

Luks 암호화 대신 BTRFS 사용

루트 파일 시스템의 일부를 구성하는 파티션을 포함하는 고장난 하드 드라이브가 있습니다.

matt@ryzen3950 ~> btrfs device stats /dev/dm-2
[/dev/mapper/cryptsda1].write_io_errs    0
[/dev/mapper/cryptsda1].read_io_errs     0
[/dev/mapper/cryptsda1].flush_io_errs    0
[/dev/mapper/cryptsda1].corruption_errs  12
[/dev/mapper/cryptsda1].generation_errs  0

다른 저장 장치로 교체하고 싶습니다. 이를 위해 먼저 새 드라이브를 분할하고 암호화합니다.

matt@ryzen3950 ~> sudo parted /dev/sdd
(parted) mklabel gpt                                                      
(parted) mkpart primary btrfs 1MiB 100%                                   
(parted) quit                                                             
matt@ryzen3950 ~> sudo cryptsetup luksFormat /dev/sdd1
matt@ryzen3950 ~> sudo cryptsetup open --type luks /dev/sdd1 cryptsdd1

(나는 mkfs이것에 대해 아무것도 하지 않았다)

그런 다음 btrfs 교체를 수행하려고 시도했습니다(파일 시스템이 현재 활성화되어 있음에 유의).

sudo btrfs replace start /dev/mapper/cryptsda1 /dev/mapper/cryptsdd1 /

그러나 오류가 발생합니다.

/dev/mapper/cryptsdd1 appears to contain a partition table (atari).
ERROR: use the -f option to force overwrite of /dev/mapper/cryptsdd1

애초에 드라이브를 분할하지 말았어야 했던 것 같습니다. 다음을 수행해야 합니까?

sudo btrfs replace start /dev/sda /devsdd /

그렇지 않다면 올바른 접근 방식은 무엇입니까?

마지막으로 <path>btrfs에서 대체란 무엇입니까? 나는 이것이 파일 시스템 마운트 지점(예: /라이브 루트 파일 시스템)이라고 생각합니다. 맞습니까?

전체 btrfs-replace 매뉴얼 페이지도 읽었습니다.Btrfs 위키, 하지만 내 질문에 대한 답변을 찾을 수 없습니다.

답변1

그러나 오류가 발생합니다.

/dev/mapper/cryptsdd1 appears to contain a partition table (atari).
ERROR: use the -f option to force overwrite of /dev/mapper/cryptsdd1

제안된 대로 명령을 실행 btrfs하거나 먼저 실행하십시오.-fwipefs -a /dev/mapper/cryptsdd1

당신은 실제로 입력하고 있습니다libblkid의 알려진 문제(최신 util-linux로 이미 수정됨), 대부분의 저장소 도구에서 사용되는 장치의 파일 시스템을 감지하기 위한 라이브러리 - btrfs는 여기에서 이를 사용하여 사용하려는 장치가 비어 있는지 확인하여 사용자가 실수로 기존 항목을 삭제하지 않도록 경고할 수 있습니다. 파일 시스템. 이 경우 libblkid는 새로 생성된 LUKS 장치에 Atari 파티션 테이블이 포함되어 있다고 잘못 생각합니다. 이는 거짓 긍정이며 일부 임의의 데이터가 Atari 슈퍼 블록이라고 생각합니다.

애초에 드라이브를 분할하지 말았어야 했던 것 같습니다. 다음을 수행해야 합니까?

sudo btrfs replace start /dev/sda /devsdd /

절대 그렇지 않습니다. btrfs는 파일 시스템 수준에서만 관심을 갖고 기본 파티션과 LUKS 장치를 "알지" 못하므로 이러한 장치를 먼저 다시 만드는 것이 옳은 일입니다.

마지막으로 <path>btrfs에서 대체란 무엇입니까? 나는 이것이 파일 시스템 마운트 지점(예: /라이브 루트 파일 시스템)이라고 생각합니다. 맞습니까?

나는 btrfs 전문가는 아니지만 이것이 맞다고 생각하며 btrfs replace명령의 첫 번째 버전이 나에게는 괜찮아 보입니다. 반드시 먼저 백업을 해주세요.

관련 정보