web-dev-qa-db-ja.com

KVM LVMおよびmdraid5を使用した場合のディスクI / Oが遅い

私は2週間、特にゲストI/Oディスクのパフォーマンスに関して、debianでのkvmセットアップと戦ってきました。

システム:

-Supermicro 1018d-73mtf (X10SL7-F motherboard)
-16GB ECC/UB
-Intel Xeon E3-1240v3
-6xWD Red 750GB 6Gb/s

これで私は2つのディスクでDebianWheezyを実行していますが、他の4つのディスクはraid5用のmdでセットアップされ、ゲストストレージ用にLVMが上にあります。 RAID5で直接パフォーマンス(LVを作成してマウントし、bonnie ++およびddテストを実行して測定)は問題なく、読み取り/書き込みは最大220/170MB /秒ですが、ゲストでは適切な読み取りと40-50MB /秒の書き込みが得られます、Windows(Server 2012)とLinux(Debian)の両方でテスト済み。私はディスクとパーティションの調整について読み、本によってraidとlvmのセットアップを再作成しましたが、havntはパフォーマンスの向上を受け取りました。

ホストから直接書き込み中に上で負荷を測定すると、ディスクとlvmの負荷が高くなっていることがわかりますが、ゲストの書き込み中に測定すると、ディスクが約20〜30%で、lvmが「赤」(100%)になっていることがわかります。 。

KVM /ホストシステムの通常の調整が行われ、スケジューラーを期限に設定し、レイドのストライプキャッシュを設定し、ゲストにcache = noneを設定し、SASコントローラーカードをITモードに再フラッシュします( LSI 2308)と私はアイデアがありません。誰かが私が間違ったことに気付くことを期待して、セットアップに関する関連情報を含むPastebinです http://Pastebin.com/vuykxeVg

他に何か必要な場合は貼り付けてください。

編集:

これは基本的にドライブ、md、lvmのセットアップ方法ですが、3つのディスクとスペアを実行しているためいくつかの変更があります。 http://dennisfleurbaaij.blogspot.se/2013/01/setting-up-linux-mdadm-raid-array-with.html

ホストとゲストの書き込みテスト中の上部のスクリーンショット(bonnie ++)

ホスト: http://i.imgur.com/IsTprqA.png

ゲスト: http://i.imgur.com/uVmhFCK.png

4
FrontSlash

KVMとキャッシュパフォーマンス( ここここ および ここ を読むことができます)について広範なテストを行いました)そしてあなたがインターネット上で見つけた推薦の多くは明らかに間違っているので時代遅れです。しかし一度に一歩進んでみましょう...

  1. RAID5は、シーケンシャルな読み取り/書き込みパターンとは異なるものに対して実行可能であるために、自分のもの(Pastebinから見て512K)よりもはるかに小さいチャンクサイズ(32〜64Kのオーダー)とBBU(ライトバックキャッシング用)を必要とします。
  2. IOPSを必要とするワークロードや、ランダム書き込みの大部分を発行するワークロードにはRAID5を使用しないでください。これはまさにゲストOSに必要なもの(IOPSとランダム書き込み速度)であるため、RAID5(アレイ全体のライトバックキャッシュを有効にするためのハードウェアBBUなし)の選択は間違っています。代わりにRAID10を使用してください。
  3. ゲストに対してcache = writebackを絶対に有効にします。 Cache = noneは、シーケンシャルな読み取り/書き込み、または完全に不規則でキャッシュに適さないパターンでのみわずかに優れています。
  4. 可能な限り、ゲスト内でvirtioドライバーを使用してください。
1
shodanshok

ゲストが書き込み要求を出し、要求がホストキャッシュに送られ(キャッシュデータは物理ホストのメモリにある)、ホストがクラッシュして要求がゲスト仮想ディスクに書き込まれない場合は、kvmゲストでキャッシュを使用しないでください、ゲストでファイルシステムの問題が発生する可能性があります

0
c4f4t0r

Kvm disk ioのパフォーマンスをグーグルで検索すると、驚くほど多くのヒットがあります。だから私はXENにとどまります。 ;-)

したがって、これはKVMの一般的な問題のようです。

一般的なメインラインは、適切なvirtio-driverを使用することです。

次に、2つの行があります。

どちらも機能しているようですが、デフォルトはひどいものだと言っています。

0
Nils