Версия ОС: CentOS Linux, выпуск 7.2.1511 (Core)
В моем файле rc.local есть следующие команды:
/usr/sbin/blockdev --report > /root/test_boot
/usr/sbin/blockdev --setra 256 /dev/vdb
/usr/sbin/blockdev --report >> /root/test_boot
После загрузки файл / root / test_boot имеет следующее содержимое:
кошка test_boot
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 10737418240 /dev/vda
rw 256 512 4096 2048 8588886016 /dev/vda1
rw 256 512 4096 0 53687091200 /dev/vdb
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 10737418240 /dev/vda
rw 256 512 4096 2048 8588886016 /dev/vda1
rw 256 512 4096 0 53687091200 /dev/vdb
тогда как команда
blockdev --report
дает другое значение:
RO RA SSZ BSZ StartSec Size Device
rw 8192 512 4096 0 10737418240 /dev/vda
rw 8192 512 4096 2048 8588886016 /dev/vda1
rw 8192 512 4096 0 53687091200 /dev/vdb
Похоже, что какая-то другая программа ядра перезаписывает значение при загрузке. Какая может быть программа? Есть ли способ выполнить команду blockdev --setra в самом конце процесса загрузки?
Примечание: я также пробовал помещать команды в init.d, systemd и crontab. Все время происходит одно и то же.
Выполните эти команды, чтобы перезагрузить файл tuned.conf:
# tuned-adm profile
# tuned-adm active virtual-guest
После этого значения загрузятся из файла /etc/rc.d/rc.local.
Это результат cat /etc/rc.local
с сервера centos 7.
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.