Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:linux:nfs_unique_machineid [2020/05/06 03:21]
alex created
en:linux:nfs_unique_machineid [2020/05/06 03:59] (current)
alex
Line 1: Line 1:
 ====== Unique machine ID for nfs root systems ====== ====== Unique machine ID for nfs root systems ======
  
 +When multiple hosts running systemd share the same NFS root, they will also share the same machine-id. ​ This can cause issues, especially with journald. ​ Journald logging can be disabled by deleting ''/​var/​log/​journal''​ which solves most of the problems, but a better solution is to use unique machine-id values on all of the hosts. ​ Modern motherboards provide a unique UUID accessible via DMI, so a reasonable option is to write this out to /run during boot and point systemd at that as the machine-id. ​ Here is a simple way to set that up.
  
 +Create the file ''/​etc/​initramfs-tools/​scripts/​init-top/​machineid'':​
 +
 +<code bash machineid>​
 +#!/bin/sh -e
 +
 +PREREQS=""​
 +
 +prereqs() { echo "​$PREREQS";​ }
 +
 +case "​$1"​ in
 +    prereqs)
 +    prereqs
 +    exit 0
 +    ;;
 +esac
 +
 +# write sanitized motherboard UUID to /​run/​machine-id
 +sed '​s/​-//​g'​ /​sys/​class/​dmi/​id/​product_uuid > /​run/​machine-id
 +
 +# requires the following symbolic links:
 +# ln -sf /​run/​machine-id /​etc/​machine-id
 +# ln -sf /​run/​machine-id /​var/​lib/​dbus/​machine-id
 +
 +</​code>​
 +
 +Rebuild the initramfs (for example ''​update-initramfs -u''​) and replace ''/​etc/​machine-id''​ and ''/​var/​lib/​dbus/​machine-id''​ with symlinks to ''/​run/​machine-id''​.  ​