모두 다시 쓰지 않고 이미 RAID1에 복제된 두 개의 하드 디스크를 재구성하는 방법은 무엇입니까?

모두 다시 쓰지 않고 이미 RAID1에 복제된 두 개의 하드 디스크를 재구성하는 방법은 무엇입니까?

먼저 기존 하드 디스크를 복제하여 이제 두 개의 정확한 복사본을 갖게 되었습니다. 이제 RAID1을 설정하고 싶지만 추가된 디스크를 다시 쓰는 것을 피하고 싶습니다. 왜냐하면 백업을 위한 다른 저장소가 없고 단일 복사본만 가질 위험을 감수하고 싶지 않기 때문입니다.

RAID 구성이 전혀 없는 상태에서 추가하는 일반적인 절차는 내가 실수하지 않은 경우 다음 /dev/sdb과 같습니다 ./dev/sda/dev/sda

btrfs device add /dev/sdb /
btrfs balance start -dconvert=raid1 -mconvert=raid1

그러나 btrfs-device 매뉴얼에는 다음과 같이 나와 있습니다.

해당하는 경우 장치를 추가하기 전에 전체 장치 폐기(TRIM) 작업이 수행됩니다. blkid(8)에 의해 감지된 기존 파일 시스템이 있는 장치는 장치 추가를 방지하므로 강제로 추가해야 합니다. 작업은 즉각적이며 기존 데이터에 영향을 주지 않습니다.

어떻게 수행해야 합니까?

답변1

btrfs의 바이트 단위 복제는 매우 위험합니다. 다음을 읽어보세요.

https://btrfs.wiki.kernel.org/index.php/Gotchas#Block-level_copies_of_devices

기존 btrfs를 btrfs RAID1로 변환하는 유일한 방법은 질문에서 언급한 명령을 실행하는 것입니다. 그러나 wipefs -a /dev/sdX확장하려는 btrfs를 마운트해야 하고 그 전에 드라이브 중 하나( )를 수동으로 지워야 합니다. 해당 btrfs의 복사본이 있는 블록 장치가 커널에 표시되는 동안에는 마운트를 시도해서는 안 됩니다.
어느 시점에서 실수로 그렇게 한 경우 사본 중 하나 또는 둘 다 손상되었을 가능성이 있으므로 확장하려는 btrfs에 대해 최소한 스크럽 및 읽기 전용 검사를 실행하십시오(이를 위해 시스템에서 다른 드라이브 연결을 끊으십시오). 물론).

btrfs에 50% 이상의 여유 공간이 있는 경우 변환하는 동안 항상 2개의 장치에 최소 2개의 복사본을 유지하는 방식으로 저글링할 수 있지만 전체 드라이브 btrfs의 경우 파티션에 비해 훨씬 더 어렵습니다.

관련 정보