克隆虛擬機

VMware克隆

經過虛擬機克隆,能夠方便的生成多臺狀態同樣的虛擬機來使用。
右鍵虛擬機:管理 -> 克隆網絡

連接克隆與完整克隆

完整克隆就是生成一個徹底獨立的虛擬機。因此這裏主要說明一下什麼是連接克隆。
連接克隆的最大優勢:速度快,節省磁盤空間。虛擬機的CPU、內存等資源都是獨立的,可是磁盤空間是基於原來的虛擬機產生的。連接虛擬機會在原來的虛擬機中建立一個以新虛擬機命名的快照,連接虛擬機本質上基於虛擬機的快照機制。
注意:因爲是基於原虛擬機快照的,因此連接克隆後,原虛擬機會自動生成一個新的快照。這個快照是基於原虛擬機的,因此即便把連接虛擬虛擬機從磁盤移除了,這個快照也還會一直留在原虛擬機上。不要的話記得刪除掉。
連接虛擬機是能夠和原虛擬機同時運行的。若是是用來臨時用一用的狀況,好比測試,推薦用鏈接克隆。ide

解決克隆後的問題

克隆會致使全部虛擬機都具備相同的信息,如今各個機器的狀態都是同樣的,包括系統和硬件信息也是同樣的,這就會有衝突。咱們須要的是多個不一樣的主機,因此還須要作相應的修改,來解決衝突的問題。
主要是修改2個信息:工具

  • 主機名
  • 網卡

主機名

查看主機名:測試

hostname

臨時修改主機名:ui

hostname 臨時主機名

這個是臨時修改,因此是不行的rest

查看主機名:code

hostnamectl

永久修改主機名:ip

hostnamectl set-hostname 新主機名

還能夠經過配置文件修改:內存

vi /etc/hostname

修改後當即生效,可是當前會話顯示的主機名是不會變的。不過也不須要重啓,登出再進入之後就行了。資源

網卡

查看網卡的UUID:

nmcli conn show

查看網卡的MAC地址:

nmcli dev show

MAC地址應該沒問題,會自動生成一個不同的,也不準要修改。
若是要改,則是在VMware的管理界面裏,右鍵虛擬機:設置... ,而後選擇網絡適配器,再進入高級... ,在這個界面裏能夠生成MAC地址。

網卡主要修改的是IP地址和UUID。最方面的作法就是去直接修改網卡的配置文件。不過在那以前要先生成一個網卡的UUID:

uuidgen ens33

每次生成的uuid都會不同,不過隨便一個都能用了。

此時設備網絡可能還會有問題,沒法使用SSH工具,可能也沒法複製粘貼。能夠用下面的作法:

cd /etc/sysconfig/network-scripts/
uuidgen ens33 >> ifcfg-ens33

這樣新生成的uuid就已經追加到網卡的配置文件中去了。

此時再去修改網卡的配置信息:

vi ifcfg-ens33

把原來的UUID那行刪除,在最後一行添加上UUID=的字樣。另外把IP地址等信息也修改好:

BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.12
PREFIX=24
GETWAY=192.168.1.1
DNS1=192.168.1.1
UUID=365359a4-d05b-4744-8407-ff58d88ccd3e

上面不是完整的網卡的配置文件,不過須要關注的配置基本上就是這些。通常只有IP地址和UUID須要修改。

最後重啓網卡便可:

systemctl status network
systemctl restart network

Hyper-V的操做

畢竟是微軟自家的,對Windows系統的支持應該沒問題。固然Linux也能跑的很好,只是遇到了一點坑。

Linux 不兼容 Secret Boot

這裏首先有一個坑,建立虛擬機的時候有一個選項「指定代數」,能夠選擇第一代或第二代。Windows Server 2012 R2 引入了第二代 Hyper-V 虛擬機,支持從 SCSI 硬盤引導。
第二代的虛擬機,默認開啓了 Secret Boot,會校驗 bootloader 的數字簽名。但大多數 Linux 發行版都不支持這個機制。

我試下來,下面第二個方法經過磁盤建立,只有第一代虛擬機的Linux系統能夠。若是選了第二代,即便關掉也沒法成功複製。參考網上一些文章,基本都是建議Linux系統選擇第一代虛擬機而不要去選第二代。

導出導入

在Hyper-V平臺上能夠經過導出/導入來操做。相似於備份還原,使用備份的文件能夠還原出多個虛擬機。

導出
選擇要進行克隆的虛擬機,右鍵導出。此時就是對虛擬機作一個備份。而且導出的文件也是以後導入要使用的。

導入
菜單欄的操做 -> 導入虛擬機...
在選擇以前導出的文件夾,而後選擇好虛擬機後,在選擇導入類型的時候一個有3個選項。此時要選第三個複製虛擬機建立新的惟一ID。這裏也只能選這個,另2個選了以後會提示錯誤。

虛擬機名稱
導入完成後,虛擬機平臺上虛擬機的名稱須要改一下,此時會有2個同名的虛擬機。能夠進入虛擬機的設置,查看資源所在的文件夾進行區分。重命名一下便可。
而後就能夠開機進入系統了。

主機名
主機名的修改沒什麼特別的,和上面的同樣,使用命令以下:

hostnamectl set-hostname 新主機名

網卡
網絡可能直接就能通了。新生成的系統原來網卡的配置文件還保留着,可是生效的是另一個配置,而且這個配置文件在目錄下是沒有的。
移除原有的網卡的配置文件,建議先用 mv 換個目錄保存。
而後能夠用 nmtui 命令,這是一個圖形界面。進入後選擇 "Edit a connection" 而後選擇網卡 edit,修改當前這塊網卡的 Profile name 後OK出來就能找到配置文件了。
即便不修改,直接OK出來也行,不過這裏自動生成的網卡的名字可能不太合適正好一塊兒改掉。這裏新建立的配置文件的文件名是參照 Profile name 來生成的。這裏以前若是作錯了,還能夠嘗試在圖形界面裏把網卡 Delete 掉,而後系統又會自動生成一塊新的,而後能夠再 Edit 修更名字。

經過磁盤建立

還能夠經過現有硬盤來建立虛擬機。先以某臺機器爲基礎建立一塊同樣的硬盤,而後再建立虛擬機而且指定虛擬硬盤。能夠建立差別磁盤,這個就至關因而連接克隆。

新建硬盤
菜單欄的操做 -> 硬盤...
在選擇磁盤類型的時候,能夠選擇差別。這個就是連接克隆。
選其餘兩個也同樣能實現虛擬機的克隆。就至關因而完整克隆。

新建虛擬機
菜單欄的操做 -> 虛擬機...
依然要選擇第一代虛擬機。指定的代數要和原來的虛擬機同樣才行。
鏈接虛擬硬盤的時候,要選擇使用現有虛擬硬盤,而後就指定以前建立的硬盤就行了。

主機名和網卡
這兩個依然須要進行修改來避免衝突,這個操做就很簡單了,沒什麼問題。

Windows系統

若是建立的是Windwos系統,可使用工具 sysprep 來清除Windwos系統上的惟一性信息。執行「進入系統全新體驗(OOBE)」,便可。這個操做能夠在第一臺機器上執行並關機,以後用這臺機器生成的其餘虛擬機就都沒有惟一ID了。

相關文章
相關標籤/搜索