安 裝了兩臺vmware esx A和B,其中一臺作冷備,沒安裝vcenter,發現有一臺虛擬的redhat 在從A機切到B機的時候,網卡老是將原來的ifcfg-eth0複製到ifcfg-eth0.bak,生成新的ifcfg-eth0,每次切換都要從新設 置eth0的ip和網關才能正常工做,從網上搜索了一些資料,基本上都是說是redhat和centos在網卡mac地址改變後纔會生成 eth0.bak,知道緣由了,但是怎麼解決這個問題呢,又多切換了幾回,忽然注意到在切換虛擬機的時候有一個提示是cannel ,i move it,i copy it ,難道問題是在這嗎?我一直是選擇i copy it的,可錯誤就在這。ios
在虛擬機位置變化後啓動到95%時提示: msg.uuid.altered: This virtual machine might have been moved or copied.
In order to configure certain management and networking features, VMware ESX needs to know if this virtual machine was moved or copied.centos
If you don't know, answer "I copied it".服務器
仔細研究了一下,這個主要因爲虛擬機的配置發生變化或虛擬機的位置發生變化時會發生這樣的狀況.。網絡
下面是i copied it和i moved it 的區別:ide
選擇I copied it的時候,VMware軟件檢測到物理機改變後會對個虛擬機從新生成新的網卡MAC地址,UUIDui
選擇I moved it,只改變UUID,虛擬機其它配置不變。this
關於uuid的資料server
爲何會產生這個問題呢,還須要從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地址就會發生變化。ip
那麼有辦法取消這個提示,或者改一下這個提示的默認設置嗎?能夠的。虛擬機
一、vSphere Client登陸系統關閉虛擬機後右擊虛擬機Edit Settings;
二、點擊Options頁標籤而後找到Advanced選擇General後點擊Configuration parameters;
三、點擊Add Row添加下面的信息:answer.msg.uuid.altered將值設定爲I copyied it或I moved it;
四、點擊OK,完成添加;
若是想要利用編輯vmx文件來解決則能夠分別在vmx文件裏添加:
"answer.msg.serial.file.open"="Append"/"Replace"
"answer.msg.uuid.altered"="I copied it"/"I moved it" 而後保存文件便可。
其實若是是兩臺esx服務器,推薦安裝vcenter server ,而後啓用HA和vmotion,也就不會出現這個問題了。