Я пытаюсь включить прямой ввод-вывод на / opt (/ dev / sda6, ext4) в Linux Mint 13. Я пытаюсь:
mount -o dio,rw /dev/sda6 /opt
как корень.
Система отвечает:
mount: wrong fs type, bad option, bad superblock on /dev/hda2
dmesg
сообщает:
EXT4-fs (sda6): Unrecognized mount option "dio" or missing value.
Я не могу понять, какой параметр установить для включения прямого ввода / вывода (и даже если для ext4 возможна установка с прямым вводом / выводом). Кроме того, если ext4 не должен поддерживать прямой ввод-вывод, может ли кто-нибудь указать файловую систему для использования в Linux, которая поддерживает?
ext4 не имеет dio
вариант монтирования (я считаю, что в AIX и Solaris есть), но у него есть dioread_lock
и dioread_nolock
варианты крепления. Из mount(8)
страница руководства:
dioread_lock / dioread_nolock
Определяет, следует ли ext4 использовать блокировку чтения DIO. Если указана опция dioread_nolock, ext4 выделит неинициализированный экстент перед записью в буфер и преобразует экстент в инициализированный после завершения ввода-вывода.
Этот подход позволяет коду ext4 избегать использования мьютекса inode, что улучшает масштабируемость в высокоскоростных хранилищах. Однако это не работает с журналированием данных, и параметр dioread_nolock будет проигнорирован с предупреждением ядра. Обратите внимание, что путь кода dioread_nolock используется только для файлов на основе экстентов. Из-за ограничений, содержащихся в этих параметрах, он по умолчанию отключен (например, dioread_lock).
Тем не менее, как уже упоминалось другими, прямой ввод-вывод обычно включается путем установки O_DIRECT
флаг в open(2)
системный вызов - т.е. он управляется приложением, а не параметром монтирования. O_DIRECT
поддерживается ext4, если только вы используете data=journal
вариант крепления (см. документация ext4 и это коммит).
Для InnoDB я знаю innodb_flush_method
параметр может использоваться для включения O_DIRECT
, но мне неизвестна подобная настройка для MyISAM?