讓ESXi7.0不支持的板載網(wǎng)卡發(fā)揮余熱

今年上半年ESXi7.0發(fā)布后,大家發(fā)現(xiàn)螃蟹網(wǎng)卡和一些老舊的Intel網(wǎng)卡因?yàn)闆]有Native驅(qū)動(dòng)而不被ESXi7.0支持了。

當(dāng)然還可以繼續(xù)使用ESXi6.7,因?yàn)槔锩嬗兄С诌@些網(wǎng)卡的vmklinux驅(qū)動(dòng)。

如果實(shí)在想使用7.0,有個(gè)折中的辦法,接一個(gè)此驅(qū)動(dòng)里提到的USB3.0網(wǎng)卡來(lái)做管理口(將驅(qū)動(dòng)封裝進(jìn)7.0鏡像,制作定制版啟動(dòng)U盤,此處步驟網(wǎng)上很多,就省略了)。

聲明:以下純屬瞎折騰,請(qǐng)不要在重要環(huán)境里折騰。

下面以我的一臺(tái)工控機(jī)為例,該機(jī)器使用6口Intel 82583V網(wǎng)卡,ESXi7.0已經(jīng)不支持了。如果已經(jīng)配置過(guò)USB3.0網(wǎng)卡,可以直接跳過(guò)從直通板載網(wǎng)卡部分開始看。

使用USB3.0網(wǎng)卡安裝配置ESXi7.0

將USB3.0網(wǎng)卡(我的是使用AX88179芯片的某款綠聯(lián))連接工控機(jī)的USB3.0口,另一頭插入網(wǎng)線,連接交換機(jī)或者路由器LAN口。

啟動(dòng)ESXi安裝,小硬盤用戶請(qǐng)記得調(diào)節(jié)autoPartitionOSDataSize=xxxx (參考如何不讓ESXi7.0的虛擬閃存占掉你的小硬盤)。

安裝一切順利,直到遇到如下81%時(shí)的錯(cuò)誤:

No vmknic
詳細(xì)錯(cuò)誤信息

從上面的錯(cuò)誤信息來(lái)看,說(shuō)的是沒有成功的選取網(wǎng)卡作為管理口。真實(shí)原因是此過(guò)程正常是在查找vmnic#名字的網(wǎng)卡,我們的板載網(wǎng)卡在ESXi7.0中不支持,而usb網(wǎng)卡的名字是vusb#,所以沒有匹配到。

經(jīng)過(guò)測(cè)試,其實(shí)這個(gè)81%的時(shí)候ESXi已經(jīng)安裝好了,只是USB3.0網(wǎng)卡沒有被成功當(dāng)作管理口,還需要幾步額外操作。

1. 移除安裝U盤(已經(jīng)不需要了)。

2. 重啟。

3. 當(dāng)ESXi加載完成后按F2, 使用root空密碼登陸 (之前安裝時(shí)雖然設(shè)置了密碼,因?yàn)?1%的錯(cuò)誤,配置沒有保存)。

4. 選擇Network Restore Options

5. 保存退出,然后再F2進(jìn)來(lái)。

6. 這時(shí)候Configure Management Network不是灰色了,可以選擇了。

7. 在Network Adapters中選擇vusb0,保存。

選擇vusb0作為管理口

8. 這個(gè)時(shí)候稍等一下ESXi就會(huì)通過(guò)DHCP獲取到IP了,如果需要設(shè)置靜態(tài)IP,可以去IPv4 Configuration里設(shè)置。

9. 注意,因?yàn)閁SB3.0網(wǎng)卡的默認(rèn)虛擬交換機(jī)設(shè)置會(huì)在ESXi下次重啟后失效,所以要依照驅(qū)動(dòng)中的Persisting USB NIC Bindings部分去設(shè)置/etc/rc.local.d/local.sh保存設(shè)置。

在/etc/rc.local.d/local.sh中添加圖中部分

