Configurando o planejador de E / S para a matriz RAID baseada em SSD em instâncias do EC2

3

Eu criei uma matriz RAID usando as 2 unidades SSD locais em uma instância EC2 c3.4xlarge.

# mdadm --create /dev/md127 --level=0 --raid-devices=2 /dev/xvdf /dev/xvdg
# mkfs.ext4 /dev/md127
# mkdir /data
# echo 'DEVICE /dev/xvdf /dev/xvdg' > /etc/mdadm.conf
# mdadm --detail --scan >> /etc/mdadm.conf
# echo "/dev/md127   /data       ext4    defaults 1 2" >> /etc/fstab 

O dispositivo funciona muito bem. No entanto, quando estou tentando definir o agendador de E / S para o array (como root), o arquivo do agendador não muda.

# echo noop >  /sys/block/md127/queue/scheduler
# cat /sys/block/md127/queue/scheduler 
  none

Qual é a maneira correta de configurar o agendador, de modo que a saída dos últimos comandos seja 'noop'?

    
por BraveHeart 31.03.2014 / 21:03

1 resposta

4

Não faça isso manualmente. Quero dizer, você pode globalmente anexando a linha de parâmetro de inicialização do kernel. Mas, em vez disso, use o framework tuned-utils para lidar com isso.

yum install tuned tuned-utils

Uma vez instalado ...

tuned-adm profile virtual-guest 

ou crie seu próprio perfil com base no convidado virtual.

Em /etc/tune-profiles/virtual-guest , há uma estrofe que diz:

# This is the I/O scheduler ktune will use.  This will *not* override anything
# explicitly set on the kernel command line, nor will it change the scheduler
# for any block device that is using a non-default scheduler when ktune starts.
# You should probably leave this on "deadline", but "as", "cfq", and "noop" are
# also legal values.  Comment this out to prevent ktune from changing I/O
# scheduler settings.
ELEVATOR="deadline"

Modifique para provar e pronto!

    
por 31.03.2014 / 22:08