amarao (amarao_san) wrote,
amarao
amarao_san

ip management

Требуется помощь зала, если в зале кто-то знаком с XenAPI/XenServer/XCP.

Хочется расширить множество объектов, объектом класса 'ip', или 'address'.

Пока видятся два варианта решения:

Минимальный:

ip может быть назначен на vif. У ip есть ссылка на network (в смысле XenAPI, то есть что-то, где создаются vif).

IP может создаваться и удаляться, эти действия являются административными. Помимо этого есть действия 'plug'/'unplug' (или что-то аналогичное, например, 'associate'/'disassociate'), производимые в отношении VIF. Каждый ip содержит все настройки для конфигурирования - шлюз, маску, и даже зачем-то DNS...

Xen-mitai:

Мы создаём объект "address_block", содержащий в себе настройки для всех адресов. Это маска, шлюз, номер сети, DNS и диапазон разрешённых адресов для выдачи.

Для связи между VIF и address_block мы создаём объект класса ip, по свойствам аналогичный vif/vbd. У IP есть атрибуты: host_number (собственно, номер хоста). ip ассоциируется с vif и vm, при этом требуется, чтобы host_number у ip был уникальным в пределах address_block. Заметим, в этом случае уникальность обеспечивается примерно так, как это делается для vbd/vif - вы просто физически не можете создать второй vbd для одной и той же машины с тем же самым device.

Соблазнительно создавать связь между address_block и owner, но в этом случае мы теряем различие между белыми и серыми IP, так что правильным будет всё-таки соблюдать логику и требовать связи между address_block, network и vif. Очевидным образом, vif может быть ассоциирован с одним из address_block, который связан с данной network.

Пожалуй, я остановлюсь всё-таки на второй схеме, потому что она даёт очень автоматическую логику, о которой не надо думать в каждом месте её применения.

Сам ip содержит host_number и rel.address_block, плюс, в качестве SQL-сахара - ip_address в уже готовом виде (ip.rel.address_block.network_number | ip.host_number). Поскольку эти поля создаются в момент создания объекта и не меняются в течение жизни объекта, никаких противоречий не будет.

Заметим, кстати, что это открывает возможность для выделения клиенту именно address_block в собственность (твори в пределах сети что хочешь), и это ляжет ровно и логично на ассоциированность с network, то есть творить что угодно можно только в пределах address_block И той network, с которой он ассоциирован.

PS Один из вопросов в названии address_block и ip (порнографичненько выглядит).
Tags: scapi, selectel cloud, xcp, xen
Subscribe

  • мы их теряем!

    Make: 1976 Прямо сейчас выходят на пенсию люди, для которых make был новомодной технологией, которую притащили хипстеры.

  • Админская мудрость

    Когда вывод strace на башовый скрипт становится понятнее самого скрипта, граница разумности давно пройдена.

  • Rules of internet

    Rule 34. There is porn of it. Rule 35. It's used to mine cryptocurrencies.

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments