Назад | Перейти на главную страницу

Низкая производительность XFS на LVM-RAID, быстрее в RAW или без LVM

У меня странная проблема с сервером, который я настраиваю. Это для веб-сайта с обменом файлами, поэтому требуется быстрый ввод-вывод и большая емкость. ОС - CentOS 6.4 64-битная

Рассматриваемый сервер - HP DL360p с 18 отсеками для дисков, заполненными дисками SAS 2 ТБ в RAID50.

Также есть отсек расширения HP StorageWorks SAS с дополнительными 12x2TB, также в RAID50.

RAID был настроен с помощью утилиты конфигурации BIOS сервера, используемые контроллеры довольно хорошие, с резервным аккумулятором и 2 ГБ FWBC.

Изначально мы создавали их как отдельные тома, но из-за специфики нашего программного обеспечения было бы намного лучше иметь один большой том.

Итак, я настроил том LVM, объединив эти два тома, затем отформатировал логический том с помощью XFS.

Проблема в том, что скорость оставляет желать лучшего. Запуск hdparm -tT дает лучшую скорость чтения 300 МБ / с.

Я провел несколько тестов и получил следующее:

нет LVM, XFS на обоих: оба тома имеют скорость чтения около 700 МБ / с

с LVM, но не установленный том: 1000-1100 МБ / с

с LVM в чередующемся режиме, без установленного тома: 1100-1300 МБ / с

Так что каким-то образом XFS, кажется, ограничивает скорость ... Я пробовал некоторые дополнительные параметры при форматировании и монтировании, такие как -l internal, enable lazy-count, nobarrier, но это не дало никаких улучшений.

Единственное, что я обнаружил, что может быть проблемой, это несоответствие размера полосы томов RAID (один был установлен на 512 КБ, а другой - на 256 КБ), поэтому я перенастраиваю их, чтобы они соответствовали, что займет несколько часов. Больше. Я также переформатировал том с su = 512k, sw = 28 (sw = 28 - это всего лишь предположение, так как всего 28 активных жестких дисков ... или мне следует установить это значение на 2 для томов RAID?)

У меня есть соблазн просто стереть все это и попробовать ZFS, это кажется многообещающим, но я думаю, что его настройка будет намного выше моего уровня навыков ...

Так что, если у кого-то есть опыт или советы по этому поводу, мы будем очень признательны!

Каковы требования к пропускной способности чтения / записи и IOPS вашего приложения? Производительность хранилища не всегда зависит от пропускной способности массива или необработанной полосы пропускания. Последовательные операции чтения / записи - это лишь часть операций ввода-вывода.

Более точный тест был бы Бонни ++ или iozone запустить против смонтированной файловой системы ... Или даже запустить ваше приложение и измерение реальной нагрузки.


На вашем месте я бы сбросил внутренние и внешние контроллеры и консолидировал их в Контроллер HP Smart Array P822 - Деталь № 615418-B21.

Это позволит вам обращаться к вашим внутренним дискам и внешнему корпусу в одном массиве. P822 также имеет Расширенный набор функций Smart Array (SAAP) включен по умолчанию. На этом этапе вы можете правильно разделить массив с правильным уровнем RAID (возможно, RAID 1 + 0) и возможностью назначить один или несколько глобальных «горячих» резервов для настройки. Контроллер также будет использовать двойной путь к вашему внешнему хранилищу. Вы также можете организовать чередование или зеркальное отображение пар дисков между внутренним и внешним хранилищем. Большая гибкость.

Однако самым большим преимуществом этой установки является включенный Функция кэширования твердотельного накопителя HP SmartCache. Это похоже на Cachecade LSI. Вооружившись одним или двумя твердотельными накопителями, вы можете хранить горячие данные на твердотельных накопителях с низкой задержкой, вместо того, чтобы переключаться на вращающийся диск.

Но это только аппаратная часть ...


Для томов XFS и особенно на HP gear я не использую LVM (некоторые люди делают, хотя). В контроллерах HP представление блочного устройства является абстрактным, поэтому я использую довольно простую строку форматирования файловой системы:

mkfs.xfs -f -d agcount=32 -l size=128m,version=2 /dev/sdX`

У fstab есть несколько вариантов монтирования:

UUID=4a0e1757 /data   xfs     noatime,logbufs=8,logbsize=256k 1 2

Но с RHEL6 есть также некоторые функции планирования и настройки производительности, которые следует учитывать. Главный из них - настроенный фреймворк.

yum install tuned tuned-utils
tuned-adm profile enterprise-storage 

Это установит лифт ввода-вывода, отключит барьеры записи и установит несколько других ориентированных на производительность параметров на лету в соответствии с расписанием, приведенным ниже.


ZFS в этой настройке вам не поможет. Вам придется полностью сбросить контроллеры Smart Array и перейти к SAS HBA или потерять всю функциональность ZFS RAID и использовать одно большое блочное устройство (которое выиграет от Smart Array P822, который я предложил выше). Оба потребуют некоторой формы кеша записи (ZIL), и я не думаю, что это решит проблему управляемости. ZFS требует гораздо больше планирования заранее.