I have a relatively new box here running Ubuntu with ZFS-on-Linux across an 18-disk array. The first couple of times I did a zpool scrub
, it seemed like everything worked nicely, but the last several times I've tried, it completely trashes the system - when I can get it to do anything at all, it's reporting a load average of 20-50, and most of the time it's just unresponsive.
This isn't expected behavior is it? Is there some configuration I can change to make this less awful?
Update:
В конце концов я спросил в списке рассылки ZFS-on-Linux и, в конце концов, выяснил, что моя проблема заключалась в том, что ZFS ARC использует слишком много системной ОЗУ (или, точнее, не оставляет достаточно бесплатно). Это приводило к конфликту за память между другими задачами ядра и ZFS, в результате чего на системном (не ZFS) диске было много операций ввода-вывода, и все замедлялось до обхода. Интересно, что система не сообщала об использовании подкачки, и все происходящее подкачка считывало статические страницы с диска (предположительно, библиотеки и т.п.), поэтому мой обычный сигнал «он меняет местами, поэтому он будет медленным» не сработал. выкл.
Я уменьшил размер кэша ARC, чтобы освободить 3-4 ГБ ОЗУ, и теперь все работает намного лучше!
Вам необходимо настроить установку ZFS. Значения по умолчанию в ZoL не подходят для вашего варианта использования.
Пожалуйста, предоставьте подробную информацию о настройке вашего оборудования и конфигурации ZFS.
В общем, вы можете изменить следующие параметры в файле конфигурации модуля zfs.conf
.
options zfs zfs_vdev_scrub_min_active=48
options zfs zfs_vdev_scrub_max_active=128