meta data for this page
This is an old revision of the document!
Неравномерное назначение кэш дисков
Иногда в силу работы встроенного механизма распределения нагрузки журналы на SSD дисках в системе хранения Р-Хранилище создаются не равномерно или вообще не попадают на SSD а находят место на том-же диске.
Симптомы
Для простой проверки распределения журналов по дискам необходимо выполнить команду:
ls -alh /vstorage/*/journal
Пример вывода на снимке экрана ниже:
Также на диске могут быть обнаружены “мертвые” ссылки на чанк серверы которые уже удалены, пример такого сервера на снимке ниже:
Тип диска проще всего определить по его объему командой
df -h
Пример вывода на снимке экрана ниже:
В данном случае расположение журналов следующее:
- на диске /dev/sdb1 расположены два журнала для чанк сервисов №1025 и №1026;
- на диске /dev/sdd1 расположен журнал для чанк сервиса 1027;
- на диске /dev/sdc1 расположен журнал для чанк сервиса 1028;
Такое распределение является нормальным, так как сервер оснащен тремя кэширующими дисками и четырьмя дисками для хранения.
Проверить соответствие чанк серверов физическим дискам необходимо командой:
vstorage list-services -c %CLUSTER_NAME%
Где:
- %CLUSTER_NAME% - имя кластера Р-Хранилище.
Причины
- Изменение конфигурации Р-Хранилища после назначения кэш-дисков;
- Добавление дисков хранения после назначения кэш-дисков;
Восстановление
- Для начала необходимо добиться равномерного распределения жестких дисков по SSD дискам.
- Проверить сколько журналов расположено на каждом кэш-диске можно командой
ls -al /vstorage/*/journal. - При необходимости нужно удалить с SSD дисков:
- журналы к которым нет симлинков;
- симлинки которые никуда не ведут;
- журналы
csсервисов которые уже удалены;
- Рассчитать полезный объем журнала для каждого диска по формуле: %объем SSD% * 0.8 / %Кол-во HDD на каждый SSD%.
- Изменить размер журнала сервисов
csкомандой:for f in /vstorage/*/cs; do echo f$; vstorage -c %cluster_name% configure-cs -r $f -s %размер журнала%; sleep 1m; done
- Если на первом этапе не все журналы были созданы, то изменение размера журнала должно было освободить дополнительное пространство для создания новых журналов. В данном случае необходимо создать оставщиеся
csсервисы и выполнить скрипт еще раз.