至此USB3.0網(wǎng)卡作為管理口已經(jīng)設(shè)置好并且可以正常使用了,我們通過(guò)網(wǎng)頁(yè)可以訪問(wèn)ESXi了。

在此基礎(chǔ)上,創(chuàng)建虛擬機(jī)時(shí)就可以使用默認(rèn)的vSwitch0的端口組VM Network了。

直通板載網(wǎng)卡

我們這里單獨(dú)直通第六個(gè)口。

直通其中一個(gè)網(wǎng)口

創(chuàng)建一個(gè)虛擬機(jī),這里以Windows10為例。網(wǎng)卡默認(rèn)使用vSwitch0的端口組VM Network。安裝成功后,確保Windows已經(jīng)可以獲取到局域網(wǎng)IP,比如192.168.1.188.

將Windows關(guān)機(jī),添加PCI設(shè)備(直通的板載網(wǎng)卡第六口),預(yù)留內(nèi)存。保存設(shè)置,開機(jī)。

添加PCI直通網(wǎng)卡

Windows網(wǎng)絡(luò)連接中,顯示有2個(gè)網(wǎng)卡(一個(gè)虛擬的,一個(gè)直通的82583V),兩個(gè)一起選擇,然后右鍵,選擇橋接。

橋接虛擬網(wǎng)卡和直通網(wǎng)卡
查看橋接屬性

這個(gè)時(shí)候,為了驗(yàn)證橋接的結(jié)果,用網(wǎng)線將工控機(jī)第六口和我的一臺(tái)電腦連接,等一會(huì)后就能看到電腦的以太網(wǎng)連接自動(dòng)獲取到了局域網(wǎng)IP,為192.168.1.189。 這樣工控機(jī)的板載網(wǎng)卡也被使用上了。

將直通的網(wǎng)口連接物理機(jī)

此時(shí),每個(gè)直通的網(wǎng)口,只能被一個(gè)物理機(jī)使用,或者連接物理交換機(jī),路由器繼續(xù)擴(kuò)展,而不能被ESXi的管理口或者其它虛擬機(jī)使用。

我們來(lái)進(jìn)一步利用ESXi里的虛擬交換機(jī)來(lái)使用直通的網(wǎng)卡。

將直通的網(wǎng)卡橋接傳回給vSwitch

添加一個(gè)標(biāo)準(zhǔn)虛擬交換機(jī),記得把安全下面的設(shè)置從拒絕改成接受。

新建虛擬交換機(jī)

此虛擬交換機(jī)不需要上行鏈路。

如果想做管理口,那么去VMkernel網(wǎng)卡中添加一個(gè)vmk1,使用vSwitch1。

創(chuàng)建VMkernel
此時(shí)還獲取不到IP

創(chuàng)建一個(gè)Bridge端口組。

Bridge端口組

查看vSwitch1的拓?fù)?,vmk1還獲取不到局域網(wǎng)IP。

vSwitch1拓?fù)?/div>

將之前的Win10虛擬機(jī)網(wǎng)絡(luò)連接的橋接刪除,關(guān)機(jī),刪除虛擬的VM Network網(wǎng)卡,添加一個(gè)新的虛擬網(wǎng)卡,使用Bridge端口組,保留直通的網(wǎng)卡。將直通的第六口用網(wǎng)線和局域網(wǎng)的交換機(jī)或者路由器LAN連接。開機(jī)。

修改虛擬網(wǎng)卡使用Bridge端口組

進(jìn)入Windows網(wǎng)絡(luò)連接,此時(shí)直通的網(wǎng)卡應(yīng)該能夠獲取到局域網(wǎng)IP。

直通網(wǎng)卡的IP

將虛擬的Bridge和直通的網(wǎng)卡橋接。

稍等一會(huì),去查看vSwitch1的拓?fù)?。vmk1獲取到了局域網(wǎng)IP:192.168.1.190

vmk1

如果想使此管理口在ESXi開機(jī)后可用,那么就要在ESXi中將此虛擬機(jī)改成隨ESXi開機(jī)自動(dòng)啟動(dòng)。

