Приложение python, запущенное как демон в различных дистрибутивах Linux, пытается зарегистрироваться на моем сервере, используя IP-адрес и FQDN-имя машины (заданное командой «hostname -f») в качестве первичного ключа.Как создать уникальный идентификатор для данной Linux-машины?
Теперь я столкнулся с проблемой, когда две машины имеют одинаковое имя хоста и IP-адрес. Например, в случае, если две виртуальные машины работают на двух отдельных машинах, имя хоста - «localhost.localdomain», а Ip Address - «192.168.0.2» для обоих из них.
Есть ли уникальный способ различить любые две машины. (Может быть, какой-то другой третий параметр, который гарантирует уникальность на любой машине linux)
Использование MAC-адреса также сложно, поскольку в описании python uuid упоминается (https://docs.python.org/2/library/uuid.html#uuid.getnode), что функция getnode возвращает MAC-адрес случайно из любого интерфейсов. Это также настоятельно рекомендуется на http://stackoverflow.com/questions/159137/getting-mac-address#comment49688_159195 Пожалуйста, дайте мне знать, есть ли способ определить основной MAC-адрес с помощью python. –
Я думаю, что лучший способ - создать случайный uuid и сохранить его на локальной машине, чтобы вы могли идентифицировать себя с ним на своем сервере. также getnode будет выполнять эту работу, пока вы сохраняете результаты на машине и повторно используете ее. – assaf
Проблема в том, что это приложение работает в большом количестве (тысяч) пользовательских машин не только локально на моей машине. Ваше решение только увеличивает вероятность того, что я получу «дублируемую ошибку первичного ключа» сверхурочно. –