標籤: vmware
esxi 7.0 製作客製iso
esxi 7 之後, 原本可以加掛螃蟹卡方式就失效了, 還需要高人提出解法, intel倒是有熱心人提出解法.
所以一般主機若要使用esxi 7.0 , 只能購買較高級網卡,如intel, 或是usb網卡, 購買之後, 一樣要掛載坊間製作的驅動才有用.
- 下載已做好的iso檔案
- 手動製作
先下載intel驅動程式 , 與最新版depot.zip 再修改以下指令製作(紅色部分須注意修改)
$EsxiDepot="VMware-ESXi-7.0U3f-20036589-depot.zip"
$EsxiProfile="ESXi-7.0U3f-20036589-standard"
$NewEsxiProfile="ESXi-7.0U3f-20036589-NUC"
#加上檔案名稱(從官網下載,需要登入,以及申請測試)
Add-EsxSoftwareDepot .\$EsxiDepot
#加上客製intel驅動程式
Add-EsxSoftwareDepot .\Net-Community-Driver_1.2.7.0-1vmw.700.1.0.15843807_19480755.zip
# 可下指令 Get-EsxImageProfile 取得 profile name 以及 vendor name
New-EsxImageProfile -CloneProfile "$EsxiProfile" -name "$NewEsxiProfile" -Vendor "virten.net"
# "net-community"為額外下載intel驅動程式名稱
Add-EsxSoftwarePackage -ImageProfile "$NewEsxiProfile" -SoftwarePackage "net-community"
Export-ESXImageProfile -ImageProfile "$NewEsxiProfile" -ExportToISO -filepath "$NewEsxiProfile.iso"
微軟提供製作好的 win10+ie11 vm測試版
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
virtualbox , vmware , hyper-v 都有, 要測試很方便
Promox VE神救援的故事, workflow GP 3.1
在這虛擬化盛行的年代, 偏偏就有很多軟體開發商, 還在抗拒虛擬化, 害怕一旦虛擬化後,將更容易被盜用,造成損失.
他們的做法主要有二,
一是綁定usb key , 讓你虛擬化後,還是得依賴usb key;
另一是軟體自行偵測是否處在虛擬環境, 若是就拒絕運行,有些則是偵測後,最後還是綁定一台實體主機, 進行授權檢查.
其實在我看來, 他們就是打著反盜版侵權的旗幟, 實際上強力控制客戶.
以台灣最有名的ERP廠商為例子 , 朋友10年前購買workflow GP 3.1 , 當時並沒有告知會鎖定實體主機, 直到朋友公司因為主機老舊,需要重新安裝, 卻出現安裝到虛擬伺服器上, 無法使用的情形, 詢問後, 才知道必須另外在一台實體主機上安裝授權程式, 並且支付ERP廠商”產生“授權序號的費用, 才能使用.
ERP廠商說得好聽就是請記得購買維護, 這些都可以免費協助, 說難聽就是要綁架,要控制這家公司的, 強力取得維護.
其實老實說, 大部分的公司都願意購買維護, 大可不需要用這種手段, 讓IT難為.
萬一實體主機壞了, 系統就停擺, 要等他們處理, 但他們卻沒有想過, 萬一產品停產, 不再維護, 或公司倒了怎麼辦?
後來我跟朋友在一個場合遇到, 才聊到他的問題, 於是我就幫忙檢視一下, 朋友公司使用ESXi 6.5 , 真的無法運行, 仿間小技巧都無法騙過ERP軟體的偵測.
我左思右想,居然橫空出現一個想法, 2010那個年代, 大部分的IT只知道vmware出的虛擬伺服器, 因此我猜測ERP廠商大概也就只會偵測vmware, 並不會偵測qemu , promox ve.
嘿嘿, 於是我立馬安裝了promox ve這個虛擬伺服器系統, 再重建workflow erp系統, 果然成功了, erp軟體一點都沒發現身處虛擬環境, 運行正常.
後話, 我還是建議朋友購買維護, 畢竟他們的ERP專業很夠, 但系統建置這方面就小鼻子小眼睛, 就讓人非常不認同.
會用到這類軟體的公司, 營收都是億來億去, 豈會虛擬化後, 還複製到別處使用, 況且這樣的軟體,一般還要經過上課, 顧問輔導, 系統開帳才有辦法使用, 會願意這樣做的公司, 還會盜用?
系統移轉在驚喜中完成,有promox ve真好!又推坑一家公司了.
實體主機轉換成虛擬主機準備工作(ESXi 6.5)
實體主機轉換成虛擬主機準備工作
準備軟體
- rufus
用來製作usb安裝開機碟
download url
https://rufus.ie/zh_TW.html - vmware ESXi 6.5 server
虛擬伺服器, 一個cpu免費, 到vmware官網註冊帳號即可申請
download url
https://my.vmware.com/web/vmware/downloads/details?downloadGroup=ESXI650&productId=614a - vmware converter
用來將實體主機轉換成虛擬主機
download url
https://my.vmware.com/en/web/vmware/downloads/info/slug/infrastructure_operations_management/vmware_vcenter_converter_standalone/6_2_0
硬體
- usb disk x2
一個安裝,一個開機 - 硬體主機
2.1 CPU
intel i系列支援 vt-d, vt-x功能
2.2 RAM
依未來虛擬主機狀況配置, 至少8GB起跳
2.3 主機板
請參照vmware硬體指南
https://www.vmware.com/resources/compatibility/search.php
2.4 儲存空間
資料存放位置(這部分最重要)
可選用NAS或是內建硬碟
步驟
- 執行rufus將下載好的esxi 6.5寫入usb磁碟
- 將兩個usb碟插入虛擬伺服器上
- 其中usb開機後, 安裝到另一個usb磁碟, 然後讓安裝完畢的usb進行開機
- 開機後設定適當ip
- 到預定轉換的主機上安裝converter, 執行converter將主機從實體轉換到虛擬伺服器上
- 轉換後虛擬伺服器上確認是否成功
製作客製esxi安裝檔出現WinError 10054
先前曾寫過 (ESXi)如何自製加上客製驅動程式之iso檔案 一直都沒有問題
直到最近因需要重做esxi安裝檔, 出現 winerror 10054錯誤, https://twitter.com/vfrontde/status/998868087586934785 上面說明是PWOER SHELL 改用 TLS1.2 造成的
可改用離線版的製作方式, 把相關檔案先下載到本地端, 就可以避開線上製作造成WinError 10054的問題
- 先準備好製作環境 ( windows powershell 3.0 or above )
# 安裝 vmware powercli ( powershell 需以管理者身分執行 )
set-executionpolicy unrestricted
Install-Module -Name VMware.PowerCLI
Import-Module VMware.ImageBuilder
Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $true - 製作客製iso檔
以下最新版 ESXi-6.7.0-20211104001-standard 版本, 可至 https://esxi-patches.v-front.de/ 查詢
#設定變數 $StandardImageProfileName="ESXi-6.7.0-20200604001-standard" $CustImageProfileName="ESXi-6.7.0-20200604001-william-20200729" $CustVendorName="kafeiou.pw" #匯出原版esxi Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml Export-ESXImageProfile -ImageProfile $StandardImageProfileName -ExportToBundle -filepath "$StandardImageProfileName.zip" Remove-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml #加入相關檔案 Add-EsxSoftwareDepot "$StandardImageProfileName.zip" # 支援6.5,6.7 Add-EsxSoftwareDepot .\vibs\net55-r8168-8.045a-napi-offline_bundle.zip Add-EsxSoftwareDepot .\vibs\net-igb-5.3.2-99-offline_bundle.zip Add-EsxSoftwareDepot .\vibs\sata-xahci-1.42-1-offline_bundle.zip #設定(權限) New-EsxImageProfile -CloneProfile $StandardImageProfileName -name $CustImageProfileName -Vendor $CustVendorName Set-EsxImageProfile -Name $CustImageProfileName -ImageProfile $CustImageProfileName -AcceptanceLevel CommunitySupported #啟用額外功能 , 支援6.5,6.7 Add-EsxSoftwarePackage -ImageProfile $CustImageProfileName -SoftwarePackage "net55-r8168" Add-EsxSoftwarePackage -ImageProfile $CustImageProfileName -SoftwarePackage "net-igb" Add-EsxSoftwarePackage -ImageProfile $CustImageProfileName -SoftwarePackage "sata-xahci" #匯出客製esxi Export-ESXImageProfile -ImageProfile $CustImageProfileName -ExportToIso -filepath "$CustImageProfileName.iso"
3. 第三方來源
https://vibsdepot.v-front.de/wiki/index.php/List_of_currently_available_ESXi_packages
ps. 相關patch檔案下載
https://customerconnect.vmware.com/patch#search
esxi 6.7(含)以上,不支援舊款的cpu
Intel® Xeon® 處理器E5504
最近想把閒置的老機器(Dell R410), 拿來安裝esxi , 沒想到出現unsupported cpu的問題,
原來該處理器 Xeon E5504已經不支援阿 XD
後來使用esxi 6.5 安裝就沒問題了
ESXi 使用ssh手動備份vm
最簡的的方式就是ssh登入到主機後, 將整個目錄備份到另一個掛載好的目錄
若需要備份的時候順便進行檔案瘦身(使用thin方式將用不到的資料剔除) , 可以透過以下指令達成
vmkfstools -i $Source/$VM/$VM.vmdk $Backup/$VM/$VM.vmdk -d thin
點選這裡可以下載做好的單一vm備份scripts , 只要編輯幾個變數就好了
若要做到窮人的自動備份, 可以參考 ghettoVCB ( https://github.com/lamw/ghettoVCB ) , 非常方便,還會寄發email報告備份結果.
ps . 為何我要手動備份, 因為小公司資源不足, 有時後vm的D槽掛載一個超大的資料目錄,但是我們只想備份c槽系統碟, 此時就可以針對c槽vmdk進行備份以及瘦身, 大資料的d槽部分, 就交給其他日常備份機制, 不需要整個vmdk備份起來.
Esxi 5.5 如何重啟排程
esxi的排程寫在
/var/spool/cron/crontabs/root
修改後需要重新執行
# kill -HUP $(cat /var/run/crond.pid)
# /usr/lib/vmware/busybox/bin/busybox crond
esxi轉centos 5 到pve失敗,出現 mount could not find system /dev/root
咖啡偶最近進行一系列從esxi轉到pve的工作, 其中出現轉CentOS 5這種老舊vm失敗的狀況, 錯誤如下:
Unable to access resume device (LABEL=SWAP-hda3)
mount: could not find filesystem ‘/dev/root’
測試過很多方式, 例如改ide, sata, scsi 等方式都不行, 最後終於找到重建開機程序 initrd 的方式解決,
解決方式如下:
- 下載相對應大版本OS , Centos 5.x 都可以
- 掛載 Centos 5開機片開機, 輸入 linux rescue(救援模式)
- 輸入 chroot /mnt/sysimage 讓系統暫時恢復成原系統的狀態
- 刪除/boot/initrd-xxx.img 開機檔案 xxx代表原系統開機時的版本號碼
- 查詢一下 /lib/module 是否有xxx版本號碼
- 重建開機檔案 mkinitrd /boot/initrd-xxx.img xxx
- 重開機, 卸載Centos 5開機片, ,改由原系統開機測試是否能成功