AES-NI acelerou a criptografia ZFS v31 no Solaris 11

2

Não tenho certeza se esse é o lugar certo para perguntar isso, se não, sinta-se à vontade para migrá-lo para onde ele for.

Estou testando o recurso de criptografia no ZFS v31 em uma VM do Solaris 11.11.11 no ESXi 5.0 em minha caixa de laboratório. Estou obtendo resultados terríveis ao fazer o benching de minha pasta criptografada com dd em um RAIDZ3 de 11 discos.

dd benchmark:

# 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

Que se traduz em:

Write: 90.94 MB/s
Read: 52.366 MB/s

Enquanto usa 100% de CPU.

Por outro lado, sem criptografia, estou obtendo gravações em quase 700 MB / se lê em torno de 900 MB / s.

Como isainfo -v mostra, o aes é passado para a 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

Sim, eu sei o que você está pensando. Eu deveria tentar o metal puro - e eu realmente tenho. Estou obtendo os mesmos resultados executando bare metal. A razão pela qual estou até mencionando que está em uma VM é porque o AES-NI realmente funciona e está me dando quase velocidade máxima usando o TrueCrypt na VM do Windows 7 de 64 bits com ESXi 5.0 usando exatamente as mesmas especificações para a máquina virtual. / p>

especificações da VM:

  • CPU: 2 núcleos (do Intel Xeon E3-1235 @ 3.2GHz)
  • Memória: 8 GB
  • Controlador SAS (via Vt-d & PCI-passthrough): 2x IBM M1015 (intermitente com firmware de TI)
  • HDD: 11 x 2 TB Samsung F4EG (via IBM M1015)

Onde devo começar a solução de problemas? Alguém já usou com sucesso a criptografia acelerada AES-NI no Solaris 11 - se sim, como está sua configuração, e você teve que fazer algo especial?

    
por ohaal 14.06.2012 / 12:29

2 respostas

4

AES-NI será usado por padrão e não é necessária configuração. O ZFS usa as interfaces do Cryptographic Framework do Solaris Kernel. Portanto, um bit muito simples do DTrace informará se as funções que usam as instruções da Intel foram chamadas:

#!/usr/sbin/dtrace -Fs

fbt::aes_encrypt_intel:entry { }

fbt::aes_encrypt_intel:return { }

Observe que quando ativamos a criptografia para o ZFS, também mudamos a soma de verificação para o sha256-mac automaticamente. Portanto, uma comparação mais justa seria contra um conjunto de dados do ZFS que tenha checksum = sha256 em vez de checksum = on (que é fletcher4).

    
por 09.07.2012 / 16:44
0

Acho que o Darren respondeu à sua pergunta, mas seus resultados também podem estar sendo distorcidos pelo ZFS e pelo cache do sistema operacional. Embora usar dd ainda possa ser útil, seria mais útil usar algo como filebench (pkg benchmark / filebench no Solaris 11).

    
por 21.11.2017 / 21:50