BTRFS Raid1..약간 혼란스럽습니다

BTRFS Raid1..약간 혼란스럽습니다

BTRFS Raid1을 설정했고 2주 전에 균형을 재조정했습니다. 이제 btrfs df는 말합니다 ...

root@slackware:~#  btrfs filesystem df /mnt
Data, RAID1: total=4.14TiB, used=4.08TiB
System, RAID1: total=32.00MiB, used=608.00KiB
Metadata, RAID1: total=6.00GiB, used=5.20GiB
GlobalReserve, single: total=512.00MiB, used=0.00B

제 질문은...HD를 잃어버리면 데이터도 잃어버리나요?입니다. btrfs raid1에서 데이터 분포를 확인하는 방법은 무엇입니까? 완벽한 사본을 얻으려면 의무와 근육=50으로 균형을 다시 맞춰야 합니까?

답변1

아래 예와 같이 btrfs2개의 하드 드라이브를 사용하여 raid1메타데이터와 데이터를 생성하는 경우raid1

mkfs.btrfs -L Test -m raid1 -d raid1 /dev/sda /dev/sdb

하드 드라이브가 2개인 경우, 하드 드라이브 1개를 제거하면 모든 파일이 두 번 저장됩니다(각 하드 드라이브에 각 파일의 사본 1개).

다음 방법으로 설치할 수 있습니다(부착된 하드 드라이브를 PC에 연결).

mount -o degraded /dev/sda /mnt/Test

여기서 데이터를 복구할 수 있습니다


mkfs.btrfs| and added 3 hard disk at a time with a이제 예를 들어 raid1 raid1` 메타데이터를 생성하면 data and데이터를 복구할 수 없습니다.

mkfs.btrfs -L Test2 -m raid1 -d raid1 /dev/sda /dev/sdb /dev/sdc

이 설정에서는 데이터가 분할되어 모든 하드 드라이브에 분산됩니다. 예를 들어 1GB 파일은 다음과 같이 저장됩니다.

333 mb on sda
333 mb on sdb
333 mb on sdc

물론 다운그레이드 모드에서 하드 드라이브 1개를 제거하고 나머지 첫 번째 또는 두 번째 하드 드라이브를 설치할 수 있지만 연결되지 않은 하드 드라이브의 300MB는 거기에 없으므로 하드 드라이브 2개를 고수하고 매일 clean 명령을 실행하면 됩니다. , 잠깐만요 알았어


GParted는 실제 디스크 사용량을 표시하는 반면, btrfs filesystem show명령은 다소 가짜 디스크 사용량을 표시하므로 GParted에서 디스크 사용량을 확인하세요.

저는 테스트를 해왔습니다 btrfs. 이 테스트는 btrfs 5.4.1에서 수행되었습니다.

업데이트: raid1c3이 포함된 btrfs는 3개의 하드 드라이브에 3개의 복사본을 저장할 수 있고 raid1c4는 4개의 하드 드라이브에 4개의 복사본을 저장할 수 있다는 것을 방금 배웠습니다.

파일을 분할하지 않고 모든 하드 드라이브에 파일 및 메타데이터의 전체 복사본을 저장합니다.

우리는 단지 사용해야합니다

btrfs -L Test -m raid1c3 및 -d raid1c3 /dev/sda /dev/sdb /dev/sdc

3개의 하드 드라이브에 대한 파일 시스템을 생성하는 데 사용됩니다(이 파일 시스템을 생성하면 이러한 하드 드라이브의 모든 파일이 삭제/포맷됩니다).

또는 4개 하드 디스크용 파일 시스템을 생성하는 경우 -m raid1c4 -d raidc4


raid1c3이나 raid1c4에서는 다른 1~2개의 하드디스크가 분실되더라도 다운그레이드 옵션에서 하드디스크를 마운트하면 데이터를 복구할 수 있습니다.

관련 정보