本帖最後由 vxr 於 2011-2-15 21:18 編輯
這邊要先感謝負責Supermicro業務的高雄的黃先生支持, 提供這塊RAID HBA給我測試....
==================================================================
之前已經介紹過LSISAS2008這款I/O Processor架構的產品, 這次則是不同的是拿到了一張HBA版本, 同樣也是提供IMR模式. 但是不免還是要重新回顧一下LSISAS2008 I/O Processor這款產品的基本結構, 首先還是老樣子先看方塊圖.
這張圖是來自Intel的一份產品文件, 不過他有一個錯誤要先指名, LSISAS2008不是一個RoC架構的設計. 他沒有整合Hardware RAID Assist, 更沒有任何External Cache Memory的支持. 頂多只能算是一個I/O Processor. 可以看到LSISAS2008支持兩組Wide-Port設計, Local Bus則相連兩種裝置, 一種是燒錄f/w的FLASH, 另一個則是儲存相關RAID configuration以及作為Write-Journaling應用的NVSRAM. Host Bus面向PCIe 2.0 x8, 提供較充裕的4GB/s雙向頻寬. 對於LSISAS2008本身, 我們在透過一張方塊圖, 較為詳細的觀察.
同樣這張也是來自Intel的一份產品文件, 我們看到了一個IOC結構的SAS Core, 8條narrow links的設計, 整合一顆高度泛應用性的PPC440@533MHz core. Fusion-MPT Messaging Interface為一個I2O設計, 作為Host與SoC本身的資料傳送控制. 2MB的Context Memory(SRAM)則是作為SoC本身的內部Buffer, 他不是針對額外的Cache應用, 對此要修正之前的錯誤. 32-bit External Memory Bus連接OPB Bridge作為低速周邊設備連接的應用, 如前面所提的就是Local Bus, 附接FLASH或著NVSRAM. PCIe 2.0則是這款I/O Processor所能支持的Host Bus規格.
在早期的LSISAS1068/E同樣也可以看到Context RAM的存在, 約2MB大小.
The context RAM is a memory that is shared between the host interface module and quad port module. The contex RAM holds a portion of the firmware.
Context RAM作為一個firmware的操作與控制, 我們無法去決定它的使用.
從LSISAS2008會想到一個問題, 也是我之前想很久的問題, 他到底是Hardware RAID還是Software RAID架構呢? 對此之前問了幾次LSI工程師, 給予的答覆相當堅決.
All 2008 based products are software RAID.
這意味著全部的LSISAS2008產品都是Software RAID架構, 這邊沒有斷章取義, 只是與大多官方文件的紀載有所出入. LSI對於Hardware RAID更詳細的認為:
The I/O processor processes I/O. You need a RAID on chip (ROC) processor for hardware RAID. The software RAID controller you are using do not have ROC chips.
Software RAID controllers utilize the system processor to process I/O because they do not utilize ROC chips.
The ROC chip allows all processing to be offset to the RAID controller, not the system processor. Firmware handles striping, consistency checks, I/O, rebuild, recovery.
LSISAS2008不是一顆RoC, 所以相關的I/O操作會由Host Processor進行處理. 一款RoC架構的Hardware RAID會被允許全部相關操作轉移到RAID Controller本身來處理. 決定於firmware, 操作硬體資料條帶化, 一致性檢查, 重建與復原, I/O中斷等等.
As mentioned previously, the 9240 is a software RAID controller, a cacheless RAID solution which uses the motherboards system resources (specifically the RAM) for RAID operations.
這是LSI對於9240的說明, 是為LSISAS2008的產品. 因為他沒有External Cache Memory支持, 所以他是cacheless, 因為又是Software RAID, 會應用到System Memory作為RAID的相關存取操作.
根據官方的記載, LSISAS2008被認定為Hardware RAID solution, 那到底是Hardware 還是Software呢?..我們姑且以一個基本的Hardware RAID定義這樣想. 一個完整的Hardware RAID架構, 會包含Hardware RAID Assist的支持, 例如XOR Engine或著GF function硬線加速設計, 額外的DMA控制器用以存取Local Cache Memory, 包含了External Cache Memory Controller的設計.
這張圖是來自AMCC的一份公開文件表是PPC440 SoC用在Hardware RAID的一個完善設計. Memory Controller包含了RAID 5&6的硬線加速設計以及接附在DMA控制器上的XOR Assist. 每個module之間的連接透過一種IBM的CoreConnect架構的PLB高速設計, crossbar架構, 128bits, clock為200MHz, 提供超過10GB/s的內部頻寬, 因此十分充裕. 從AMCC的這張圖看出了完善的Hardware RAID架構硬線設計, 在LSISAS2008這塊I/O Processor則是缺乏了這些相關設計, 因此提供的功能和性能是有限的, 有些人會問, 那LSISAS2008內置的PPC440@533MHz core到底做甚麼用處呢? 作此LSI一直不給予答覆, 只提供一個基本回答:
The processor does function. It is simply not hardware RAID.
這個PPC440是作用的, 但是還是強調依然不是Hardware RAID. 對於大多官方文件記載, PPC440 core有助於操作I/O中斷操作, 降低CPU使用率. 文件記載的內容與LSI工程師回答的皆有所出入, 因此我們姑且認為built-in processor作為Fusion-MPT這一整個RAID stack架構中, 可能會發生”副”作用的設計吧.
上圖可以看到這是LSI所提出的Fusion-MPT基本的RAID stack架構, 它包含了Software, Firmware和Hardware的組成. Software 提供一種輕型的裝置驅動程式(Device Driver)與作業系統的子I/O核心連接來提供相關儲存服務. 裝置驅動程式與firmware之間由獨特的訊息傳輸介面來橋接, 這是LSI專有的MPI設計, firmware決定了會操作哪些裝置, Hardware則是最底層的結構, 提供支持的相關硬體裝置銜接. LSI本身除了自有的硬體設計之外包含了自擁有的RAID stack-Fusion MPT軟體技術, 提供其他OEM廠商一套完善的RAID solution.
這邊我們將以IBM的一款HBA, MR1015 ServerRAID Controller的OEM產品作為介紹, 他與LSI MegaRAID SAS9240-series長的簡直一模一樣, 不過還是有一些小差異, 對應LSI官方正規型號則是SAS9220, 首先來看看他的長相.
提供兩組內接式的SFF-8087的Wide-Port設計, 支持SFF-8485標準, 可以帶有SGPIO輸出作backplane上的控管. 如果你拿去跟LSI MegaRAID SAS 9240-series相比, 只有一個小地方不同, MR1015多了一組2-pin connector; 而LSI官方9240系列產品則沒有.
這個2-pin的connector是用來安插獨特的RAID key來提供對LSISAS2008 I/O Processor額外的加值服務, 合理的來說他是用來unlock.
從圖上來看, 這同樣與LSI提供的高階軟體服務一樣, 透過額外的RAID Key來提供新服務, 對於MR1015而言, 他是提供RAID 5的相關服務, 另外包括了SafeStore高階軟體服務支持, 也就是兩種Advanced Software Option支持, 如果在LSI 9240系列來看, 他是沒有這樣的2-pin connector設計, 因為已經內置了相關硬體PFK來支持這兩種高階軟體服務.
上圖是LSI 9240系列的產品照片, 但你依然可以看到有2-pin connector設計, 但其實, 實物已經拿掉這樣的設計了, 可以看到我指明了一個元件, 那塊原件是EEPROM, 燒錄了相關高階軟體服務的Licensing Key, 指的就是硬體PFK, 可以用來unlock提供額外加值服務, 所以他不是一種PFK in NVRAM設計. 但是在MR1015這款產品上, 板子上我們依然還是看到這顆EEPROM存在. 因此我姑且猜測在MR1015上, 這顆EEPROM沒有任何作用和內容, 得透過額外的RAID Key來提供.
將RAID Key安插後, 便會直接支持(unlock)相關高階軟體服務. RAID 5模式和SafeStore加密服務支持.
LSI對於SAS2008這顆I/O Processor本身做了很大的性能限制, 使得與旗艦級的LSISAS2108有很大的差異, 就算與早期的LSISAS1078相比也是如此.
產品設限是無法抹滅的事實, 上圖是來自Intel的一份產品比較文件, LSISAS2008被歸類在Entry Line分類, 由於是cacheless, Cache Policy無法提供有效的加速機制(RA&WT)之外, 併發I/O和Stripe Size都受到很大的限制, Stripe Size最高只能提供64KB尺寸, 這意味著對於大量的連續性I/O傳輸, 不如大尺寸的Stripe Size有優勢, 併發I/O更是少得可憐, 不管LSISAS1078或著LSISAS2108皆對應Mainstream Line以上的分類.
晶片附近本身有一顆NVSRAM, 前面說過做為RAID configuration和Write-Journaling之使用, 容量約32KB. 額外的NVSRAM設計機制這是目前很常見的RAID實務設計, 用以保證資料的安全性和一致性.
在2-pin connector附近有8組LED設計, 應該是作為額外的活動(Activity)和錯誤(Fault)燈號表示設計.
上圖可以看到兩組4-pin的connector, 左邊用作為外部的活動(Activity)和錯誤(Fault)LED連接設計, 右邊則是作為原廠(Factory)預留使用.
這張則是卡的背面, 我們可以看到幾個元件來說明. 首先, 一顆較大容量的16 FLASH ROM配置在上面. LSISAS2108則是8MB FLASH ROM.
另外還可以看到一顆150的石英震盪器, 大概是用來對應產生3Gb/s和6Gb/s規格不同的clock.
有一較特殊的原件可以看到, 下圖一個特殊的CPLD元件, 我不知道他真正做甚麼用途.
EPM3032A的CPLD元件, 我找不到LSI對於他使用的官方說明, 但是我猜測可能用來作為那8組的LED control吧.
大致上就基本說明卡上存在的重點原件. 一個LSI提供的MegaCLI的Command Line工具可以提供更詳細的基礎資訊. 可以透過-adpallinfo參數得知相關RAID HBA資訊.
提供各版本組件訊息和ID以及連接的port位址(WWN SAS Address)等…
硬體上存在的設計, 可以被得知.
相關的設定資訊以及能提供的RAID模式和支持的混合結構, Coercion Mode表示差異化容量儲存裝置的支持, 這邊被預設為1GB的差異化, 在IMR模式下他是可被調整的, 有128MB和1GB這兩組可選擇, 如果在IR/IT模式下, 則會被強制1GB差異化選項. FDE表示Full Disk Encryption, 提供儲存裝置的加密服務, 這來自SafeStore高階軟體服務去提供的, 另外也必須配套儲存裝置必須支持才有作用.
PFK in NVRAM就是未來LSI會提供的高階軟體服務上的電子認證, 提供軟體層級的PFK, 在遷移性上不如硬體層級的PFK支持.
這邊可以看到連接裝置的數量限制, 例如一個陣列數量的最大支持, VD最大支持PD數量等等. Stripe Size, CacheCade高階軟體服務和FW Cache資訊和其他. Support Security由於啟動了SafeStore所已表是的flag數值為Yes. Support PFK表示是否支持PFK特性, PFK TrailTime Remaining也許是LSI未來會提供高階軟體服務的試用期限.
一個VD所能支持的特性可以從上圖發現, 很可惜的是LSISAS2008全線產品對於Dimmer Switch支持特性都受到很大的限制, 他並不支持Configured Drive的PowerSave模式, 頂多只能提供對Unconfigured Drive和Hot Spare Drive的節能操作. LDBBM全名是Logical Disk Battery Backup-unit Module, 指的就是BBU支持, 當然LSISAS2008並不支持BBU特徵. 一個PD指的就是一顆儲存裝置, 也可以提供相關設定資訊, 糟糕的是Dimmer Switch的設限導致對於SAS裝置能提供的節能模式都受到限制, 從T10 Power State可以發現到他不支持.
其餘這些設定是HBA可能的預設設定, 並且可能無法調整. LSISAS2008產品強制啟用JBOD支援, Ctrl-R表示某些OEM廠商可能透過Ctrl-R的按鍵組合進入相關的RAID Configuration Utility, 而WenBIOS就是LSI自家的BIOS, 透過Ctrl-H來進入. Max Chained Enclosures表是最大能串櫃的數量, IMR模式下的LSISAS2008最多只能串兩個機櫃.
接下來我們可以透過LSI的GUI tool-MSM來得知基本的RAID HBA資訊, 如下圖所示:
這是MSM的context部分, LSI稱為Dashboard. 紅線框起來明確得知啟用了哪些高階軟體服務資訊.
這張是MR1015的相關基礎資訊, IMR模式下會啟用SSD Guard提升對SSD的資料安全性, 在RAID 0模式下提供類似RAID 5的機能特徵, 允許Hot-Swap應用, 這是在MegaRAID 3.6版新增的應用.
LSISAS2008主要作為純HBA和基礎RAID能力提供的應用, 再透過RAID Key提供RAID 5模式上, 他絕對是一個Software RAID架構, 因為他沒有任何Hardware RAID Assist特徵支持. 必須要透過Host來協同支持, 這是一個Driver-based RAID架構, RAID Engine被封裝在裝置驅動程式(Device Driver), 由驅動程式來提供相關RAID操作(operations).
這邊我們只使用基本的家用HDD以及SSD來測試. HDD為Seagate ST3100528AS 1TB x4; SSD則是Intel X25-M 80GB x4.
這是四顆HDD的配置. 由於LSISAS2008本身硬體設限和原廠的限制, 因此所能調整的地方並不多. 我們使用幾款工具來測試, 分別如下表示:
1. Crystal Disk Mark
2. HD Tune
3. HD Tach RW
4. AS SSD Benchmark
其中AS SSD Benchmark主要是拿來測試SSD之用的. 其他就是用來測試HDD的RAID性能.首先來看RAID 0模式下能達到的性能指標.
Crystal Disk Mark; 100MB尺寸
成績符合預期, 所以沒啥可講, 4k隨機性能原本就是傳統HDD的弱項.
Crystal Disk Mark; 1000MB尺寸
一樣跟預期差不多.
HD Tune
Ok, 不好看, 詭異. 可能和Seagate的硬碟有關吧.
跟讀取性能差不到哪, 除了Access Time部分. 下面兩張看看就好囉.
HD Tach RW; 8MB尺寸
跟HD Tune接近, 沒啥可說. 在看HD Tach RW; 32MB尺寸:
恩恩, 不予表示…..
然後來看RAID 5的性能, 由於n-1的關係, 性能會較差.
Crystal Disk Mark; 100MB尺寸
Crystal Disk Mark; 1000 MB尺寸
由於RAID 5的關係, 對於cacheless的LSISAS2008來說, 寫入性能很傷.
HD Tune
這寫入性能完全是悲劇性, cacheless情況下就是這麼慘.
不用講了, RAID 5模式下反映了寫入性能奇差無比.
HD Tach RW; 8MB尺寸
HD Tach RW; 32MB尺寸
恩恩…, 無話可說..!!! 最後來看SSD部分, 只測試了AS SSD:
這邊可以反映出一個情況, 沒加FastPath的SSD加速技術, 多線程4K隨機性能受到了限制, 也看出Access Time的增加, 導致IOPS的嚴重下滑.
對於LSISAS2008依然再次歸納出幾個結論:
1. 提供基本的RAID基礎應用. 建置成本較Hardware RAID的LSISAS2108低廉.
2. 主要用於純HBA應用和提供基礎RAID功能.
3. IMR模式下可提供RAID 5(透過PFK支持) 由於cacheless的關係, 寫入性能淒慘無比.
4. Dimmer Switch技術受到限制, 不如LSISAS2108, 我覺得這點不能接受.
5. 對於SSD, 僅提供基本的RAID性能, 沒有FastPath加持.
6. IMR模式下提供SSD Guard增強對SSD的安全性, IR/IT模式沒有提供.
7. 併發I/O和Stripe Size設限很大, 遠不如LSISAS2108/1078.
8. 全線的LSISAS2008產品都是Software RAID設計, 不是Hardware RAID.
9. IMR模式下無法再透過作業系統直接識別儲存裝置. |