Назад | Перейти на главную страницу

В CentOS 7 есть ли способ указать, какие блочные устройства следует настраивать с помощью планировщика (или ELEVATOR)?

В CentOS 6 было /etc/tune-profiles/my-server/ktune.sysconfig с этим текстом (я имею в виду комментарии, объясняющие, что делает код):

# 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"

# These are the devices, that should be tuned with the ELEVATOR
ELEVATOR_TUNE_DEVS="/sys/block/{sd,cciss,vd,dasd,xvd}*/queue/scheduler"

Но вроде как CentOS 7 ушла ktune позади. Я вижу альтернативу метод чтобы изменить планировщик ввода-вывода по умолчанию:

Добавить elevator параметр к GRUB_CMDLINE_LINUX линия в /etc/default/grub файл.

# cat /etc/default/grub
...
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=vg00/lvroot rd.lvm.lv=vg00/lvswap elevator=noop"
...

И это продолжается. Но это будет общесистемное изменение. Я ищу решение, подобное тому, которое было у меня в CentOS 6, где я мог бы указать, какие блочные устройства получат планировщик ввода-вывода, указанный в ELEVATOR параметр. Я надеялся, что смогу просто добавить elevator_tune_devs параметр к GRUB_CMDLINE_LINUX линия, но согласно этот, такого параметра ядра нет. Я знаю, что могу это сделать:

echo 'noop' > /sys/block/hda/queue/scheduler

например, но я надеялся на то, что продлится после перезагрузки. Лучшее решение - придерживаться этого echo в одноразовой службе, чтобы она запускалась каждый раз при загрузке, но я надеялся на более чистый метод, аналогичный решению CentOS 6.

У вас есть как минимум два метода:

  • использовать настраиваемый профиль с право disk вариант
  • вставьте команду "echo noop" в /etc/rc.local или создать конкретную службу systemd.

РЕДАКТИРОВАТЬ: здесь вы можете найти пример tuned.conf файл:

# tuned configuration

[main]
summary=ZFS General non-specialized tuned profile
include=balanced

[disk]
# Comma separated list of devices, all devices if commented out.
type=disk
devices=sda,sdb
elevator=noop

Как описано в приведенном выше руководстве по настройке RHEL, у вас есть разные возможности для определения списка устройств:

  • через список, разделенный запятыми (как в примере выше);
  • через подстановочные знаки (например: sd*);
  • к все диски, ничего не указывая (как в комментарии, включенном в файл выше).