기존 HDD 기반 BTRFS 파일 시스템에 SSD 추가

기존 HDD 기반 BTRFS 파일 시스템에 SSD 추가

다양한 크기의 HDD가 포함된 BTRFS 파일 시스템이 있습니다. SSD를 추가하면 BTRFS가 이를 캐싱 계층이나 다른 더 빠른 드라이브로 사용할 수 있을 것이라고 생각합니다. 이에 대한 문서는 약간 부족합니다.https://btrfs.wiki.kernel.org/index.php/FAQ#Is_Btrfs_optimized_for_SSD.3F). 그러나 btrfs fi show /data를 실행하면 SSD가 사용되지 않는 것으로 표시됩니다.

Total devices 8 FS bytes used 4.29TiB

// SSD moved to the top of the list for easier reading
devid    9 size 223.57GiB used 0.00B path /dev/sda
devid    1 size 2.73TiB used 1.28TiB path /dev/sdb1
devid    5 size 0.00B used 356.00GiB path /dev/sdi1
devid    6 size 1.82TiB used 379.00GiB path /dev/sde1
devid    7 size 4.55TiB used 3.09TiB path /dev/sdh
devid    8 size 3.64TiB used 2.19TiB path /dev/sdc
devid   10 size 2.73TiB used 1.28TiB path /dev/sdf
devid   11 size 1.82TiB used 24.00GiB path /dev/sdg

또한 btrfs device use /data를 실행하면 SSD가 사용되지 않은 것으로 보고됩니다.

/dev/sda, ID: 9
Device size:           223.57GiB
Unallocated:           223.57GiB

그래서 fstab 마운트 옵션을 확인해야 한다고 생각했습니다.

# Mount BTRFS array
UUID=587d228b-5dc3-44e6-b9d9-83df5682d50d       /data   btrfs   defaults,noatime,space_cache,discard    0       0

내가 아는 한 이것은 꽤 표준적인 것입니다.

이게 정상인가요? BTRFS가 실제로 드라이브를 사용하고 있는지 어떻게 알 수 있나요? (제가 완전히 틀렸을 수도 있고 BTRFS가 이 사용 사례를 전혀 지원하지 않을 수도 있습니다)

답변1

BTRFS 풀에 장치를 추가하는 것만으로는 데이터가 자동으로 이동되지 않습니다. 풀에 새 데이터를 써야 하며 밸런서는 데이터를 배치할 장치를 결정합니다.
다음 블록은 할당률이 0%이므로 새로 추가된 장치에서 생성될 가능성이 높습니다(밸런서는 모든 장치를 균등하게 채우려고 시도합니다).

이미 쓰여진 데이터를 다시 밸런서를 통과하려면 다음을 사용해야 합니다.btrfs balance주문하다.

SSD에 있는 모든 데이터는 HDD에 있는 데이터보다 빠르지만, 적절한 속도 인식 균형이 없기 때문에 어떤 데이터가 빠르고 느린지는 거의 무작위적이며 수동으로 제어할 수 없습니다.

관련 정보