web-dev-qa-db-ja.com

VM内からアクセスできる一意のIDを仮想マシンに与えることはできますか?

仮想マシンの内部から仮想マシンを一意に識別できるようにしたい。問題は、私のセットアップではそのためにMACアドレスを使用できないことです。別のハードウェアパラメーター(CPU名、BIOSフラグ、マザーボードIDなど)を構成して、VM内からアクセスできるVM)の一意の値を設定することはできますか? Xen、KVM、VMWare ESX、またはせいぜいそれらすべてで機能するソリューションに最も興味があります。

2
asmaier

VMが作成されたときに、ホストからUUIDを生成し、カーネルコマンドラインを介して渡すことができます。マシンをあるハードウェアノードから次のハードウェアノードに転送すると、UUIDはただし、新しいマシンを作成すると、新しいUUIDが生成されます。

他の回答で述べたように、VM(その構成を含む)を複製した場合、これは機能しませんが、その場合、コマンドラインからuuidgenを実行することは難しくありません。ドメインの作成に使用される構成ファイルのUUIDを置き換えます。

実際問題として、とにかくその方法でVMを複製しないことがおそらく最善です。新しいVMを作成し、環境に最適な方法でVMを構成するスクリプトを実行する必要があります。

1
Michael Trausch

VM UUID/GUIDを生成して保存する:

http://www.ietf.org/rfc/rfc4122.txt

   This specification defines a Uniform Resource Name namespace for
   UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally
   Unique IDentifier).  A UUID is 128 bits long, and can guarantee
   uniqueness across space and time.  UUIDs were originally used in the
   Apollo Network Computing System and later in the Open Software
   Foundation's (OSF) Distributed Computing Environment (DCE), and then
   in Microsoft Windows platforms.

Microsoftは、uuidgenというユーティリティを提供しています

Pythonには2.5から組み込まれています。

http://docs.python.org/library/uuid.html

これで、WindowsとLinuxについて説明します。

0
davey