У нас есть сервер приложений с 2 Fusion io SSD, помещенные в одну группу объема, формирующую один единственный объем. В этом объеме существует 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
Мне нужен вывод lvs -o +devices,segtype
, чтобы подтвердить это, но моя лучшая догадка в том, что вы только что линейно распределили LV по обоим PV. Это плохая идея с точки зрения балансировки нагрузки, потому что файловая система будет стремиться заполняться от начала до конца, а первая половина файловой системы находится на одном PV, а вторая половина - на другом PV. Итак, пока файловая система не будет наполовину заполнена, практически все входы/выходы будут идти на первую PV.
Чтобы это исправить, LV нужно создать в виде полосатого
тома, а не линейного
. Это можно сделать с помощью -i 2
, переданной в lvcreate
. Преобразование LV в полосатое возможно, но только в том случае, если у вас есть куча свободного места, которого у вас здесь, похоже, нет. Это позволит чередовать куски LV на обеих PV, так что (например) первые 8KiB данных будут на первой PV, следующие 8KiB на второй PV, следующие 8KiB обратно на первой PV, и так далее.
Учитывая это, ваш профиль ввода/вывода не является ужасным вне баланса. Вы никогда не получите идентичных входов/выходов на обоих PV, просто потому, что запросы к PV не будут идеально сбалансированы.
.