VK Object Storage logo
Помощь
Обновлена 17 июля 2026 г. в 15:35

Планирование физического хранения данных

Storage-серверы обеспечивают физическое хранение данных. При планировании физического хранения данных необходимо распределить нагрузку по серверам.

Для хранения объектов на серверах выделяются отдельные диски. Диски объединяются в пары (pair). Пара является единицей (unit) хранения файлов. Unit может занимать весь объем дисков пары или их часть, с использованием разделов. Далее под парой будет подразумеваться размеченный unit соответствующей пары дисков.

Пара является точкой отказа: чем меньше ее размер, тем меньший объем данных будет затронут при отказе. При большом размере пары и мелких объектах в хранилище можно достигнуть ограничения файловой системы по количеству inode и большому числу файлов в директориях, что замедлит работу ОС с этим разделом. Пары малого объема неудобны для администрирования.

Оптимальный размер пары — 2-4 ТБ на раздел, т.е. имеется ввиду 2 диска (или разделов диска) объемом от 2 до 4 ТБ каждый на разных серверах. Размер отдельных дисков (или разделов дисков) в паре должен быть одинаковым.

Рекомендуется разносить диски пар на серверы, располагающиеся как минимум в разных стойках, желательно — в разных ЦОД или разных машинных залах. Для удобства создания пар рекомендуется выделение четного количества серверов.

Параметры хранилища, дисков и количества Storage-серверов связаны между собой следующим отношением:

QV=nPS\frac {Q}{V} = \frac {n \ast P}{S}

Здесь:

  • Q – Совокупный объем дисков на одном Storage-сервере.
  • V – Размер одной пары.
  • n – Фактор хранения, для текущей реализации он всегда равен 2.
  • P – Количество пар.
  • S – Количество Storage-серверов.

Данные передаются на Storage-серверы по HTTP. Необходимо планировать количество серверов относительно требований к трафику на сохранение/скачивание файлов. Скачивание всегда идет с одного Storage-севера. Сохранение файла производится на 2 сервера (на оба диска в паре). Файл считается успешно сохраненным, если успешно завершилась запись на оба диска в паре. Наиболее комфортный объем файлов для хранилища — от 20 КБ до 100 ГБ.

Информация о парах хранится в PairDB. PairDB — снимок состояния дисковых пар хранилища.

Информация о месте хранения файлов сохраняется в FileDB. FileDB хранит соответствие файл-пара.