これが質問するのに適切な場所かどうかはよくわかりませんが、そうでない場合は、適切な場所に自由に移行してください。
dd
私はラボ ボックス上の ESXi 5.0 の Solaris 11.11.11 VM で ZFS v31 の暗号化機能をテストしています。11ディスクの RAIDZ3で暗号化されたフォルダーをベンチマークすると、ひどい結果が得られます。
ddベンチマーク:
# time dd if=/dev/zero of=/mypool/storage/dd.tst bs=1024000 count=10000
10000+0 records in
10000+0 records out
real 1m52.604s
user 0m0.010s
sys 0m2.715s
# time dd if=/mypool/storage/dd.tst of=/dev/null bs=1024000
10000+0 records in
10000+0 records out
real 3m15.547s
user 0m0.015s
sys 0m4.768s
翻訳すると次のようになります:
Write: 90.94 MB/s
Read: 52.366 MB/s
CPU を 100% 使用している場合。
対照的に、暗号化なしの場合、書き込み速度はほぼ 700 MB/秒、読み取り速度はおよそ 900 MB/秒になります。
示されているようにisainfo -v
、aes は VM に渡されます。
# isainfo -v
64-bit amd64 applications
xsave pclmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp cx16 sse3 sse2 sse
fxsr mmx cmov amd_sysc cx8 tsc fpu
32-bit i386 applications
xsave pclmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp ahf cx16 sse3 sse2
sse fxsr mmx cmov sep cx8 tsc fpu
はい、あなたの考えはわかります。ベアメタルで試してみるべきです。実際、ベアメタルで実行しても同じ結果が得られています。VM で実行していることに言及している理由は、AES-NI が実際に機能し、仮想マシンにまったく同じ仕様を使用して ESXi 5.0 の Windows 7 64 ビット VM で TrueCrypt を使用してほぼフルスピードを実現しているからです。
VM 仕様:
- CPU: 2 コア (Intel Xeon E3-1235 @ 3.2GHz)
- メモリ: 8GB
- SAS コントローラ (Vt-d および PCI パススルー経由): 2x IBM M1015 (IT ファームウェアでフラッシュ済み)
- HDD: 11x 2TB Samsung F4EG (IBM M1015経由)
トラブルシューティングはどこから始めればよいでしょうか? Solaris 11 で AES-NI アクセラレーション暗号化を正常に使用した方はいらっしゃいますか? もしそうなら、セットアップはどのようになっていますか? また、何か特別なことをする必要がありましたか?
答え1
AES-NI はデフォルトで使用され、設定は必要ありません。ZFS は Solaris カーネル暗号化フレームワーク インターフェースを使用します。そのため、非常に簡単な DTrace で、Intel aesenc 命令を使用する関数が呼び出されたかどうかがわかります。
#!/usr/sbin/dtrace -Fs
fbt::aes_encrypt_intel:entry
{
}
fbt::aes_encrypt_intel:return
{
}
ZFS の暗号化を有効にすると、チェックサムも自動的に sha256-mac に切り替わることに注意してください。したがって、より公平な比較は、checksum=on (fletcher4) ではなく、checksum=sha256 の ZFS データセットと比較することになります。
答え2
Darren があなたの質問に答えたと思いますが、結果は ZFS と OS キャッシュによって歪んでいる可能性もあります。 を使用することはdd
依然として有用ですが、(Solaris 11 では pkg benchmark/filebench) のようなものを使用する方がより有用ですfilebench
。