Неравномерная загрузка 2 дисков в 1 группу томов

У нас есть сервер приложений с двумя твердотельными накопителями Fusion-IO, объединенными в одну группу томов, образующую один том. Внутри этого тома есть 128 файлов по 40 ГБ каждый, доступ к которым осуществляется через карту памяти.

При изучении iostat мы обнаружили, что рабочая нагрузка неравномерно распределена по обоим дискам. Разница составляет 25%.

Каковы могут быть возможные причины этой проблемы? Как мне исследовать такую ​​проблему?

>lsblk
NAME                      MAJ:MIN RM   SIZE RO MOUNTPOINT
...
fioa                      253:0    0   2.9T  0
└─instvg-instant (dm-17)  252:17   0   5.8T  0 /instant
fiob                      253:16   0   2.9T  0
└─instvg-instant (dm-17)  252:17   0   5.8T  0 /instant

>iostat -xk -d fioa -d fiob
Linux 3.0.101-0.47.52-default (...)        08/10/2015      _x86_64_

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
fioa              0.00     0.00 1295.05 3116.02 65326.45 16359.80    37.04     0.29    0.07   0.01   3.82
fiob              0.00     0.00 1847.35 4090.05 88087.96 21608.44    36.95     0.42    0.02   0.01   5.98

1 ответ

Мне нужен выход lvs -o +devices,segtype чтобы подтвердить это, но я думаю, что вы только что линейно разбросали LV по обоим PV. Это плохая идея с точки зрения балансировки нагрузки, потому что файловая система будет стремиться заполняться от начала до конца, и первая половина файловой системы находится на одном PV, а вторая половина - на другом PV. Таким образом, пока файловая система не наполовину заполнена, почти все операции ввода-вывода будут идти к первому PV.

Чтобы это исправить, необходимо создать LV как striped объем, а не linear, Это может быть сделано с -i 2 перешел к lvcreate, Преобразование LV в чередующийся возможно, но только если у вас есть куча свободного места, которого у вас здесь нет. Это будет делать чередование фрагментов LV на обоих PV, так что (например) первые 8 КБ данных будут на первом PV, следующие 8 КБ на втором PV, следующие 8 КБ обратно на первый PV, и скоро.

Тем не менее, ваш профиль ввода / вывода не очень разбалансирован. Вы никогда не получите одинаковый ввод / вывод на обоих PV, просто потому, что запросы к PV не будут идеально сбалансированы.

Другие вопросы по тегам