btrfs를 사용할 때 df의 "Size", "Used" 및 "Avail" 값이 일치하지 않는 이유는 무엇입니까?

btrfs를 사용할 때 df의 "Size", "Used" 및 "Avail" 값이 일치하지 않는 이유는 무엇입니까?

btrfs 파티션이 있습니다. 실행하면 df -h다음과 같이 표시됩니다.

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       113G  101G  8.3G  93% /home

왜 이래? ext2/3/4 공간이 루트용으로 예약되어 있기 때문인가요? 또는 다른 것? 전자인 경우 어떻게 변경하고 4GB를 회수할 수 있나요?

~에 따르면위키피디아, 메타데이터가 두 번 저장되어 "사용된" 데이터의 크기가 증가한다는 것을 알고 있습니다.

user@machine:~$ df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             894G  311G  583G  35% /
                            ^^^^
user@machine:~$ btrfs fi df /
Metadata: total=18.00GB, >>used=6.10GB<<  *2=  12.20GB
Data: total=358.00GB, >>used=298.37GB<<   *1= 298.37GB
System: total=12.00MB, >>used=40.00KB<<   *1=   0.00GB
                                           == 310.57GB 
                                           ~~ 311   GB

그러나 이것은 여전히 ​​Used + Avail < Size인 이유를 설명하지 않습니다.

답변1

포맷 시 별도로 지정하지 않는 한 메타데이터 블록의 중복 복사본이 기본적으로 저장되어 안정성이 향상됩니다. 2GB의 메타데이터가 있고 4GB의 저장소를 두 번 사용할 수 있습니다. 를 사용하여 자세한 내용을 볼 수 있습니다 btrfs filesystem df.

특히 메타데이터에는 1.75GB가 할당되어 3.5GB의 두 배의 공간을 차지하게 된다. 현재 이 1.75GB 중 385MB만 메타데이터에 사용되지만 전체 1.75GB는 이 목적으로 예약되어 있으므로 파일 데이터의 여유 공간에 포함되지 않습니다.

관련 정보