6 votes

Remplacer systemd-machine-id-setup par une alternative ?

Nous utilisons un ubuntu-18.04 sur un environnement de virtualisation. Par conséquent, avant de créer le modèle, nous vidons toujours le fichier /etc/machine-id pour qu'il soit recréé au premier démarrage.

Le problème est que si plusieurs VM basées sur ubuntu-18 sont démarrées en même temps, systemd-machine-id-setup générera le même ID pour tous, ce qui entraînera une duplication d'IP. J'ai vérifié ces serveurs et ils ont tous le même contenu dans la section /etc/machine-id fichier.

IP duplication

Si les machines sont mises sous tension de manière espacée dans le temps, différentes IP sont attribuées, donc je suppose que systemd-machine-id-setup est généré en fonction de l'heure actuelle (éventuellement). Ceci n'est pas acceptable pour nous à cause du problème de l'image ci-dessus.

Existe-t-il un moyen de faire en sorte que le système d'exploitation génère l'adresse de l'utilisateur ? /etc/machine-id sur le démarrage basé sur un binaire alternatif ?

--- MISE À JOUR 1 ---

Sur le conseil de @GeraldSchneider, je je suis repassé de netplan à ifdownup et les IPs ont arrêté de se dupliquer, donc c'est définitivement un problème de plan de réseau.

no duplicated IPs

Même si cela permet de résoudre le problème, je suis curieux de savoir s'il existe un moyen de définir une autre façon de générer le fichier /etc/machine-id pour qu'il n'y ait pas de doublons avec Netplan.

2voto

oxr463 Points 352

...Je suis curieux de savoir s'il existe un moyen de définir une autre façon de générer le fichier /etc/machine-id...

Par le page de manuel machine-id ,

...Sinon, la valeur dans /etc/machine-id sera utilisée. Si ce fichier est vide ou manquant, systemd tentera d'utiliser l'identifiant de machine D-Bus de /var/lib/dbus/machine-id, la valeur de l'option de ligne de commande du noyau container_uuid, le produit KVM DMI product_uuid (sur les systèmes KVM), et enfin un UUID généré aléatoirement.

Et aussi, vers le bas de la page,

Le format simple du fichier de configuration /etc/machine-id trouve son origine dans le fichier /var/lib/dbus/machine-id introduit par D-Bus. En fait, ce dernier fichier peut être un lien symbolique vers /etc/machine-id.

Par conséquent, il est également possible de définir l'identifiant de la machine à l'aide de la fonction dbus-uuidgen comme on peut le voir dans la réponse suivante :

Par le page de manuel dbus-uuidgen ,

Si vous lancez dbus-uuidgen sans options, il imprime juste un nouvel uuid créé de toutes pièces.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X