簡介
vsphere虛拟化實作從模闆克隆虛拟機,通過自定義規範管理器實作對虛拟機的主機名、IP位址、網關、dns等的定制。
vsphere自定義規範管理器實作有兩種方式,一種是通過vsphere client;另一種通過pyvmomi。
本次我們主要以Centos7.5的定制做主要講解。
名稱 | 版本 | 備注 |
---|---|---|
vCenter | 5.5.0-218311 | vCenter Server 5.5 Update 2b |
Centos | 7.5 | 192.168.3.253 |
pyvmomi | 6.7.3 | |
python | 2.7.15 |
其中centos7.5的模闆我們已經提前準備完畢。
參考連結:
1.pyvmomi
2.vCenter與作業系統自定義版本對應
3.Centos7安裝
4.VMware vCenter 内部版本号和版本對應關系
第一個連結是本次使用通過pyvmomi操作vsphere的官方執行個體
第二個連結是目前vCenter自定義規範支援的各作業系統的版本對應
第三個連結是在虛拟化中Centos7安裝文檔
vsphere client
vsphere client 因為是界面話,操作比較建檔。
1.建立自定義規範管理器
其中域名localhost 主要指的是在本地hosts中搜尋域名,如“192.168.3.222 xxx.localhost”中的
2.自定義設定
其中我們已經将預設的網關及子網路遮罩設定完畢。
設定時區及dns設定我們在此沒有截圖,根據實際情況配置即可。
3.從模闆部署虛拟機
輸入虛拟機名稱,選擇檔案夾、叢集、主機、存儲等
選擇我們建立的自定義規範Centos7.5
輸入主機名,即hostname;填寫IP位址;
最後虛拟機依次将進行克隆、自定義,直至完成。
到此或許大家認為熱乎乎的定制虛拟機已經完成,可結果讓大家非常失望:
1.hostname沒有設定成功;
2.ip位址也沒有設定設定成功,但是網卡裡面的配置是OK的(某些情況會多出ifcfg-ether的網卡配置);
為什麼呢?
1.我們先來看下vCenter與作業系統自定義版本對應
目前測試環境的vCenter 為5.5u2,可支援的自定義為Centos6.x。是以我使用了一個Centos6.5模闆進行克隆,結果證明自定義規範生效。
2.檢視建立的虛拟機日志/var/log/vmware-imc/toolsDeployPkg.log,看出警告識别不了Centos7作業系統版本
從以上兩點,vCenter5.5u2可以支援rhel7,那我們是否可以将Centos7.5的版本号改為rhel7的呢?
我們重新将模闆轉換為虛拟機并修改Centos7.5的版本資訊,再轉換成模闆:
rm -f /etc/redhat-release && touch /etc/redhat-release && echo "Red Hat Enterprise Linux Server release 7.0 (Maipo)" > /etc/redhat-release
修改完成後,我們再從新從模闆自定義克隆虛拟機,最終完美實作主機名和IP的定制,過程耗時大約1分6秒左右。
我們再來看下自定義規範日志:
最終如下圖:
1.主機名修改為we123并自動添加至本地hosts
注意:克隆模闆時設計到兩個名稱,一是虛拟機名稱,二是域名,三是計算機名稱
虛拟機名稱在此我們設定的和計算機名稱一樣,但是域名如果設定為test,搜尋域名在hosts中将為we123.test
2.IP位址由原來模闆的192.168.3.253 已修改為 192.168.3.254
由于截圖原因導緻篇幅較長,pyvmomi實作自定義規範我們在下一篇博文vmware自定義規範定制虛拟機(二)-pyvmomi
參考博文:部署 – 從vSphere 5.5 – 從模闆部署Centos 7會忽略自定義