建虛擬機全流程:從模板部署到資源分配與故障排查)
簡介面向虛擬化運維人員或 VMware 初學(xué)者這份 docx 文檔系統(tǒng)梳理了 vCenter 創(chuàng)建虛擬機的完整流程重點解決通過內(nèi)容庫管理 ISO 鏡像并快速部署 CentOS 7 虛擬機的問題。文檔先介紹如何在 vCenter 中創(chuàng)建 ISO 內(nèi)容庫并配置與 ESXi 一致的存儲位置再說明從已有內(nèi)容庫克隆 ISO 鏡像到目標庫的操作要點最后分步講解新建虛擬機時如何選擇 ESXi 主機、設(shè)置兼容性與客戶機操作系統(tǒng)類型并在 CD/DVD 設(shè)備中掛載克隆好的 ISO 鏡像。文字步驟配合關(guān)鍵截圖直觀易用。資源包為單份 Word 文檔docx大小 2.05MB結(jié)構(gòu)清晰適合直接閱讀、打印或作為實驗練習(xí)參考。目前已有 349 人學(xué)習(xí)下載。對正在搭建 vCenter 實驗環(huán)境或需要規(guī)范化批量部署虛擬機的運維人員這是一份簡明實用的操作手冊有助于減少因步驟遺漏導(dǎo)致的部署失敗提升虛擬機交付效率。1. 在 vCenter 里創(chuàng)建虛擬機從模板部署到資源分配的完整落地流程很多人拿到一份 vCenter 創(chuàng)建虛擬機的操作文檔第一反應(yīng)是「這有什么好寫的下一步下一步就完了」。但真正在生產(chǎn)環(huán)境里動過手的人都知道vCenter 建虛機這件事坑全藏在細節(jié)里存儲策略選錯導(dǎo)致虛擬機無法遷移、網(wǎng)卡類型不匹配導(dǎo)致千兆業(yè)務(wù)只有百兆速度、模板克隆后 Linux 機器網(wǎng)卡起不來、資源池超賣導(dǎo)致宿主機 CPU 就緒時間飆升。這些不是玄學(xué)是每一步選擇背后的原理沒吃透。這份實操文檔的價值不在「如何點完向?qū)А苟凇该恳徊綖槭裁催@么選、參數(shù)怎么定、哪些默認值要改」。它適合剛接手虛擬化平臺的新人照著走一遍流程也適合被虛擬機性能問題折騰過的運維用來對照檢查自己的分配習(xí)慣。2. 創(chuàng)建前的規(guī)劃命名規(guī)范、計算資源與存儲策略的三維選型2.1 命名規(guī)范與資源位置規(guī)劃在 vCenter 里創(chuàng)建虛擬機第一個決定不是點「新建虛擬機」按鈕而是想清楚這臺機器放在哪、叫什么名字。很多初學(xué)的人隨手把虛擬機建在數(shù)據(jù)中心根節(jié)點下集群、資源池、文件夾全是亂的等到虛擬機數(shù)量過百運維排查問題全靠猜。合理的做法是先看目標集群里有沒有建立文件夾和資源池的層級規(guī)劃。我一般會建議按「業(yè)務(wù)線 - 環(huán)境 - 應(yīng)用」三級來組織文件夾例如「訂單系統(tǒng)」文件夾下再分「生產(chǎn)」和「測試」兩個子文件夾虛擬機命名則采用「業(yè)務(wù)代碼-環(huán)境-角色-序號」的格式比如order-prod-web-01。這樣的命名方式在 vCenter 的搜索框里一搜就能定位配合標簽功能還能做進一步的維度管理。資源池的規(guī)劃又是一個常見盲區(qū)。很多人以為資源池是拿來分 CPU 內(nèi)存用的其實更關(guān)鍵的作用是「預(yù)留和限制」的控制點。生產(chǎn)環(huán)境的虛擬機建議直接放在集群根節(jié)點下讓 DRS 自動調(diào)度測試環(huán)境的虛擬機可以放進一個帶 CPU 限額的資源池防止壓測時把宿主機資源吃光影響生產(chǎn)業(yè)務(wù)。這個決策直接影響后續(xù)虛擬機性能必須在創(chuàng)建前就定下來。2.2 存儲策略選擇Thick 還是 Thin這是個性能問題存儲配置是新建虛擬機向?qū)Ю镒钊菀住改J到底」的一步但恰恰是這一步?jīng)Q定了虛擬機后續(xù)的性能基調(diào)和運維復(fù)雜度。虛擬機磁盤格式有厚置備延遲置零、厚置備快速置零和精簡置備三種很多人只知道「精簡省空間」卻不清楚它在生產(chǎn)環(huán)境里的性能代價和存儲水位風(fēng)險。厚置備快速置零在創(chuàng)建時就分配好全部空間并清零讀寫性能最穩(wěn)定適合數(shù)據(jù)庫等高 IO 應(yīng)用。厚置備延遲置零同樣預(yù)先分配空間但不清零首次寫入時性能會打折。精簡置備按實際使用量增長創(chuàng)建速度快適合桌面虛擬化和測試環(huán)境但最怕存儲池空間規(guī)劃失控——虛擬機刪了文件但未回收空間存儲水位持續(xù)上漲最后整池爆滿。具體怎么選我通常會看存儲設(shè)備的類型和業(yè)務(wù)對延遲的敏感性。全閃存陣列上跑核心業(yè)務(wù)選厚置備快速置零普通 SAS 盤上的開發(fā)測試虛擬機選精簡置備。如果底層是超融合架構(gòu)還要額外關(guān)注存儲策略里是否啟用了去重和壓縮這些功能會改變空間計算的邏輯。2.3 網(wǎng)絡(luò)與計算資源參數(shù)CPU 預(yù)留、內(nèi)存預(yù)留和網(wǎng)卡類型新建虛擬機向?qū)Ю?CPU 和內(nèi)存的配置看似簡單但「給幾核幾 G」的定義方式有很多大學(xué)問。vCenter 里 CPU 配置涉及插槽數(shù)、每個插槽的內(nèi)核數(shù)、CPU 預(yù)留、CPU 限制和份額。插槽數(shù)和內(nèi)核數(shù)的設(shè)置直接關(guān)系到虛擬機內(nèi)部操作系統(tǒng)的許可證授權(quán)比如某些數(shù)據(jù)庫按物理 CPU 插槽計費你就需要把內(nèi)核盡量集中到少量插槽上。內(nèi)存配置方面預(yù)留是一個容易被忽略的選項。虛擬機內(nèi)存預(yù)留意味著宿主機必須保留等量的物理內(nèi)存給這臺虛擬機禁止回收和超賣。對于 SQL Server、Oracle 這類對內(nèi)存延遲敏感的應(yīng)用我習(xí)慣開啟全部內(nèi)存預(yù)留對于普通的 Web 服務(wù)器則關(guān)閉預(yù)留讓 ESXi 的內(nèi)存回收機制發(fā)揮作用提高宿主機密度。網(wǎng)卡類型的選擇也藏著性能坑。新版 vCenter 創(chuàng)建 Linux 虛擬機默認推薦 VMXNET3但有些老舊操作系統(tǒng)鏡像沒有集成對應(yīng)驅(qū)動啟動后網(wǎng)卡無法識別。此時需要改用 E1000E 兼容模式或者準備驅(qū)動軟盤在系統(tǒng)安裝時加載。這個細節(jié)不處理好克隆出來的虛擬機必現(xiàn)網(wǎng)絡(luò)不通的問題。3. 通過模板部署虛擬機的完整流程自定義規(guī)范與克隆參數(shù)調(diào)優(yōu)3.1 從模板部署的標準操作路徑模板部署是生產(chǎn)環(huán)境批量創(chuàng)建虛擬機的主流方式比從頭安裝操作系統(tǒng)快得多也更容易保證系統(tǒng)配置的一致性。在 vCenter 里從模板部署虛擬機有兩種方式基于 vCenter 的克隆部署和基于內(nèi)容庫的部署。前者適合同集群內(nèi)的快速復(fù)制后者適合跨 vCenter 甚至跨站點的標準化分發(fā)?;?vCenter 的克隆流程大致如下在虛擬機模板上右鍵選擇「從此模板新建虛擬機」輸入虛擬機名稱并選擇存放位置數(shù)據(jù)中心或文件夾選擇計算資源集群、主機或資源池選擇存儲位置和存儲策略選擇是否勾選「自定義此虛擬機的操作系統(tǒng)」并配置客戶機操作系統(tǒng)自定義規(guī)范設(shè)置操作系統(tǒng)信息主機名、IP、DNS、域等完成部署并啟動虛擬機這里最關(guān)鍵的一步是第 5 項「客戶機操作系統(tǒng)自定義規(guī)范」。如果跳過這一步克隆出來的虛擬機主機名和 IP 都跟模板一模一樣多臺機器同時上線就會發(fā)生 IP 沖突和主機名重復(fù)。自定義規(guī)范需要提前在 vCenter 的「策略和配置文件」里創(chuàng)建好按照 Windows 和 Linux 分開配置。3.2 自定義規(guī)范的核心參數(shù)配置Linux 和 Windows 的自定義規(guī)范參數(shù)差異很大。Windows 需要配置產(chǎn)品密鑰、管理員密碼、時區(qū)、工作組或域、網(wǎng)絡(luò)設(shè)置其中 Sysprep 的版本必須跟模板里的 Windows 版本嚴格匹配——Windows Server 2016 模板對應(yīng) Sysprep 2016 版本版本不匹配會直接導(dǎo)致自定義失敗。Linux 的自定義規(guī)范相對簡單但同樣有版本匹配問題。vCenter 里的 Linux 自定義是通過 guest customization 工具執(zhí)行的不同版本的 Linux 對應(yīng)不同的工具版本。我踩過最典型的一個坑模板是 CentOS 7自定義規(guī)范里選了 RHEL 7 的選項結(jié)果克隆后 /etc/hostname 沒改IP 倒是配上了但主機名還是模板里的名字監(jiān)控系統(tǒng)里全是重名告警。網(wǎng)絡(luò)配置部分的參數(shù)決定了虛擬機能否按預(yù)期接入網(wǎng)絡(luò)。靜態(tài) IP 模式下需要填對子網(wǎng)掩碼、網(wǎng)關(guān)和 DNSDHCP 模式下啥都不用填但得確認目標網(wǎng)絡(luò)里有 DHCP 服務(wù)。如果虛擬機要同時配置多個網(wǎng)卡自定義規(guī)范里要按順序指定每個網(wǎng)卡的 IP順序搞錯會導(dǎo)致業(yè)務(wù) IP 配到了管理網(wǎng)卡上。3.3 克隆后的初始化檢查清單克隆部署完成后第一件事不是直接接入業(yè)務(wù)而是做一輪初始化檢查。我習(xí)慣按下面的清單走一遍確認主機名是否按照自定義規(guī)范正確修改確認所有網(wǎng)卡的 IP、網(wǎng)關(guān)、DNS 是否符合規(guī)劃檢查/etc/hosts或 Windows 的 hosts 文件里是否殘留模板的解析記錄檢查 SSH 主機密鑰是否已重新生成Linux 場景檢查 Windows 的 SID 是否已通過 Sysprep 重新生成確認虛擬機時間同步是否正常NTP 服務(wù)是否隨系統(tǒng)啟動這些檢查看著瑣碎但每一條都對應(yīng)著生產(chǎn)環(huán)境里真實發(fā)生過的故障。比如 SSH 主機密鑰不重新生成多臺克隆機指紋一樣運維平臺做主機信任時會直接報沖突。4. 空白虛擬機創(chuàng)建與手動安裝系統(tǒng)ISO 掛載和引導(dǎo)參數(shù)設(shè)置4.1 創(chuàng)建空白虛擬機并掛載 ISO 鏡像不是所有場景都能用模板部署。有時候需要從零開始安裝一套全新的操作系統(tǒng)版本或者模板里沒有你需要的系統(tǒng)類型這時候就要走「新建空白虛擬機 手動掛載 ISO 安裝」的路線。這個流程雖然步驟更多但對系統(tǒng)的掌控力最強。在 vCenter 里新建空白虛擬機時「客戶機操作系統(tǒng)」的選擇需要跟實際要安裝的系統(tǒng)一致。這個選擇不僅影響虛擬機名稱后綴還會影響虛擬硬件的兼容性配置——選錯系統(tǒng)類型后續(xù)安裝完系統(tǒng)后虛擬機的硬件版本可能不被識別。比如要裝 Windows Server 2022客戶機操作系統(tǒng)類型需要選到對應(yīng)的版本這樣虛擬硬件才會默認啟用必要的虛擬化特性。ISO 鏡像的掛載有兩種方式一是通過數(shù)據(jù)存儲瀏覽上傳 ISO 到存儲上再掛載到虛擬光驅(qū)二是通過內(nèi)容庫管理 ISO在虛擬機設(shè)置里直接選擇內(nèi)容庫中的 ISO 文件。第二種方式更規(guī)范適合團隊協(xié)作場景ISO 文件不用每人傳一份到存儲。掛載 ISO 后虛擬機的引導(dǎo)順序也很關(guān)鍵。默認情況下虛擬機從硬盤引導(dǎo)如果硬盤上沒有引導(dǎo)記錄會直接報沒有可引導(dǎo)設(shè)備。需要在虛擬機設(shè)置的「引導(dǎo)選項」里調(diào)整引導(dǎo)順序把 CD/DVD 光驅(qū)放在硬盤之前或者臨時勾選「強制進入 BIOS 設(shè)置界面」手動選擇一次性引導(dǎo)設(shè)備。我用一個 bash 式的操作習(xí)慣做參考創(chuàng)建虛擬機時就把光驅(qū)設(shè)為第一個引導(dǎo)設(shè)備裝完系統(tǒng)后再把硬盤調(diào)回第一位避免后續(xù)重啟時從 ISO 反復(fù)引導(dǎo)。4.2 安裝過程中的 VMware Tools 安裝與驅(qū)動驗證手動安裝系統(tǒng)的過程跟物理機基本一樣但有一個額外且必須做的事安裝 VMware Tools新版叫 open-vm-tools。VMware Tools 不僅提供鼠標無縫切換、剪貼板共享這些體驗類功能更重要的是它包含了虛擬機與 ESXi 交互所需的驅(qū)動和服務(wù)比如內(nèi)存氣球驅(qū)動、網(wǎng)絡(luò)驅(qū)動優(yōu)化、時間同步模塊。沒裝 VMware Tools 的虛擬機會在 vCenter 里顯示一個黃色感嘆號并且無法正常執(zhí)行 shutdown 和 reboot 操作。Windows 系統(tǒng)的 VMware Tools 安裝很簡單掛載后運行 setup 即可。Linux 系統(tǒng)則建議用系統(tǒng)自帶的 open-vm-tools 包通過包管理器安裝# 以 CentOS/RHEL 系為例 sudo yum install -y open-vm-tools # 以 Ubuntu/Debian 系為例 sudo apt-get install -y open-vm-tools # 安裝完成后啟動并設(shè)置開機自啟 sudo systemctl enable --now vmtoolsd這里有個安裝源的問題如果操作系統(tǒng) ISO 是精簡版的可能默認軟件源里沒有 open-vm-tools需要用原版安裝源或提前準備好的離線包。open-vm-tools 裝完后vmware-toolbox-cmd命令可以查看虛擬機的資源狀態(tài)和宿主機信息這是驗證虛擬化環(huán)境是否正常的一個直接手段。驅(qū)動的驗證同樣不能忽略。Windows 系統(tǒng)裝完 VMware Tools 后打開設(shè)備管理器確認所有設(shè)備沒有黃色感嘆號Linux 系統(tǒng)通過ethtool -i eth0查看網(wǎng)卡驅(qū)動類型確認是 vmxnet3 而不是 e1000——如果是 e1000說明網(wǎng)卡類型選得不對需要關(guān)機后改成 vmxnet3 再開機驗證。4.3 引導(dǎo)參數(shù)設(shè)置的常見誤區(qū)手動安裝系統(tǒng)時引導(dǎo)參數(shù)設(shè)置有一些經(jīng)常翻車的地方。Linux 安裝時如果設(shè)置了錯誤的inst.stage2參數(shù)指向不存在的安裝源安裝程序會卡在啟動界面找不到安裝介質(zhì)。Windows 安裝時如果 UEFI 引導(dǎo)和 BIOS 引導(dǎo)模式選錯裝出來的系統(tǒng)無法直接引導(dǎo)或者反過來在設(shè)置為 UEFI 的虛擬機上裝了傳統(tǒng) BIOS 模式系統(tǒng)開機直接黑屏。還有一個容易忽略的是虛擬機的固件類型。vCenter 里創(chuàng)建虛擬機時可以選擇 BIOS 或 UEFI 固件這個選擇在創(chuàng)建后不能隨意更改。UEFI 模式下 Windows 虛擬機需要磁盤上存在 EFI 系統(tǒng)分區(qū)BIOS 模式下則需要 MBR 引導(dǎo)。模板克隆時如果模板用了 UEFI克隆出來的虛擬機也必須保持 UEFI混合使用會導(dǎo)致啟動失敗。這個約束在新手期幾乎必然踩一次。5. 虛擬機資源限制配置預(yù)留、份額、限制的實際調(diào)優(yōu)參數(shù)5.1 份額與預(yù)留的計算邏輯虛擬機的性能問題很多不是宿主機硬件不夠而是資源分配策略不合理。vCenter 的資源管理有三個核心杠桿份額Shares、預(yù)留Reservation和限制Limit。理解這三個參數(shù)的關(guān)系是調(diào)優(yōu)虛擬機性能的基礎(chǔ)。份額是「相對權(quán)重」而非「絕對能力」。當(dāng)多臺虛擬機爭搶同一宿主機的 CPU 資源時份額比例決定了誰能搶到更多。默認份額是「正?!沟燃壝款w vCPU 的權(quán)重為 1000。如果你有兩臺虛擬機一臺份額設(shè)為高一臺設(shè)為低當(dāng)宿主機 CPU 資源緊張時高份額的虛擬機可以獲得更多 CPU 時間片。但注意只要宿主機資源沒到瓶頸份額對單臺虛擬機的性能沒有任何影響。預(yù)留則是「最低保障」設(shè)定后宿主機必須為這臺虛擬機保留對應(yīng)的 CPU 或內(nèi)存資源。預(yù)留可以在 CPU 或內(nèi)存層面獨立設(shè)置比如 CPU 預(yù)留 4GHz 意味著宿主機必須保證 4GHz 的 CPU 計算能力給這臺虛擬機。預(yù)留值設(shè)得過高會降低宿主機的整體可調(diào)度容量導(dǎo)致能容納的虛擬機數(shù)量變少。限制參數(shù)正好相反它給虛擬機的資源使用設(shè)置一個硬頂。生產(chǎn)環(huán)境里一般不會主動給核心業(yè)務(wù)虛擬機設(shè)置 CPU 限制但對于測試環(huán)境或者多租戶共享的集群限制往往是防止資源被單個租戶耗盡的唯一手段。合理的做法是核心業(yè)務(wù)設(shè)預(yù)留 默認份額測試業(yè)務(wù)設(shè)限額 低份額。5.2 內(nèi)存預(yù)留與 NUMA 架構(gòu)的影響內(nèi)存預(yù)留對性能的影響比很多人想象中更大。虛擬機的內(nèi)存預(yù)留有三個檔位不預(yù)留、部分預(yù)留、全部預(yù)留。ESXi 的內(nèi)存回收機制包括透明頁共享、內(nèi)存壓縮和交換這些機制會在物理內(nèi)存不足時將虛擬機內(nèi)存頁回收或換出到存儲設(shè)備上的交換文件。如果虛擬機啟用了全部內(nèi)存預(yù)留ESXi 不會回收它的任何內(nèi)存頁內(nèi)存訪問延遲最好但宿主機能跑的虛擬機密度會顯著下降。NUMA 架構(gòu)是另一個需要考慮的因素?,F(xiàn)代 x86 服務(wù)器都是多路 CPU每個 CPU 對應(yīng)一組本地內(nèi)存訪問本地內(nèi)存和遠端內(nèi)存的延遲不同。VMware 的 NUMA 調(diào)度器默認會嘗試把虛擬機及其內(nèi)存放在同一個 NUMA 節(jié)點上但前提是虛擬機的 vCPU 數(shù)量和內(nèi)存大小不超過單節(jié)點的物理資源。創(chuàng)建超大虛擬機時vCPU 超過單 NUMA 節(jié)點核數(shù)內(nèi)存跨越兩個節(jié)點導(dǎo)致訪問遠端內(nèi)存的概率上升性能可能下降 10% 到 20%。要規(guī)避 NUMA 問題創(chuàng)建虛擬機時優(yōu)先選擇「每個插槽的內(nèi)核數(shù)」等于物理機單 NUMA 節(jié)點核數(shù)的配置。比如宿主機是 2 路 32 核每路 32 核是一個 NUMA 節(jié)點那么給虛擬機配 64 核時最好設(shè)置為 2 個插槽 × 32 核而不是 1 個插槽 × 64 核。這個細節(jié)在 vCenter 的資源分配界面可以直接控制。5.3 資源分配的實戰(zhàn)參數(shù)參考不同業(yè)務(wù)類型的虛擬機資源分配參數(shù)差異很大我在下面的表里給出常用的參考值。這些值不是硬性標準但可以作為一個合理的起點再根據(jù)監(jiān)控數(shù)據(jù)逐步調(diào)整業(yè)務(wù)類型CPU 預(yù)留CPU 份額CPU 限制內(nèi)存預(yù)留內(nèi)存份額典型配置核心數(shù)據(jù)庫全部高無全部高16 vCPU / 64GB業(yè)務(wù)應(yīng)用服務(wù)無正常無部分(50%)正常8 vCPU / 16GBWeb 前端集群無低8 vCPU無低4 vCPU / 8GB批處理任務(wù)無低16 vCPU無正常8 vCPU / 32GB測試環(huán)境無正常24 vCPU無正常8 vCPU / 16GB這個表的選取邏輯是核心數(shù)據(jù)庫對延遲最敏感預(yù)留拉滿保證性能下限Web 前端集群可以橫向擴容單機設(shè)限避免故障時拖垮宿主機批處理任務(wù)對時間不敏感但吃 CPU份額可以降低讓其他業(yè)務(wù)優(yōu)先測試環(huán)境限制放寬但跟生產(chǎn)物理隔離。資源分配后一定要通過 vCenter 的性能圖表驗證效果。查看 CPU 就緒時間、內(nèi)存交換率、磁盤延遲這幾個關(guān)鍵指標如果就緒時間持續(xù)高于 5%說明 CPU 超賣嚴重需要調(diào)高份額或遷移部分虛擬機到其他宿主機如果內(nèi)存交換率高說明物理內(nèi)存不足開啟內(nèi)存預(yù)留或增加宿主機內(nèi)存是僅有的兩個出路。6. 虛擬機創(chuàng)建常見問題排查五個高頻故障的處理記錄6.1 故障一模板克隆后網(wǎng)絡(luò)不通IP 未按自定義規(guī)范配置現(xiàn)象從模板克隆一臺 Linux 虛擬機啟動后訪問不到在 vCenter 控制臺里看到網(wǎng)卡顯示了 IP但實際 ping 不通網(wǎng)關(guān)。原因自定義規(guī)范里的網(wǎng)絡(luò)配置只改了網(wǎng)卡的 IP 地址沒有重新啟動 NetworkManager 服務(wù)或者模板里的網(wǎng)卡設(shè)備名與自定義規(guī)范指定的網(wǎng)卡名不一致。常見于 CentOS 7 使用/etc/sysconfig/network-scripts/ifcfg-eth0文件而實際網(wǎng)卡名為 ens192 的場景。解決先到 vCenter 控制臺用ip addr確認網(wǎng)卡實際名稱和 IP 配置手動修正網(wǎng)卡配置文件后重啟網(wǎng)絡(luò)服務(wù)如果自定義規(guī)范配置時勾選了「使用 DHCP」檢查網(wǎng)絡(luò)內(nèi) DHCP 服務(wù)是否可用如果模板克隆后反復(fù)出現(xiàn)這個情況建議在模板里預(yù)先做一次克隆前的網(wǎng)絡(luò)清理刪除網(wǎng)卡配置文件中的 UUID 和設(shè)備綁定信息讓克隆后的機器重新生成配置。6.2 故障二Windows 虛擬機克隆后提示「嘗試運行 Sysprep 時出錯」現(xiàn)象從 Windows 模板克隆自定義規(guī)范走到最后一步時報錯提示 Sysprep 運行失敗克隆出來的虛擬機沒有被正確自定義。原因vCenter 的 Windows 自定義通過 Sysprep 工具完成而 Sysprep 的版本必須與虛擬機內(nèi)的 Windows 版本嚴格對應(yīng)。常見的原因是模板里是 Windows Server 2019但 vCenter 自定義規(guī)范里選擇了 Windows Server 2016 的 Sysprep 選項或者模板系統(tǒng)已經(jīng)運行過 Sysprep 導(dǎo)致狀態(tài)文件殘留。解決先在 vCenter 的「策略和配置文件」中檢查自定義規(guī)范對應(yīng)的 Sysprep 版本并對照模板中 Windows 的版本如果模板內(nèi)殘留C:\Windows\Panther\unattend.xml或Sysprep\Sysprep.xml文件建議先手動清理再重新封裝模板封裝模板的正確流程是在 Windows 內(nèi)以管理員權(quán)限運行C:\Windows\System32\Sysprep\sysprep.exe選擇「進入系統(tǒng)全新體驗 (OOBE)」勾選「通用」關(guān)機后再轉(zhuǎn)為模板。6.3 故障三虛擬機開機黑屏控制臺無輸出現(xiàn)象從 ISO 手動安裝系統(tǒng)時虛擬機開機后電源狀態(tài)是運行中但控制臺黑屏或者卡在某一畫面不動。原因ISO 鏡像引導(dǎo)模式與虛擬機固件不匹配例如 UEFI 固件加載傳統(tǒng) BIOS 引導(dǎo)的 ISO也可能是虛擬機配置了多個顯示器但控制臺選中了錯誤的一個還有可能是 ISO 鏡像文件損壞或者存儲上的 ISO 文件被上傳時截斷。解決先確認虛擬機固件類型在虛擬機設(shè)置里查看「引導(dǎo)選項」是否為 UEFI如果固件是 UEFI確認 ISO 支持 UEFI 引導(dǎo)Windows 原生支持Linux 需要 iso 鏡像里包含 EFI 引導(dǎo)文件排除固件問題后在控制臺窗口的「切換顯示器」菜單里切換顯示輸出最后用存儲的數(shù)據(jù)校驗功能驗證 ISO 文件大小與源文件是否一致。6.4 故障四虛擬機可遷移狀態(tài)異常vMotion 報錯現(xiàn)象將虛擬機執(zhí)行熱遷移時提示「虛擬機兼容性檢查失敗」或「目標主機無法訪問虛擬機網(wǎng)絡(luò)」。原因虛擬機所在的存儲策略與目標主機不兼容或者虛擬機使用了不可遷移的虛擬設(shè)備比如 PCI 直通設(shè)備、RDM 裸設(shè)備映射網(wǎng)絡(luò)方面源主機和目標主機不在同一個二層網(wǎng)絡(luò)虛擬機端口組不匹配。解決在虛擬機設(shè)置里確認是否存在直通設(shè)備或 RDM 設(shè)備如果有需要先停掉虛擬機再遷移檢查源集群和目標集群的存儲策略是否一致跨集群遷移時需要目標集群有相同的存儲策略定義網(wǎng)絡(luò)方面推薦使用分布式交換機VDS并保證目標主機上有相同的端口組配置。6.5 故障五虛擬機性能極差卡頓明顯現(xiàn)象虛擬機剛創(chuàng)建完跑起來很流暢運行一兩天后明顯變卡打開應(yīng)用要等很久。原因宿主機資源超賣嚴重CPU 就緒時間過高或者存儲 IO 達到瓶頸磁盤延遲增大還有可能是虛擬機的快照殘留過大快照層數(shù)據(jù)堆積導(dǎo)致磁盤性能下降。解決打開 vCenter 的性能監(jiān)控切換到「高級」視圖查看 CPU 就緒時間、內(nèi)存交換率、磁盤平均延遲三個指標如果 CPU 就緒時間普遍高于 10%需要考慮遷移部分虛擬機到其他宿主機或者調(diào)整份額如果磁盤延遲高于 20ms檢查存儲陣列的負載和存儲策略如果是快照問題刪除所有舊快照并執(zhí)行一次 storage vMotion 重新落盤。7. 驗證虛擬機創(chuàng)建結(jié)果的完整自查清單從配置確認到連通性測試虛擬機創(chuàng)建完成后設(shè)定完整的驗證閉環(huán)能避免多數(shù)線上事故。我的習(xí)慣是把驗證分為三層虛擬化層、操作系統(tǒng)層和應(yīng)用層。虛擬化層驗證主要是檢查 vCenter 里的虛擬機配置與申請單是否一致。打開虛擬機編輯設(shè)置逐一核對 CPU 核數(shù)、內(nèi)存大小、磁盤容量、網(wǎng)卡數(shù)量和端口組。這里有個細節(jié)磁盤容量和內(nèi)存大小在虛擬機運行期間可以熱添加但熱添加的效果需要客戶機操作系統(tǒng)支持Windows Server 2012 以上和較新的 Linux 內(nèi)核都支持在線識別但確認最終生效最穩(wěn)妥的方式是看客戶機操作系統(tǒng)內(nèi)的實際資源而不是只看 vCenter 顯示配置。操作系統(tǒng)層驗證的常用手段是進到系統(tǒng)內(nèi)部查看。Linux 用lscpu、free -h、df -h和ip addr分別確認 CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)配置是否與規(guī)劃一致Windows 用「系統(tǒng)信息」和「設(shè)備管理器」確認特別留意網(wǎng)卡是否識別為 VMXNET3 以及磁盤是否顯示為 VMware Virtual disk。應(yīng)用層驗證取決于虛擬機承載的業(yè)務(wù)。如果是 Web 服務(wù)用 curl 或瀏覽器訪問本地端口確認服務(wù)可用如果是數(shù)據(jù)庫用客戶端連接測試并執(zhí)行一條查詢語句如果是消息隊列確認消費者連接數(shù)達到預(yù)期。這一步是最終驗收的依據(jù)不能省。還有一個被很多人忽略的驗證項是虛擬機的時間同步。虛擬機的操作系統(tǒng)時鐘漂移是一個長期問題模板或克隆機器如果 NTP 服務(wù)沒配好時間偏差會持續(xù)累積。Linux 虛擬機建議在/etc/chrony.conf或/etc/ntp.conf中配置 NTP 服務(wù)器并確認服務(wù)開機自啟Windows 虛擬機建議保留 VMware Tools 的時間同步設(shè)置并額外配置外部 NTP 源# 以 Chrony 為例編輯 /etc/chrony.conf # 添加公司內(nèi)部的 NTP 服務(wù)器地址示例 server ntp.internal.example.com iburst # 重啟 chronyd 并確認同步狀態(tài) sudo systemctl restart chronyd sudo chronyc sources -v這個操作看起來簡單但實際生產(chǎn)里 NTP 沒同步導(dǎo)致認證失敗、日志時間異常的案例太多了。服務(wù)端和客戶端時間偏差超過五分鐘Kerberos 認證直接失效數(shù)據(jù)庫主從復(fù)制也可能因為時間戳錯亂報主鍵沖突。從那以后每次創(chuàng)建完虛擬機我都強制走一遍時間同步驗證流程同時檢查系統(tǒng)日志里是否有驅(qū)動加載失敗的記錄。這份習(xí)慣幫我提前發(fā)現(xiàn)了不少克隆機器的遺留問題節(jié)省了大量排查時間希望幫到你。本文還有配套的精品資源點擊獲取