複製移動VMware虛擬機文件提示"I moved it"與"I copied it"的異同

我們在對一個虛擬機系統做複製或者移動到另一個新的位置的時候,啓動虛擬機時會有如下提示:

  This virtual machine may have been moved or copied.

  In order to configure certain management and networking features VMware Workstation needs to know which.

  Did you move this virtual machine, or did you copy it?

  If you don''t know, answer "I copied it".

  爲什麼會產生這個問題呢,還需要從UUID談起(UUID是指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。通常平臺會提供生成UUID的API ),虛擬機同樣會有一個UUID,而且這個UUID是唯一的。

  虛擬機的UUID一般和虛擬機配置文件的位置和物理主機有關。當我們對一個虛擬機系統做移動操作的時候,我們不需要新建一個UUID。讓我們複製一個虛擬機的時候我們應該選擇建立一個新的UUID,來保證此虛擬機的唯一性。

  當我們利用嘗試拷貝或移動一個位於datastore裏面的虛擬機時,系統會提示我們:

  A.I_Moved it;

  B.I_Copied it;

  同時我們能看到如下消息:

  “msg.uid.altered:This virtual machine may have been moved or copied”,那麼,這一切究竟是什麼意思呢??

  首先,我們應該瞭解一下,上面消息中所說的UUID是個什麼東西?

  UUID的全稱是:universally unique identifier。UUID是一個128位的數值,用它來區別每個虛擬機之間的差異。

  在虛擬機被開啓或移動時,UUID會自動生成,UUDI的值是基於物理主機並且保存在*.vmx文件裏面的。UUID值存儲在vmx文件的2個位置:

  A.uuid.bios;

  B.uuid.location(這是虛擬機的當前路徑);

  比如:uuid.bios="56 4d 5e 58 66 f5 2d 04-03 31 0a bd 6f a7 19 88"

  UUID同時還存儲與虛擬機的BIOS裏面。當虛擬機開啓或被移動時,UUID的uuid.location值會隨着虛擬機存儲位置變化而相應的變化。一旦虛擬機的位置發生變化,那麼uuid.location值也會發生相應的變化,這時,就會提示我們最開始描述的信息。

  那麼UUID爲什麼那麼重要呢?如果UUID相同會發生什麼事兒呢?其實,最關鍵的一個還是UUID的最後幾位是和虛擬機的MAC地址有關的,如果不發生變更,在我們克隆虛擬機時,可能導致UUID相同,那麼,MAC地址會發生衝突,那麼,網絡就會存在問題。

  那麼,究竟該選者“I Moved it”還是“I Copied it”呢?其實,這個問題,我們通過分別執行一下之後對比vmx文件裏的內容就知道了:

  I Moved it:

  由於是移動這個虛擬機,那麼只有uuid.location發生變化,MAC地址是沒有變化的。

  I Copied it:

  由於是拷貝虛擬機,那麼uuid.bios和uuid.location都會發生變化,這時MAC地址就會發生變化。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章