自動(dòng)啟動(dòng)設(shè)置

接下來(lái)創(chuàng)建其它虛擬機(jī),虛擬網(wǎng)卡使用Bridge端口組,就會(huì)通過(guò)此橋接的直通網(wǎng)卡獲取到IP了。

其它虛擬機(jī)
vSwitch1拓?fù)?/div>

至此,板載的Intel 82583V也可以在ESXi7.0中做管理口(可以通過(guò)https://192.168.1.190訪問(wèn)ESXi網(wǎng)頁(yè)客戶端)和給虛擬機(jī)使用了。

使用Bridge端口組下的虛擬機(jī)進(jìn)行局域網(wǎng)測(cè)速。

局域網(wǎng)iperf3測(cè)速

移除USB3.0網(wǎng)卡上的網(wǎng)線,單獨(dú)使用直通的網(wǎng)卡

如果我們既使用USB3.0網(wǎng)卡,又使用橋接后的直通網(wǎng)卡做ESXi管理口,看起來(lái)是有點(diǎn)多余,當(dāng)然我們也可以一個(gè)接WAN,一個(gè)接LAN,同時(shí)做管理口。

我們先嘗試不用USB網(wǎng)卡來(lái)管理ESXi。

把ESXi關(guān)機(jī),拔掉USB網(wǎng)卡上的網(wǎng)線,注意,這里只能拔掉網(wǎng)線,不能把USB網(wǎng)卡也拔掉,因?yàn)镋SXi開機(jī)啟動(dòng)時(shí),如果檢測(cè)不到vusb0,就會(huì)報(bào)一個(gè)沒有網(wǎng)卡的錯(cuò)誤而不能正常完成啟動(dòng),后面的win10虛擬機(jī)也沒法跟著自動(dòng)啟動(dòng)了,所以我們插著USB網(wǎng)卡不插網(wǎng)線可以讓ESXi正常啟動(dòng)。

ESXi開機(jī),用局域網(wǎng)里其它機(jī)器一直ping新的管理口192.168.1.190。因?yàn)槲覀兩厦嫘薷倪^(guò)local.sh,在網(wǎng)口狀態(tài)是down的情況下會(huì)最多重試20次,每次sleep10秒鐘,再加上本身我們?cè)O(shè)置虛擬機(jī)開機(jī)自動(dòng)啟動(dòng)還有60秒延時(shí),導(dǎo)致整個(gè)過(guò)程比較長(zhǎng)(可以酌情去修改local.sh中的重試次數(shù)和sleep時(shí)長(zhǎng)),要好幾分鐘(ping icmp_seq大概有500+),耐心的一直等到ping通了,就可以通過(guò)https://192.168.1.190訪問(wèn)ESXi網(wǎng)頁(yè)客戶端,此時(shí)橋接的windows虛擬機(jī)已經(jīng)自動(dòng)啟動(dòng)。(請(qǐng)記得把Win10系統(tǒng)的自動(dòng)休眠等電源選項(xiàng)關(guān)閉,防止一段時(shí)間后虛擬機(jī)休眠了,橋接就斷了。)

ESXi中查看物理適配器vusb0是鏈路已斷開的狀態(tài)(沒插網(wǎng)線)。

vusb0鏈路已斷開

不過(guò)這里還是建議大家也發(fā)揮下USB3.0網(wǎng)卡的功能,給它插上網(wǎng)線,接WAN也好,接LAN也好。

一點(diǎn)不完美

不太完美的就是使用Win10做橋接會(huì)占用較多的系統(tǒng)資源,因?yàn)橐A(yù)留內(nèi)存,比如我給Win10分配了2G內(nèi)存。如果把橋接的虛擬機(jī)從Windows換成Linux,分配少點(diǎn)資源應(yīng)該也足夠。我這里就不試了,想試的去研究下Linux中的bridge-utils即可。也非常簡(jiǎn)單,把虛擬的Bridge端口組網(wǎng)卡和直通的網(wǎng)卡一橋接就行了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容