我不太确定这是否是问这个问题的合适地方,如果不是,可以自由地将它迁移到适合的地方。
我正在我实验室的v31 5.0下的Solaris 11.11.11VM中测试ZFS v31中的加密特性。当我将加密的文件夹与dd放在一个11磁盘的RAIDZ3上时,我得到了糟糕的结果。
# 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.768sWrite: 90.94 MB/s
Read: 52.366 MB/s同时使用100%的CPU。
相反,如果没有加密,我的写作速度接近700 MB/s,读取速度为900 MB/s。
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下的Windows764位VM中的ESXi,使用与虚拟机完全相同的规格,几乎可以让我全速运行。
我应该从哪里开始疑难解答?是否有人在Solaris 11中成功地使用了AES-NI加速加密--如果是的话,您的设置如何,您必须做什么特别的事情吗?
发布于 2012-07-09 14:44:29
在默认情况下将使用AES-NI,并且不需要配置。ZFS使用Solaris内核加密框架接口。因此,一个非常简单的DTrace将告诉您是否调用了使用Intel美学指令的函数:
#!/usr/sbin/dtrace -Fs
fbt::aes_encrypt_intel:entry
{
}
fbt::aes_encrypt_intel:return
{
}注意,当我们为ZFS启用加密时,我们还会自动将校验和切换到sha256-mac。因此,更公平的比较应该是与具有checksum=sha256而不是checksum=on (即fletcher4)的ZFS数据集进行比较。
发布于 2017-11-21 20:50:07
我想达伦回答了你的问题,但是你的结果也可能被ZFS和OS缓存扭曲了。虽然使用dd仍然很有用,但使用类似于filebench ( Solaris 11下的pkg基准/文件库)的工具会更有用。
https://unix.stackexchange.com/questions/40769
复制相似问题