任意に仮想化され、制御できないサーバー ホストを繰り返し、非ランダムに、一意に識別できる必要があります。
- 一部の仮想化環境では、ネットワーク インターフェイスにハードウェア アドレスがないため、MAC アドレスは機能しません。
- 状態ファイルを生成してディスクに保存しても、仮想マシンが複製されてファイルが複製される可能性があるため、機能しません。
- サーバーの SSH ホスト キーが候補になる場合があります。それらは状態ファイルのように複製できますが、実際には、セキュリティ上の問題であり、めったに行われないミスであるため、通常は複製できません。
- /var/lib/dbus/machine-id もありますが、これは dbus に依存しています。(ありがとうPreetam)。
- cpuid がありますが、それは明らかに非推奨です。(TwitterのBruno Aguirreに感謝します)。
- ホスト名は検討する価値があります。Chef などの多くのシステムでは、すでに固有のホスト名が必要です。(ありがとう、アルフィー・ジョン)
サーバーの再起動やソフトウェアの再起動後も、ソリューションが長期間持続することを願っています。最終的には、私のソフトウェアのユーザーがホストを廃止し、別のホストに置き換えたいと考えていることも知っていますが、それに関連付けられたデータの継続性は維持します。ホストが自分自身を不明であると見なし始め、理由もなく自分自身を再登録することを特に望んでいません。
ホストの代替の永続的で一意の識別子はありますか?