Низкая производительность дисковой системы в linux, причины?
Здравствуйте,
В *nix я не особо силён, но поставили некоторую задачу и при решении столкнулся с проблемой.
Задача состоит в том, что есть сервер
HP Proliant DL360e Gen8, в нём 8 дисков: 4 SSD собранные в RAID 1+0, и 4 обычных теробайтных HDD в RAID 5.
Стало кончатся место в массиве RAID 5.
В качестве RAID-контроллера используется HP Dynamic Smart Array B320i, так как он не умеет на лету менять размер массива, то схема работы получилась такой:
1) подключаю в порт ODD обычный SATA на 5Тб.
2) Копирую туда данные с массива
3) Удаляю массив
4) Меняю харды
5) Создаю новый массив
6) Переношу данные на новый массив.
Вот на втором этапе возникла проблема: крайне низкая скорость передачи данных.
Копирование идёт со скоростью ~30 мегабайт в секунду. Сначала я думал что это из-за того что диск вставлен в ODD.
Но попробовал копировать в /dev/null и с хардового и с ссдшного массивов. Всё равно скорость в районе 30 мегабайт.
Собственно вопрос, из-за чего так может быть, и что делать, как исправить?
На сервере установлен Linux Ubuntu 14.04.1, ядро 3.19.0-32-generic
Сделайте пожалуста немножко диагностики:
1 попробуйте из /dev/zero писать на диск подключенный в ODD - какая будет скорость ?
2 запостите сюда вывод cat /sys/block/sdX/queue/scheduler (для обоих рейд массивов и для диска в ODD подставив нужное вместо sdX)
3 посмотрите нагрузку на дисковую при попытке писать с рейд массивов на диск в ODD при помощи команды
iostat -x -p 3 интересует последний столбец - %util
Если есть такая возможность, я бы проверил в сингл. Ибо если у вас там одновременно идёт активная запись или, что ещё хуже, лежит на пятом рейде база, то контроллер, сам по себе не самый шустрый, может основательно подтупливать.
Я бы ещё посмотрел, для очистки совести, что говорит про диски smart вообще и smartctl -l scterc. Но, учитывая аналогичное поведение SSD RAID1, это вероятно ничего не даст.
Идей больше нет, кроме проблем именно этого контроллера на именно этой платформе с именно этим ядром.