Я создал RAID-массив, используя 2 локальных SSD-диска на экземпляре 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
Аппарат отлично работает. Однако, когда я пытаюсь установить планировщик ввода-вывода для массива (как root), файл планировщика не изменяется.
# echo noop > /sys/block/md127/queue/scheduler
# cat /sys/block/md127/queue/scheduler
none
Как правильно настроить планировщик, чтобы вывод последней команды был «noop»?
Не делайте этого вручную. Я имею ввиду тебя жестяная банка глобально, добавив строку параметра загрузки ядра. Но вместо этого используйте фреймворк настроенных утилит чтобы справиться с этим.
yum install tuned tuned-utils
После установки ...
tuned-adm profile virtual-guest
или создайте свой профиль на основе виртуального гостя.
В /etc/tune-profiles/virtual-guest
, есть строфа, в которой говорится:
# 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"
Модифицируйте по вкусу и готово!