1. 程式人生 > >vmvare&vsphere制作虛擬機模板

vmvare&vsphere制作虛擬機模板

註釋 oot 安裝 root 地址映射 per VM class net

VMware/vSphere中新安裝好的虛擬機把以下兩個文件添加註釋後,即可轉換為虛擬機模板
添加註釋
[root]# cat /etc/udev/rules.d/70-persistent-net.rules
# SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:8c:19:a6", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# 註釋此行 SUBSYSTEM

[root]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# HWADDR=00:50:56:8C:19:A6
# 註釋此行 HWADDR
# 註釋 UUID
然後關機,把服務器轉換為模板或者用來克隆主機, 系統啟動後,所有網卡會正常啟動並獲取IP地址. 讀者不用擔心註釋這兩項內容會對操作系統有不良影響;

克隆主機網卡啟動失敗的原理:
CentOS系統啟動的時候,會探測網卡MAC地址並寫入/etc/udev/rules.d/70-persistent-net.rules,例如前文的就是 "00:50:56:8c:19:a6", 它對應的網卡接口是eth0. 網卡文件/etc/sysconfig/network-scripts/ifcfg-eth0 , DEVICE=eth0 對應的同樣是 00:50:56:8C:19:A6 .所以 ifcfg-eth0 和 70-persistent-net.rules 兩個文件中的eth0和MAC地址映射關系是一樣的.
vmware或vSphere克隆操作系統,會給網卡分配一個新MAC地址,比如新MAC是 01:50:56:8C:19:A6. 那麽原來的"00:50:56:8c:19:a6"已經不復存在了. 操作系統啟動以後探測到這個MAC地址後繼續寫入70-persistent-net.rules文件中,並按照eth0,eth1,eth2的順序依次來命名. 原來已經存在eth0. 所以新MAC地址 01:50:56:8C:19:A6 則會對應eth1. 但是 ifcfg-eth0 對應的是HWADDR地址 00:50:56:8C:19:A6 (舊). 這是導致網卡啟動失敗原因, 因為MAC地址和eth0的對應關系就錯亂了. 因此, 70-persistent-net.rules的MAC和eth0的對應關系和 ifcfg-eth0文件中的HWADDR 和eth0的對應文件保持一致, 那麽網絡啟動就沒有問題. 需要註意的一點就是MAC地址要以70-persistent-net.rules文件的為基準, ifcfg-eth0的 HWADDR 只是方便人查看的.
所以, 註釋 70-persistent-net.rules 的內容是為了系統在啟動的時候探測到新MAC地址並對應eth*時, 保持從eth0起始命名的順序. 而註釋 ifcfg-eth0 的 HWADDR 是為了使ifcfg-eth0 可以映射任意的新MAC而並非固定一個. 所以 系統啟動後的, 新MAC -> eth0 -> ifcfg-eth0 .

vmvare&vsphere制作虛擬機模板