LVM/에서 btrfs에 액세스하는 속도가 느립니다.

LVM/에서 btrfs에 액세스하는 속도가 느립니다.

우리 서버에는 다음과 같은 설정이 있습니다.

  • 우분투 14.04(이전 12.04)
  • 10TB RAID-6 시스템
  • LVM(1VG, 2LV)
  • ext4 파티션(~2TB)
  • Btrfs 파티션(~8TB)

지난달 재부팅 후 시스템이 매우 느려졌습니다. 첫째, 우리는 이것이 RAID가 재동기화 중이기 때문이라고 생각했습니다(드라이브 하나가 추가되지 않고 다시 활성화되지 않았습니다). 그러나 최종적으로 완료된 후에도(12~13일) Btrfs에 액세스하는 속도는 여전히 눈에 띄게 느렸습니다. ext4 액세스는 괜찮은 것 같습니다.

이 기능을 설정한(올 여름에 떠난) 시스템 관리자는 이미 Btrfs 마운트에서 autodefrag,noatime을 사용했습니다.

Btrfs를 다시 더 빠르게 만들기 위해 무엇을 할 수 있습니까?

답변1

댓글을 달 수 없습니다. 좋은 답변이 아니라면 죄송합니다. 드라이브를 확인해야합니다. 10Tb의 경우 12일 rsync 시간은 너무 길다고 생각합니다. 12~24시간 정도가 되어야 합니다. smartctl을 사용하여 다양한 드라이브를 살펴보고 오류가 많은지 확인하세요.

for i in a b c d e f g h i j k l; do echo $i ; smartctl -x /dev/sd$i | grep occurred | head -1 ; done

이로 인해 RAID가 느리게 작동하는 것으로 나타났습니다. IIRC Btrfs는 디렉터리 조회를 위해 ext4보다 더 많은 디스크 액세스가 필요하며, 이는 액세스 속도의 차이를 설명할 수 있습니다.

답변2

방금 세 가지 수준의 디스크 I/O 간접 참조를 쌓았는데 그 성능이 왜 그렇게 낮은지 알고 싶으십니까?

컴퓨터 과학에는 다음과 같은 오래된 속담이 있습니다.데이비드 휠러:

컴퓨터 과학의 모든 문제는 또 다른 간접 계층을 통해 해결될 수 있습니다.

이것은 사실이 아닙니다. 이 방법으로 해결할 수 없는 문제가 하나 있습니다. 시스템이 너무 느리다는 것입니다. (어차피 더 많은 하드웨어를 추가해야 합니다. 이 경우 더 많은 스핀들, 클러스터 또는 로드 밸런싱 등을 추가해야 합니다.)

BTRFSLVM 기능이 포함되어 있지만 이미 쌓아두었습니다.리눅스 LVM2 레이어그리고 넣어저것하드웨어 RAID-6 시스템 위에. 파일 시스템 간접 계층을 한두 개 더 추가할 수 있도록 무너져가는 추상화 힙에 가상 머신을 호스팅하는 것 외에 또 무엇을 하시나요?

당신이 조언을 구했으므로 내 조언은 다음과 같습니다.부서지다이 레이어 중 일부입니다.

나라면 하드웨어 디스크 하위 시스템을 구성하겠습니다.JBOD그 위에 Btrfs를 직접 배치합니다.

더 광범위하게 말하면 Btrfs가 다음과 같은 작업을 수행할 것이라고 기대해서는 안 됩니다 ext[234]. 사과와 사과를 비교하는 것이 아닙니다. Btrfs는 더 높은 수준의 데이터 무결성을 제공하므로 자연스럽게 느리게 실행됩니다.탄스타 축구 클럽.

관련 정보