Я установил программный рейд Linux уровня 5, состоящий из дисков 4 * 2 ТБ. Дисковый массив был создан с размером полосы 64 КБ и без других параметров конфигурации. После первоначального перестроения я попытался создать файловую систему, и этот шаг занимает очень много времени (около получаса или более). Я попытался создать файловую систему xfs и ext3, обе заняли много времени, с mkfs.ext3. Я заметил следующее поведение, которое может быть полезным:
- запись таблиц инодов выполняется быстро, пока не достигнет 1053 (~ 1 секунда), затем пишет около 50, ждет две секунды, затем записываются следующие 50 (согласно отображению на консоли)
- когда я пытаюсь отменить операцию с помощью Control + C, она зависает на полминуты, прежде чем она действительно отменяется
Производительность дисков по отдельности очень хорошая, на каждом из них я запускал bonnie ++ со значениями записи / чтения около 95/110 МБ / с. Даже когда я запускаю bonnie ++ на каждом диске параллельно, значения уменьшаются только примерно на 10 МБ. Поэтому я исключаю аппаратное / I / O планирование в качестве источника проблемы.
Я безуспешно пробовал разные параметры конфигурации для stripe_cache_size и readahead, но я не думаю, что они имеют отношение к операции создания файловой системы.
Детали сервера:
- Сервер Linux 2.6.35-27-generic # 48-Ubuntu SMP x86_64 GNU / Linux
- mdadm - v2.6.7.1
У кого-нибудь есть предложения по дальнейшей отладке этого?
источник
time mkfs.xfs -l sunit=128 -d agsize=64g,sunit=128,swidth=512 -b size=4096 /dev/md0 -f
это заняло примерно то же время, что и mkfs без каких-либо параметровЯ подозреваю, что вы столкнулись с типичной проблемой небольшой записи RAID5. Для записей с размером полосы он должен выполнять чтение-изменение-запись как для данных, так и для четности. Если размер записи совпадает с размером полосы, он может просто перезаписать четность, так как он знает, каково значение, и не должен пересчитывать его.
источник
Ваша mkfs и последующая производительность файловой системы могут улучшиться, если вы укажете шаг и ширину полосы при создании файловой системы. Если вы используете блоки 4k по умолчанию, ваш шаг равен 16 (полоса RAID 64 К, разделенная на блок файловой системы 4 Кб), а ширина полосы равна 48 (полоса 16 файловой системы умножена на 3 диска данных в вашем массиве).
источник