作者:0620AMD
本文整理翻譯自國外大佬,原文位於這裡(https://fohdeesha。com/docs/perc。html),能訪問及英語閱讀沒問題可以自行查閱原文。不能訪問的請自行搜尋解決,本人無法提供方案。本人在R720刷了H310親測成功,刷H710P後無法透過硬碟引導系統,還在摸索中。
這個文章主要是介紹如何刷12代的Dell Mini Mono和全尺寸卡LSI IT韌體。Mini Mono是指直接裝在Dell伺服器的“儲存槽”的一種小的卡。在允許啟動前iDRAC會檢測在這個槽裡的PCI 提供者,通用全尺寸PERC刷韌體方式不適用這裡。支援以下型別卡:
H310 Mini Mono、H310Full Size,H710 Mini Mono,H710P Mini Mono,H710 Full Size, H710P Full Size,H810 Full Size。
為什麼要刷IT(直通)模式?
1、更好的效能:增加佇列深度,比如H310 Mini,佇列深度將從25提高到600。這將極大提升IO效能。
2、不同的驅動:在Linux/FreeBSD等系統裡,Dell的韌體使用的是MegaRAID驅動,在某些發行的版本里可能有問題。比如在FreeNAS,從連線在MegaRAID控制器的裝置里拉SMART資料就會有問題。刷成IT模式後,OS可以透過更簡單的mpt3sas驅動來使用。
3、我們現在使用Dell伺服器大部分的場景都是自己搭建NAS,很多人使用黑群暉,我使用的是OMV,這些系統是不支援硬陣列卡的。聽說可以把每一個盤做成Raid0然後供os用也可以,本人沒試過。即使可以,對於H310這樣的卡效能也是巨大的問題。
事前準備:
確保在系統裡只有一個基於LSI的卡。如果不止一塊,需要拔掉其他所有的。同時需要對BIOS進行設定,disable下面三項:
Processor->Virtualization Technology
Integrated Devices->SR-IOV Global Enable
Integrated Devices->I/OAT DMA Engine
而且系統必須從BIOS啟動不能是UEFI:
Boot Setting->Boot Mode->Set to BIOS
在刷完後別忘記把設定恢復回去。
拔掉Raid卡上面的電池。這個很重要。
下載ZIP檔案,裡面包含了兩個ISO,FreeDos和Linux映象。這兩個映象已經包含了所有需要的工具。可以透過iDRAC啟動,也可以透過你喜歡的工具寫到u盤啟動。
確認卡的版本資訊
首先使用FreeDos引導系統,引導成功後執行info命令。
記錄下SAS Address後面那串數字,後面要用。截圖還是寫本子上隨你便了。
根據顯示的不同版本資訊,刷機的命令不一樣,這裡我們只介紹H310Mini和H710P D1 Mini的刷機過程,其他型別的卡有需要請留言。
H310Mini刷機過程
1、使用linux iso啟動系統,帳密是user/live。推薦透過ssh登入,這樣可以透過copy/paste來執行命令,不容易出錯。可以透過ipinfo來獲取ip。
2、切換到root使用者:sudo su -
3、記錄sas地址,如果上面前面準備階段已經記錄了就不需要再次記錄了,內容是一樣的:sas-mega
4、執行刷韌體的指令碼,開始刷機:H310-Mini
整個過程都應該是自動完成。加入沒有意外的錯誤那麼成功後直接重啟。由於某些原因,第一次重啟可能會出錯。如果重啟出錯,別慌,再次重啟就好了,可以是透過iDRAC強制重啟也可以讓他自己重啟。
5、會寫SAS地址:
sudo su -
setsas 500……(後面這串數字替換成第一步記錄下來的地址)。執行完成後,正常應該都成功。
6、驗證刷的韌體資訊:info
你會看到下面這些資訊(個別資訊會不一樣),
Controller Number : 0
Controller : SAS2008(B2)
PCI Address : 00:02:00:00
SAS Address : 5b8ca3a-0-f37a-4500
NVDATA Version (Default) : 14。01。00。08
NVDATA Version (Persistent) : 14。01。00。08
Firmware Product ID : 0x2213 (IT)
Firmware Version : 20。00。07。00
NVDATA Vendor : LSI
NVDATA Product ID : SAS9211-8i
BIOS Version : N/A
UEFI BSD Version : N/A
FCODE Version : N/A
Board Name : SAS9211-8i
Board Assembly : N/A
Board Tracer Number : N/A
7、至此,除非你需要使用連線到H310卡的硬碟來啟動,否則就結束了。恭喜你,Enjoy your IT mode card!
8、如果你需要使用連線到H310卡的硬碟來啟動,那麼需要刷啟動映象。
flashboot /root/Bootloaders/mptsas2。rom
假如你需要透過UEFI啟動,那麼執行:
flashboot /root/Bootloaders/x64sas2。rom
9、恢復Dell PERC韌體
假如由於某些原因需要恢復Dell PERC韌體,透過FreeDos啟動系統,執行:
310REVRT
恢復的韌體是Dell的20。13。3-001,A11。
H710P D1 Mini刷機過程
1、透過FreeDos啟動系統,執行info,記錄下sas地址。如果顯示的ChipRevision不是D1請不要按照這個執行。
Product Name : PERC H710P Mini
ChipRevision : D1
SAS Address : xxxx (will differ)
2、清除卡
PD1CROSS
執行完成後透過reboot重啟系統到linux
3、透過user/live登入linux,透過ipinf檢視ip,可以ssh登入
4、切換到root使用者,開始刷韌體
sudo su -
D1-H710
這個會全自動執行所有的內容,完成後reboot重啟系統。第一次啟動可能會出錯,但是別慌,再次重啟就行
5、啟動到linux系統,回寫sas地址
sudo su -
setsas xxx。。。。(替換成前面記錄下來的sas地址)
正常情況下應該沒有任何錯誤。
6、驗證刷的韌體資訊:info
你會看到下面這些資訊(個別資訊會不一樣)
Controller Number : 0
Controller : SAS2308_2(D1)
PCI Address : 00:02:00:00
SAS Address : 0000000-0-0000-0000
NVDATA Version (Default) : 14。01。00。06
NVDATA Version (Persistent) : 14。01。00。06
Firmware Product ID : 0x2214 (IT)
Firmware Version : 20。00。07。00
NVDATA Vendor : LSI
NVDATA Product ID : SAS9207-8i
BIOS Version : N/A
UEFI BSD Version : N/A
FCODE Version : N/A
Board Name : SAS9207-8i
Board Assembly : N/A
Board Tracer Number : N/A
7、至此,除非你需要使用連線到H710P D1 Mini卡的硬碟來啟動,否則就結束了。恭喜你,Enjoy your IT mode card!
8、如果你需要使用連線到H710P D1 Mini卡的硬碟來啟動,那麼需要刷啟動映象。
flashboot /root/Bootloaders/mptsas2。rom
假如你需要透過UEFI啟動,那麼執行:
flashboot /root/Bootloaders/x64sas2。rom
9、恢復Dell PERC韌體
假如由於某些原因需要恢復Dell PERC韌體,透過FreeDos啟動系統,執行:
PD1REVRT
恢復的韌體是Dell的21。3。5-002,A09。