Уровни хранения данных#
В терминологии продукта Кибер Инфраструктура уровнями хранения данных называются группы дисков, на базе которых созданы изолированные области хранения. Изоляция касается следующих аспектов функционирования:
отсутствие влияния нагрузки одного уровня хранения на производительность другого уровня хранения;
возможность автоматического или ручного переноса данных между уровнями;
возможность полного отключения переноса данных между уровнями;
возможность использования разных технологий избыточности для разных уровней.
На практике это позволяет использовать уровни хранения в следующих случаях:
разделение рабочих нагрузок хранилища между группами потребителей с обеспечением хранения данных этих групп на физически разных наборах дисков;
формирование нескольких уровней под потребителей с существенно разными требованиями к производительности и емкости хранения (например, один уровень на дисках SSD, а второй на дисках HDD);
использование уровней для организации классов хранения S3, обеспечивающих размещение объектов на дисках с производительностью, заданной в HTTP-заголовке x-amz-class-storage.
В случае, когда разные уровни организованы с использованием дисков HDD, можно использовать одни и те же диски SSD для организации журналов для служб фрагментов данных (CS) разных уровней.
При назначении дисков уровням (это можно сделать в любое время) учитывайте, что более быстрые накопители следует назначать на высшие уровни хранения. Например, уровень 0 можно использовать для резервных копий и других холодных данных (CS без кэша на твердотельных накопителях), уровень 1 — для виртуальных сред, то есть большого объема холодных данных, но с быстрыми операциями произвольной записи (CS с кэшем на твердотельных накопителях), уровень 2 — для горячих данных (CS на твердотельных накопителях), кэшей, конкретных дисков и т. п.
Эта рекомендация связана с тем, как Кибер Инфраструктура работает с пространством хранилища в режиме автоматической миграции. Если на каком-либо уровне хранения заканчивается свободное место, Кибер Инфраструктура попытается временно использовать пространство более низких уровней вплоть до низшего. Если заполнен и низший уровень, Кибер Инфраструктура попытается задействовать более высокий уровень. Если позже добавить пространства на исходный уровень, то данные, временно хранящиеся в другом месте, будут снова перемещены на него. Например, при попытке записать данные на уровень 2, который заполнен, Кибер Инфраструктура попытается записать эти данные на уровень 1, а затем на уровень 0. Если позже добавить пространства на уровень 2, вышеупомянутые данные, теперь хранящиеся на уровне 1 или 0, будут перемещены обратно на уровень 2, где они должны были храниться изначально.
Ручной запуск миграции данных между уровнями (по умолчанию)
При необходимости запустить миграцию данных между уровнями можно вручную. Убедитесь, что на целевом уровне достаточно свободного места и выберите его в настройках текущей политики хранения.
Автоматическая миграция данных между уровнями
В режиме автоматической миграции при заполнении текущего уровня данные автоматически переносятся на более низкий. Автоматическая миграция по умолчанию отключена. Включить ее можно командой
vstorage -c <cluster_name> set-config mds.alloc.strict_tier=0