Диски виртуальной машины (ВМ) размещаются в хранилище, указанном при создании ВМ. Если хранилище недоступно или переполнено, ВМ не будет создана.

Если хранилище не было указано в настройках, то для выбора хранилища платформа использует специальные метки — теги. Теги задаются в конфигурациях ВМ и настройках хранилищ кластера. При создании ВМ её диски получают теги, заданные в конфигурации. Если наборы тегов у диска и хранилища совпадают, то диск будет размещён в этом хранилище. Если хранилище с нужным набором тегов не найдено, ВМ не будет создана. 

Обратите внимание!

Теги используются только для ВМ в кластерах с KVM-виртуализацией.

Если при создании ВМ не были заданы ни хранилище, ни теги, то ВМ будет размещена в хранилище кластера по умолчанию. Если это хранилище не задано, недоступно или переполнено, ВМ не будет создана.

Использование теговLink to Использование тегов


Алгоритм выбора хранилища Link to Алгоритм выбора хранилища

Чтобы выбрать хранилище, платформа:

  1. Формирует список доступных хранилищ, отсортированный по убыванию свободного места.
    Пример: к кластеру подключено три хранилища: SSD1 (свободно 25 Гб), SSD2 (свободно 10 Гб), SSD3 (свободно 400 Гб). Будет сформирован список:
    1. SSD3.
    2. SSD1.
    3. SSD2.
  2. Последовательно проверяет хранилища из списка на соответствие тегам. Набор тегов диска должен полностью входить в набор тегов хранилища. Примеры:

    Теги диска
    Теги хранилища
    Результат
    aaaaaa, bbbсоответствует
    aaabbb, cccне соответствует
    aaa, bbb

    соответствует

    aaaне соответствует
    соответствует
    aaa, bbbaaa, cccне соответствует
  3. Если теги хранилища соответствуют тегам диска и места в хранилище достаточно, размещает диск ВМ в этом хранилище.
  4. Если хранилище с нужным набором тегов не найдено, не создаёт ВМ.

Управление тегамиLink to Управление тегами

По умолчанию в платформе созданы теги nvme, hdd и ssd. Эти теги не могут быть удалены. Вы можете добавить собственный тег при создании конфигурации или подключении хранилища.

Также вы можете управлять тегами через API-запросы:

  • чтобы получить список тегов, выполните запрос

    GET https://domain.com/vm/v3/tag
    CODE
  • чтобы создать тег, выполните запрос

    POST https://domain.com/vm/v3/tag
    CODE

    с параметром

    {
        "name": string,
        "note": string
    }
    CODE

    name — имя тега

    note — произвольный комментарий

  • чтобы удалить тег, выполните запрос

    DELETE https://domain.com/vm/v3/tag/<id>
    CODE

    <id> — id тега