Como aumentar o nvme_core.io_timeout na instação do c5 EC2

1

Temos o mesos cluster onde estamos executando centos7 c5 instances no aws. A versão do kernel é a mais recente 4.16.1-1 .

No tipo de instância c5 , os volumes usam nvme drivers . Os volumes nvme parecem ter um comportamento como mencionado aqui , em que if there is an io timeout on a volume, the volume mount becomes read only and no further writes can happen. So if there is heavy read-write operations on your device like on root drive then after the io timeout no further writes can happen so its dangerous.

Na documentação da AWS ele mencionou para definir um tempo limite do io o mais alto possível e parece ser 4294967295 sec .

O documento da AWS especifica que default io timeout é 30sec , mas é o máximo 255 sec para kernel prior to 4.15 version e 4294967295 sec for kernel 4.15+. Como temos latest 4.16.1 kernel , devemos defini-lo como max 4294967295 sec .

Mas quando tento definir o parâmetro nvme_core.io_timeout para o valor máximo, ele não foi refixected. Eu tentei isso

sh-4.2# modprobe nvme_core io_timeout=123457
sh-4.2# cat /sys/module/nvme_core/parameters/io_timeout
30
sh-4.2#

Qual é a maneira correta de definir nvme_core.io_timeout ? Experimentei muitas outras coisas, como

  1. configurando em /etc/default/grub file
  2. comando sysctl
  3. Substituindo /sys/module/nvme_core/parameters/io_timeout arquivo

Mas nada ajudou.

    
por mchawre 23.05.2018 / 11:21

1 resposta

0

Com base em minhas próprias experiências, fazemos isso enquanto construímos nossas AMIs.

cp /etc/default/grub /tmp/grub cat >>/tmp/grub <<'EOF' GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX} nvme_core.io_timeout=255" EOF sudo mv /tmp/grub /etc/default/grub sudo update-grub

Em seguida, crie uma AMI na instância. Quando você inicia uma nova instância do EC2 a partir da AMI, surge a configuração correta.

Obviamente, isso pode ser modificado para definir qualquer parâmetro do kernel.

    
por 17.08.2018 / 15:15