mdadm raid10 ou problemas de desempenho do nfs?

2

Eu tenho um novo dispositivo RAID10 mdadm que é saudável, construído a partir de unidades SATA 3 de 4 x 7200 rpm:

# cat /proc/mdstat 
Personalities : [raid10] [raid1] 
md2 : active raid10 sdc3[5] sda3[4] sdb3[1] sdd3[3]
      3885267968 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]

(Existem 2 outros dispositivos mdadm, mas o md2 é o mais relevante)

No topo do md2 existe um sistema de arquivos ext4, criado com:

mkfs.ext4 -m0 -L bups -b 4096 -E stride=8,stripe-width=32 /dev/md2

Isso tem um desempenho horrível ao usá-lo como um destino de backup sobre o NFS. Com um único cliente escrevendo, vejo figuras como essa, com ~ 30% a 50% de espera de E / S em top :

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda             197.00         0.00         1.07          0          1
sdb             189.00         0.00         1.09          0          1
sdc             300.00         0.00         1.78          0          1
sdd             290.00         0.00         1.78          0          1
md2             785.00         0.00         2.86          0          2

A média de carga é alta:

# uptime
 11:40:38 up 21:21,  1 user,  load average: 9.90, 9.18, 8.92

Usar dd mostra um desempenho decente:

# dd if=/dev/zero of=/bup/test.dd bs=4096 count=1024000
1024000+0 records in
1024000+0 records out
4194304000 bytes (4.2 GB) copied, 18.7801 s, 223 MB/s

A conectividade é gigabit todo o caminho. Este é o CentOS 6.2 x64 em um novíssimo HP DL160 Gen8 com 16gb de RAM, supostamente um alvo de backup dedicado, mas não com esse tipo de desempenho.

EDITAR

O controlador é um HP B120i no modo SATA AHCI.

/etc/exports no servidor:

/bup/phdv   172.31.42.30(rw,no_root_squash)

/etc/fstab extract no cliente (também CentOS 6.4 x64):

svr-bup1.example.com:/bup/pronto    /mnt/bup    nfs soft    0 0

EDIT 2

Informações relevantes de /proc/mounts :

svr-bup1.example.com:/bup/pronto /mnt/bup2 nfs4 rw,relatime,vers=4,rsize=1048576,wsize=1048576,namlen=255,soft,proto=tcp6,port=0,timeo=600,retrans=2,sec=sys,clientaddr=2001:xxxx:xxxx:xxxx::240,minorversion=0,local_lock=none,addr=2001:xxxx:xxxx:xxxx::210 0 0
    
por fukawi2 03.01.2014 / 01:43

1 resposta

0

No servidor aumentando RPCNFSDCOUNT number em /etc/default/nfs-kernel-server pode ajudar;
no (s) cliente (s), pode valer a pena tentar valores menores de rsize e wsize ...

    
por 27.08.2014 / 02:55