Proxmox VEって便利ですよね。いっそのこと全部PVEで仮想化しちゃえば管理とかバックアップとか楽なのでは?? しかし気になるのは仮想化することによるパフォーマンスの低下。ということでどのくらい差が出るものなのか実験してみました。

今回はTrueNAS Scaleを単独の物理環境で実行した場合と、Proxmox上の仮想環境で実行した場合の性能を比較してみました。

実験環境

PCGMKtec G11
CPURyzen Embedded R2514 (4c/8t) mac 3.7GHz
MemoryDDR4 16GB
Storage 1M.2 NVMe 256GB (PCIe 3.0 x4接続)
HBALSI 9300-16i
Storage 22.5″ SATA HDD x8

ネットワークは 2.5GbE となっています。

システム構成

物理構成と仮想化構成でハードウェアは同じですが、内部的な構成が変わります。

物理構成の場合

物理構成ではSSD1からTrueNASを起動します。HDDはSASカードを通して接続しています。ごく一般的な構成です。

仮想化構成の場合

仮想化構成ではSSD1からProxmox VEを起動します。SSD1にはTrueNASのディスクイメージが入っていて、Proxmox上でTrueNASがVMとして起動します。SASカードとSSD2はPCIパススルー機能を使って、Proxmoxから切り離してTrueNASの方に接続するようにしています。

CPUは8コア、メモリは10GBに設定しました。物理メモリは16GBですが仮想化環境では使用できるメモリが減るため、空きが10GBしかありませんでした。

ベンチマーク方法

sysbench、fio、iperf3というベンチマーク用のプログラムを使用します。同じテストを3回実行して平均値を結果として採用します。ベンチマークに使用したスクリプトはこちらにアップしました。

TrueNASはデフォルトでは任意のプログラムがインストールできないようになっているので、以下のコマンドで開発者モードにしてインストールを行いました。

sudo install-dev-tools

ベンチマーク結果

カテゴリ テスト項目 物理TrueNAS 仮想TrueNAS 差 (%)
CPU single 1,809 1,808 100%
multi 7,191 7,090 99%
Memory R/W 6,075 5,711 94%
Disk (hdd 1G) Seq Read 962 1,526 159%
Seq Write 30 33 111%
Rand Read 966 1,504 156%
Rand Write 1.8 1.9 103%
Disk (ssd 1G) Seq Read 984 1,537 156%
Seq Write 171 238 139%
Rand Read 974 1,509 155%
Rand Write 16.6 14.8 89%
Network Send x1 2,354 2,356 100%
Receive x1 2,352 2,353 100%
Send x8 2,360 2,378 101%
Receive x8 2,353 2,354 100%

ぱっと見た感じでは目立った速度低下はありませんね。細かく見てみましょう。

CPUは誤差レベルですね。multiが99%と若干低いのは、ホストOSとしてProxmoxが稼働している分のCPUリソースは使えないためでしょう。メモリに関しては94%と少し低下しています。しかしこの程度では体感的な違いほとんどないと思います。

次にストレージですが、Readの値はキャッシュの影響か、逆にVMの方が速くなってしまっています。どちらもSSDとHDDで同じような値が出ているので、Readの結果は参考になりません。Writeの結果でもおおむねVMの方が速く出ています。

ネットワークに関してはどちらも理論値近く出ているので、2.5GbEでは差が見られないという結果になりました。これが10GbEとかだとまた変わってくるかもしれませんね。

結論

気にすんな!全部Proxmoxに乗せちゃえ!!

余談

Proxmoxを使うと特に便利なのがバックアップです。今回のテストのように開発者モードにしてしまっても、バックアップからリストアすればすぐに元の状態に戻せます。これが物理環境だと大変です。

私は256GBくらいの中古のSSDを大量に買っておいて、これにいろんなOSを入れて実験に使ってます。今回のように元に戻せない変更を行う場合はディスクを丸ごとクローンして使用します。Centuryの裸族のどれで~もステーション&クローン (CRCSNSU10GCP)でコピーしましたが、この製品はSSDを固定するゴムが付いていて取り付けがとても簡単なのがいいですね。しかも使わないときは本体に嵌めておける。無くす心配がありません。どうでもいいんですが無駄にLEDが眩しいのはやめてほしい。w