Faz o fio corromper o sistema de arquivos (XFS no mdadm, RAID10)?

1

Estou fazendo testes intensivos em uma partição mdadm (software RAID) feita de 6 SSDs usando fio (Ubuntu 16.10 Server). A partição foi formatada usando o XFS, é desmontada durante os testes, não contém arquivos e não é uma partição de inicialização. Acontece que, às vezes, após uma inicialização a frio ou uma reinicialização, o Ubuntu não pode concluir o procedimento de inicialização e interrompe essa mensagem:

[  OK  ] Started File System Check on /dev/disk/by-uuid/8332-B8BE.
[FAILED] Failed to mount /mnt/raid10.
See 'systemctl status mnt-raid10.mount' for details.

Isso é o que recebo depois de entrar no modo de recuperação e emitir systemctl status mnt-raid10.mount :

mnt-raid10.mount - /mnt/raid10
 Loaded: loaded (/etc/fstab; generated; vendor preset: enabled)
 Active: failed (Result: exit-code) since mer 2017-02-15 08:18:33 CET; 1h 28min ago
  Where: /mnt/raid10
   What: /dev/md2p1
   Docs: man:fstab(5)
         man:systemd-fstab-generator(8)

systemd[1]: Mounting /mnt/raid10...
mount[2064]: mount: mount /dev/md2p1 on /mnt/raid10 failed: La struttura necessita di una pulizia
mnt-raid10.mount: Mount process exited, code=exited status=32
Failed to mount /mnt/raid10.
mnt-raid10.mount: Unit entered failed state.

Se eu iniciar o xfs_repair /dev/md2p1 Ubuntu inicializar corretamente e puder montar a partição.

O mesmo problema pode acontecer também se eu tentar montar a partição após o teste e antes de reinicializar executando mount -t xfs /dev/md2p1 /mnt/raid10 .

Gostaria de saber se este é um problema conhecido do XFS, um problema de mdadm ou simplesmente devido a uma escrita fio raw no dispositivo md .

fio configuration

Aqui está um arquivo de configuração ( config.ini ) que estou usando para mixagem de leitura / gravação de 100% em 4k:

[4k]
filename=/dev/md2p1
rw=randrw
blocksize=4k
filename=test.bin
ioengine=libaio
iodepth=16
direct=1
invalidate=1
runtime=60
write_bw_log=time_series
write_lat_log=time_series
write_iops_log=time_series
log_avg_msec=1000
numjobs=1
rwmixread=100
refill_buffers=1
norandommap=1
randrepeat=0
per_job_logs=0
description="some text"

e aqui está como eu chamo fio :

fio config.ini > log.txt

log.txt , config.ini e test.bin estão localizados em um dispositivo de disco diferente (meu diretório inicial, que é uma partição RAID1 de software em HDDs montados usando /dev/md1 ).

    
por pietrop 15.02.2017 / 10:11

1 resposta

1

Você está executando o seu fio benchmark contra o blockdevice /dev/md2p1 , que trava as informações do seu sistema de arquivos.

Para evitar isso, você deve usar um arquivo no sistema de arquivos para o seu benchmark.

[4k]
filename=/mnt/raid10/fio.bench
rw=randrw
...
    
por 18.02.2017 / 11:57