web-dev-qa-db-ja.com

LVM /上のbtrfsへのアクセスが遅い

サーバーに次の設定があります。

  • Ubuntu 14.04(以前は12.04でした)
  • 10TBRAID-6システム
  • LVM(1つのVG、2つのLV)
  • ext4パーティション(〜2TB)
  • Btrfsパーティション(〜8TB)

先月の再起動後、システムは低速でした。最初に、RAIDが再同期しているためだと考えました(1つのドライブが追加されず、再アクティブ化されました)。しかし、その後最終的に終了した後(12〜13日)、Btrfsへのアクセスは依然として著しく遅いです。 ext4アクセスは正常のようです。

これを設定した(そしてこの夏を去った)システム管理者は、Btrfsマウントですでにautodefrag、noatimeを使用していました。

Btrfsを再び高速化するにはどうすればよいですか?

7
RachelP83

コメントできません。これが答えとして良くない場合は申し訳ありません。ドライブを確認する必要があります。 10Tbのrsync時間の12日は長すぎると思いますが、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よりも多くのディスクアクセスを必要とします。これは、アクセス速度の違いを説明している可能性があります。

9
Dirk

3層のディスクI/O間接参照を積み上げたばかりですが、なぜパフォーマンスが悪いのか疑問に思っていますか?

コンピュータサイエンスには、 David Wheeler に起因する古いことわざがあります。

コンピュータサイエンスの問題は、別の間接層で解決できます。

それは真実ではない。その方法で解決できない問題が1つあります。それは、システムが遅すぎることです。 (とにかくハードウェアを追加せずにはいられません。この場合はスピンドルを増やしたり、クラスタリングや負荷分散などを行ったりします)

Btrfs にはLVM機能が含まれていますが、それを LinuxのLVM2レイヤー の上に積み重ねてthatハードウェアRAID-6システム上。ファイルシステムの間接参照の別のレイヤーまたは2つを追加できるように、この抽象化のぐらつきの山で仮想マシンをホストして、他に何をしましたか?

あなたはアドバイスを求めたので、ここに私のものがあります: snap それらのレイヤーのいくつか。

私の場合は、ハードウェアディスクサブシステムを [〜#〜] jbod [〜#〜] に構成し、その上にBtrfsを直接配置します。

もっと広く言えば、Btrfsがext[234]と同じパフォーマンスを達成することを期待すべきではありません。アップルとアップルを比較しているのではありません。 Btrfsはより高いレベルのデータ整合性を購入するため、当然、実行速度は少し遅くなります。 [〜#〜] tanstaafl [〜#〜]

4
Warren Young