Я хотел бы навсегда изменить планировщик ввода-вывода для определенного диска в Fedora 20. Согласно тому, что я обнаружил, этого можно достичь, выполнив следующую строку оболочки от имени пользователя root:
echo {НАЗВАНИЕ-ПЛАНИРОВЩИКА}> / sys / block / {НАЗВАНИЕ-УСТРОЙСТВА} / очередь / планировщик
Однако после перезагрузки изменение теряется. Кажется, что средство для достижения того, что я хочу, - это создать службу systemd, но я полностью потерялся, поскольку ее нужно запускать после монтирования дисков. Может ли кто-нибудь помочь мне написать такую службу systemd? Также приветствуется любое другое жизнеспособное решение.
В tuned
и tuned-utils
пакеты доступны для Fedora (они также есть в Red Hat). Это системная услуга, которая может применяться предопределенные или определяемые пользователем системные профили и настраиваемые на лету, включая параметры монтирования, планировщики дисков, параметры sysctl и т. д. Многие администраторы Liinux игнорируют эти настройки.
См. Руководство по Fedora 20:
http://docs.fedoraproject.org/en-US/Fedora/20/html/Power_Management_Guide/sect-tuned-installation-and-usage.html
Что-то вроде:
tuned-adm profile virtual-guest
или
tuned-adm profile enterprise-storage
Вот расписание настроек для RHEL. Fedora может немного отличаться.
Я знаю, что вы ищете настройки на определенном диске, но я обычно применяю параметры планирования ввода-вывода ко всем дискам. В любом случае, посмотрите, подходят ли вам предопределенные профили (нет необходимости дублировать усилия). Если нет, профили легко настроить.
Вам просто нужно создать файл в /etc/systemd/system/io-scheduler.service со следующим содержанием:
[Unit]
Description=I/O Scheduler Setter
After=local-fs.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'echo noop > /sys/block/sda/queue/scheduler'
TimeoutSec=0
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Затем включите службу для автоматического запуска при загрузке и запустите ее для текущего сеанса с помощью:
chmod 755 /etc/systemd/system/io-scheduler.service
systemctl enable io-scheduler.service
systemctl start io-scheduler.service
Вы можете изменить планировщик по умолчанию для всех дисков, добавив следующее в командную строку ядра, которую можно найти в /boot/grub/menu.lst
:
elevator={SCHEDULER-NAME}
@ewwhite, вы ответили на вопрос, не задаваемый оператором.
Ответ на «навсегда изменить планировщик ввода-вывода для определенного диска» не предоставляется в предложенном вами ресурсе, а комментарий «способ документирования и задумки Fedora и Red Hat» не соответствует действительности по нескольким причинам, которые я выиграл » не попасть сюда.
Чтобы изменить планировщик io для определенного диска, оператор выбрал правильный метод:
То, как он решает запустить эту команду, несколько произвольно; это можно сделать с помощью приложения для управления конфигурацией, сценария или создания служебной единицы, как он это сделал.
@boscoe - это будет проблемой в системах grub2. Вопрос направлен на F20. Кроме того, он применит подъемник ко всем дискам, чего не было после операции.