Неравномерная загрузка 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 не будут идеально сбалансированы.