そのため、データウェアハウスのパフォーマンスをテストすることにしました。

ISPsystemは2013年3月上旬に、仮想化を管理するための新しいソフトウェア製品であるVMmanager のリリースを発表し ました 。 このソリューションは、仮想マシンのホスティングとクラウドの構築の両方に適合しています。
VMmanagerは、いくつかのタイプのデータストレージをサポートしています。 「データストレージ」という用語は、仮想ディスクの格納方法の説明を意味します。 これらのタイプは、ネットワークとローカルに分類されます。 ネットワーキングには、 iSCSI 、 NFS、およびRBDが含まれます。 ローカル-LVMおよびDIR (ファイルシステム)。
- iSCSIは、IPネットワークを介してSCSIコマンドを送信することにより、長距離でデータを送信できるリモートストレージ管理プロトコルです。
- NFS-ネットワーク接続ストレージ。 ローカルよりもはるかに遅いため、追加の仮想ディスクを配置する場合にのみ使用することをお勧めします。
- RDB -Ceph RADOSブロックデバイスとも呼ばれます。 これは分散ファイルシステムです。 Habréには、ユーザーilaskovからの短い助けを借りたCeph FSのインストールに関する記事ガイドがありました。
- LVM-メインのローカルストレージとして使用するのに最適なソリューションです。
- ファイルシステム -サーバーファイルシステムがストレージとして使用されます。 仮想ディスクイメージはRAWファイルとして保存されます。
提示されたそれぞれには、独自の欠点と利点があります。 たとえば、ネットワークデータストレージを使用している場合、仮想マシンの移行の問題が発生したとき、クラスター内の別のノードにイメージを転送する必要はありません。
最もアクセスしやすく普及しているため、ローカルデータストアLVM 、 DIR ( RAW形式およびQcow2形式)を使用して、読み取りまたは書き込み時にどのローカルストレージが最も速いかという質問に答えることにしました。
参照用:
- RAWは、内部形式のない完全なブロックデバイスイメージです。
- Qcow2はQEMUディスクイメージ形式です。 これは、コピーオンライト形式(記録中のコピー)の略語です。
テストのために、この構成のサーバーが選択されました。
- CPU:Intel Core2Quad CPU Q6600
- RAM:8GB
- HDD:RAID-10 Adaptec ASR3405 4x150GB SAS
- OS:Centos 6
テスト自体は、fbroアプリケーションを使用して実行されました。これは、habrovchan amaramoの記事「ディスクパフォーマンスを適切に測定する方法」で説明されています 。 このユーティリティは、 公式Webサイトでソースコードの形式で入手できます。
EPELリポジトリを使用してCentosにインストールしました。
- wget dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
- rpm -Uvh epel-release-6 * .rpm
- yum --enable-repo = epel install fio
読み取りと書き込みの両方を個別にテストしました。 IOPSの数がキー値として選択されました。
fioオプションは次のとおりです。
読書テスト:
[readtest]
ブロックサイズ= 128k
ファイル名= / dev / vdb
rw = randread
ダイレクト= 1
バッファリング= 0
ioengine = libaio
iodepth = 16
記録テスト:
[書き込みテスト]
ブロックサイズ= 128k
サイズ= 100%
ファイル名= / dev / vdb
rw = randwrite
ダイレクト= 1
バッファリング= 0
ioengine = libaio
iodepth = 16
各テストは3回実行されました。 各起動の前に、 ddアプリケーションを使用してディスクに「ゼロ」が書き込まれました。
- dd if = / dev / zero of = / dev / vdb bs = 4096 conv = noerror
オペレーティングシステムのディスクキャッシュをフラッシュしました。
- echo 3> / proc / sys / vm / drop_caches
テストはオペレーティングシステムがインストールされているのと同じ物理アレイで実行されたため、システムアプリケーションは取得した値に影響を与える可能性があります。 したがって、 中央値が結果値として採用されました。 いくつかの開始点では、値は桁違いに異なっていました。
テスト用に、サイズが50,000 MBの仮想ディスクが作成されました。 サイズは偶然ではありません。 仮想サーバーの最も一般的なディスクサイズとして。 すべてのディスクは、 virtioドライバーを使用して仮想マシンに接続されました。 準仮想ドライバー( virtio )は、仮想環境でメインデバイスを操作するときに使用されます。 通常、これらのドライバーを使用すると、仮想ディスクサブシステムのパフォーマンスが向上します。 これらのドライバーは、バージョン2.6.25以降のLinuxカーネルに存在します 。
最初のテスト方法では、 sda4 (後で仮想マシン用のLVMとディスクの両方を作成)を使用し、パラメーターにfio-size = 50Gを追加しました。
テストのために、2番目の方法では、 LVMボリュームグループが作成され、このLVMグループでは、仮想マシンの場合と同様に500,000 MBのパーティションが作成されました。
RAWおよびQcow2形式のDIRリポジトリをテストする場合、ディスクイメージ自体は、 / vmディレクトリ内のext4ファイルシステム内のファイルとして配置されていました。
5番目のテスト方法では、1つのパスが作成され、ディスクは「ゼロ」で満たされませんでした。 ファイルシステムのスナップショットを撮った直後にパフォーマンスに興味があったので。
結果表
いや | 保管タイプ | テスト結果の読み取り、IOPS | テスト結果の記録、IOPS |
1 | 物理サーバーでの読み取り/書き込み | 843 | 331 |
2 | 物理サーバー上のLVMパーティション | 848 | 559 |
3 | DIR上の仮想マシン(RAW) | 668 | 545 |
4 | DIR上の仮想マシン(Qcow2) | 621 | 463 |
5 | DIR(Qcow2)上の仮想マシン+スナップショット | 615 | 56 |
6 | LVM上の仮想マシン | 854 | 557 |
表のデータに基づいて、次の結論に達することができます。
- 最速は、 LVMストレージの使用です。
- しかし、同時に、 RAWストレージは、サイズ変更、ディスクレイアウトの変更、変換なしの別の仮想化での実行、 Qcow2形式への変換など、さまざまな操作を最も簡単に実行できます 。
- Qcow2の利点は、 ファイルシステムのスナップショット(スナップショット)をサポートしていることですが、それらを使用すると記録が大幅に遅くなります。 スナップショットに関連するすべてのブロックの上書きが完了するのを待つため、書き込み速度が低下します。