ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × « FreeBSD 11で「warning: total configured swap (X pages) exceeds maximum recommended amount (Y pages).」と言われた時の対処法 ブリッジネットワーク接続の仮想マシンを使う時はport-securityに気をつける » VirtualBox上のWin 7でディスクイメージとzvolの速度比較(ついでにbhyveも) 仮想マシンのストレージ形式について、一般的にはイメージファイルよりもzvolの方が適していると言われている。ホストのファイルシステムレイヤを通過したファイル上にゲストのFSレイヤを通したFSを構築するよりかは、zvol(の薄いレイヤしか通らない)のブロックデバイスをゲストのFSレイヤに渡した方が効率が良さそう、ってのは理屈としても合っている。 以前から実際に速度比較しようと思いつつ、ようやく実行に移せた。環境は以下の通り。 ホスト FreeBSD 11.1-RELEASE-p1 VirtualBox 5.2.0 CPU: Xeon E5-2648Lv3 1.8GHz 12C24T RAM: 64GB SSD: Intel DC S3500 480GB SATA 3接続 ZFSのLZ4で透過圧縮している ゲスト Windows 7 Ultimate (x64) CPU: 4コア RAM: 8GB SSD: VirtIO 40GB ゲストのストレージを、同一内容のイメージファイルとzvolデバイスとで切り替えてCrystalDiskMark 6.0.0で速度を計測した。なお、イメージファイルからzvolへの変換は以下のコマンドで行った。 VBoxManage clonehd /path/to/vms/Windows/HDD.vmdk /path/to/vms/HDD.raw --format RAW zfs create -V 40G zvm/zvols/Windows dd if=/path/to/vms/Windows/HDD.raw of=/dev/zvol/zvols/Windows bs=4096 VBoxManage internalcommands createrawvmdk -filename /path/to/vms/Windows/zvol.vmdk -rawdisk /dev/zvol/zvols/Windows おろ、殆ど変わらんがな…(´・ω・`)。シーケンシャルR/W共にSATA 3の上限ぶっちぎっちゃってるし、ホストのキャッシュが効いちゃってる? というわけで、VirtualBoxの「ホストのI/Oキャッシュを使う」オプションを切って再計測。 すごく、、、速いです………。こりゃZFSのキャッシュが効いてるなー。確認してみるとARCで4.8GB持ってるしなー。ベンチ中にtopで見てるとARCがもりもり増えてくし。 ついでにイメージファイルをHDDに置いた時のベンチも取ってみた。 うっは2.5インチHDDとは思えぬ速さwwwww zpool iostatの結果を見るに、ランダムライトはZFS側でまとめられ、ほぼシーケンシャルライトとしてHDDに書き出されているようだ。 capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- zhome2 1.33T 1.38T 1 922 153K 105M mirror 1.33T 1.38T 1 922 153K 105M ada3p1 - - 0 861 25.5K 105M ada2p1 - - 0 875 127K 107M logs - - - - - - mirror 40K 3.97G 0 0 0 0 ada0p4 - - 0 0 0 0 ada1p4 - - 0 0 0 0 ---------- ----- ----- ----- ----- ----- ----- capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- zhome2 1.33T 1.38T 2 932 277K 111M mirror 1.33T 1.38T 2 932 277K 111M ada3p1 - - 0 919 50.4K 114M ada2p1 - - 1 890 227K 110M logs - - - - - - mirror 40K 3.97G 0 0 0 0 ada0p4 - - 0 0 0 0 ada1p4 - - 0 0 0 0 ---------- ----- ----- ----- ----- ----- ----- capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- zhome2 1.33T 1.38T 0 962 102K 119M mirror 1.33T 1.38T 0 962 102K 119M ada3p1 - - 0 941 102K 117M ada2p1 - - 0 965 0 120M logs - - - - - - mirror 40K 3.97G 0 0 0 0 ada0p4 - - 0 0 0 0 ada1p4 - - 0 0 0 0 ---------- ----- ----- ----- ----- ----- ----- capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- zhome2 1.34T 1.38T 1 940 153K 113M mirror 1.34T 1.38T 1 940 153K 113M ada3p1 - - 0 918 76.7K 113M ada2p1 - - 0 906 76.7K 112M logs - - - - - - mirror 40K 3.97G 0 0 0 0 ada0p4 - - 0 0 0 0 ada1p4 - - 0 0 0 0 ---------- ----- ----- ----- ----- ----- ----- 結論としては、イメージファイルでもzvolでも大差なさそう。ストレージ形式の差よりも、ZFSそのものの動作環境やチューニングの差の方が覿面に影響しそう。なので、好きな方を使えばいいんじゃないかな。俺は扱いやすいイメージファイルの方を選ぶんだぜ。 とりあえずZFSパネェ…。 (2017-11-25 追記) ついでにbhyveでもやってみた。 ストレージは同一SSDだけど、計測環境は新規インストールのWindows 10なので厳密な比較にはならんけど。なお、ストレージはahci-hdで繋いでる。virtio-blkはWindowsでは現状未対応らしい。 ベンチ結果は左から、gzip-5のZFS上のイメージファイル、同zvol、lz4なzvol。 Comments Name E-Mail Website 人間の証明として、ボックス内の全ての文字を入力してください。 この項目は空のままにして下さい:Preview Comment blog/2017/2017-11-23.txt 最終更新: 2020-12-03 12:44by Decomo