我的Synology DS1618+終於插上了 E10G17-F2 雙埠10GbE SFP+網路卡
NAS的已經不再是NAS那麼簡單,這幾年的蛻變讓人刮目相看,尤其今年虛擬技術與全方位的備援更是NAS的戰鬥舞台,因此選擇NAS,除了高效能的主要考量外,擴充性與軟體的應用已經變成中小企業的衡量之一, 筆者已經淘汰了DS916+升級了Synology DS1618+,搭配筆者目前合勤GS1900-16 switch支援的Link Aggregation,實現IEEE 802.3ad 網路聚合技術的4埠 RJ-45 1GbE 網路孔,未來更可搭配內建 PCIe 插槽直攻10Gb,可說進可攻 退可守,用了一年後終於插上 Synology E10G17-F2 雙埠 10GbE SFP+ 擴充卡,滿足筆者家中工作室的需求。
網路連接儲存裝置(NAS)的瓶頸不僅是網路,硬碟的存取速度與機器本身CPU處理的能力都是重點,目前硬碟都是SATA 3.0的天下,SATA 3.0理論值達到了6Gb/s 速度(理論上可達600MB/s),但傳統硬碟轉速跟物理架構的限制下,最高的讀寫速度也只有約150MB/s~180MB/s左右,必須利用RAID或使用SSD固態硬碟來因應,說到固態硬碟,可說是最近很夯的儲存設備,目前上市的SSD的循序讀寫速率輕鬆達到 500 MB/s 以上,似乎要達到SATA 3.0的瓶頸了。
了解了STAT3與硬碟的瓶頸後,接下來是資料傳輸的網路媒介,1Gb網路卡只有125.00 MB/s ,即使使用SSD固態硬碟也會卡在網路卡上的傳輸瓶頸,更別說要符合筆者想要使用的iSCSI運用,幸好筆者的switch支援802.3ad協定,於是將4埠 RJ-45 1GbE 網路孔使用Link Aggregation聚合連接來,對於多人多工同時使用效果還可以,但對個人來說效率不彰。
因此思考後最後還是直接插上了插上 Synology E10G17-F2 雙埠 10GbE SFP+ 擴充卡,DS1618+的PCI Express 介面是PCIe 3.0 x 8 規格,輕鬆解決多人使用網路頻寬問題。下圖是維基百科上的匯流排效能表。
Synology E10G17-F2 乙太網路卡配載 10 Gigabit 雙 SFP+ 網路埠及 PCIe Express 3.0 x8 介面,專為 Synology FS/XS(+) 系列的 NAS 伺服器所設計,DS 1618+ 的 PCIe 是Gen3 x8規格,一樣可以使用,網路上有人成功連接過其他品牌10Gb網卡,至於相容性我沒有經驗,其實Synology也沒有直接生產10Gb網卡,插入Widnows 10偵測到是Mellanox ConnectX-3 Pro,Google找一下可以找到較便宜的價格。
Synology E10G17-F2 乙太網路卡一樣使用環保的紙盒包裝,掀開紙盒,一貫的包裝作風,有海綿軟墊包圍外,另一邊的上方有海綿保護,以防止運送過程中的擠壓與跌落。
除了Synology E10G17-F2卡外,有附標準高度的全高擋片,因為E10G17-F2網卡也可以使用在PC上,全高檔片是必須的哦!
Synology E10G17-F2 乙太網路卡配載 10 Gigabit 雙 SFP+ 網路埠,若Switch支援的話還可Link Aggregation成20Gb,看到 SFP+ 接頭就有高人一等的感覺,如果你有留意model的編號,搜尋一下即可找到 Mellanox Mcx312X 相關資訊。
筆者沒有10Gb的交換器(正在物色當中),所以特別向好友A了兩張 Synology E10G17-F2 乙太網路卡,一個插Synology DS1618+,另一個插PC上。
沒有10Gb Switch也可以直接對連,所以特別在拍賣上買了一條SFP+ DAC高速纜線。
PC與Synology DS1618+就靠這一條SFP+ DAC高速纜線連接。
解決了網路頻寬後,硬碟的IO成為重點,DS1618+有6個內建6個硬碟儲存槽,傳統硬碟做RAID也不容易有10Gb的速度,SSD的循序讀寫速率輕鬆達到 500 MB/s 以上,因此例用利用之前汰換下來的兩顆SSD做RAID 0,來滿足Synology E10G17-F2 10Gb的速度需求。
筆者買不起 Synology FlashStation FS2017 機種,DS1618+除了要當NAS外,也要使用iSCSI儲存方案來支援虛擬化運用環境,因此筆者的PC主機板上已有內建兩個網1Gb網路,連接Switch可用於平常的NAS運用,而插上的E10G17-F2 10Gb網卡直接連接DS1618+上的E10G17-F2 10Gb網卡,主要是用高速通道的運應。至於DS1618+上的4個1Gbps網路,兩個實作Link Aggregation的網路聚合,一個連接Switch,另一個保留無用,其配置圖如下。
先來看看筆者的PC裝置配備,筆者是個窮MIS人員,使用的是文書處理效能好一些的Intel I5-7500的CPU,主機板是ESC的Z270H4-I,記憶體是DDR4-2600 32G的大小,沒有獨顯卡,XPG SX8200 480G M.2 2280 PCIe SSD固態硬碟與一顆OCZ TRION 100 480GB TLC SSD固態硬碟,Google一下就知道這樣的配備並沒有很高檔,大概連中階都談不上吧!
筆者的ESC的Z270H4-I主機板有內建兩個網路卡與Intel 雙頻無線網卡模組(藍色框),加上插入的E10G17-F2 10Gb網卡網卡(紅色框),介面上的選擇連接多了一層面紗,其實應該說更加的靈活。
測試E10G17-F2 網路能力
先排除磁碟I/O的影響範圍,為了證明10Gb網路是否有真正10Gb的速度,還是只是數據上的噱頭而已,想個方式略過I/O的部分,於是想到iperf3這套軟體來測試網路速度,iperf是一個透過tcp測試系統網路能力的工具,可以不管application layer的干擾,相當適合來測試插在DS1618+上的E10G17-F2 網路能力,iperf必須在PC端與Synology DS1618+端同時運作,PC上當然是OK,可是Synology DSM系統備沒有開放自行安裝第三方的功能,於是想到DSM系統尚有Docker的能力,利用Docker實作輕量級的作業系統虛擬化功能,來實作做並運作iperf,雖然Docker虛擬化後會影響效能,但只少是目前最方便的方式之一。
請使用瀏覽器輸入DS168+的IP來連入DSM系統畫面(注意是E10G17-F2 10Gb網卡IP位址),安裝玩Docker套件服務後進入其畫面,在「倉庫伺服器」頁面上使用搜尋找iperg包裝過的套件,找到後請下載。
下載後會統一存放在映像檔的頁面上,點選並來佈署。
首先出現的畫面上點選〔進階設定〕。進入在網路分頁畫面上勾選「與Docker Host使用相同的網路」,這就是以DS1618+ NAS上的10GbE網卡的IP進入DSM,讓Docker虛擬化的iperf3服務能在這個網路IP,有利於PC端的iperf3測試。
在產生前列出設定清單來確認,請注意執行指令上是不是「-s」的參數,與Docker Host使用相同網路為「是」。
其實synology nas也有內建很實用的一些工具程式, 只不過要用終端機的方式進入,雖然不難,但還是使用視窗介面的方式較方便。要使用終端機必須先啟動SSH功能。
在使用putty工具來進入Synology NAS系統,如下圖紅色框內指定NAS IP位址。
使用synogear install 來安裝synogear工具包,安裝完後可以使用synogear list來查看,你應該找得到iperf3,執行 iperf3 -s及可產生伺服端等待中。
不管使用Docker或終端機方式,只要在伺服端有啟動進入等待中,接下來就是前端的設定。在PC前端進入命令提示字元視窗,輸入「iperf -c 伺服端的IP位置」,伺服端的IP位置就是DS1618+的E10G17-F2 網路位址,而Docker iperf虛擬服務使用與Docker Host相同的網路,iperf的詳細說明可參考筆者另一篇網路速度測試工具文章。
再次輸入「iperf -c 伺服端的IP位置 -t 60 -w20m」,以20M的參數60秒長時間測試,看到約 8.37 Gb/sec的平均頻寬,雖然只有約84%,這個落差是可以接受的,畢竟是透過Docker來來執行iper服務的,PC與DS1618+間的10Gb網卡的效能是OK的。
假如你無法測出應有的速度呢?挨踢路人甲不是網路專家,記得之前玩遊戲調整了MTU參數後,整個網路效能提升了,可試著畫葫蘆一下,到Ds1618+ DSM系統畫面上將E10G17-F2 10Gb介面的IP位址上手動調整MTU值到9000。
插在PC端的E10G17-F2 10Gb的介面位址上也調整Jumbo Packer為9014(預設值為1514)。
網路效能OK後,接下來是硬碟效能的問題。筆者的電腦一年前換上威剛 XPG SX8200 480G M.2 SSD後,隨便測試都有1500 MB/s以上,換算後有12 Gb以上,長時間享受這個速度後,實在無法接受1Gb的網路速度,換上10Gb網卡,解決了傳輸慢的問題,現在問題來到NAS的硬碟速度,傳統SATA3硬碟再怎麼配置,都不容易達到10Gb的速度,唯有SSD固態硬碟加上RAID 0。
將share共享資料夾指定到傳統硬碟的儲存空間1,而share_ssd指向SSD Raid 0的儲存空間1,筆者的SSD循序讀寫速度為500 MB /s 左右,照道理會提升的兩倍的SSD讀寫速度,下圖是share與share_ssd共享資料夾對應的儲存空間,share是對應到傳統的Raid 1硬碟,share_ssd是到做Raid 0的 SSD固態硬碟。
不過久未使用的SSD竟然發現有壞軌數,且溫度比一般高上許多。
好景不常,硬體測試兩次都產生高溫,導致NAS散熱風扇轉速變高,聲音轟轟的響,沒多久時間就硬碟過熱而關機,看來SSD還是要買企業版較安心些。
筆者是個上班族MIS人員,很窮的,這麼多的設備無法一次到位,,但又想要有自己的ERP虛擬機器與iSCS測試環境,所以暫時就將Raid 0的SSD降為單顆,至少還有單顆500 MB /s 左右的速度,改天有替換下來不用的SSD再來試試RAID 0 SSD與10Gb網卡的效能。
設定網路磁碟機,將Z磁碟指向傳統硬碟的share共享資料夾。
同樣在設定網路磁碟機Y:指向單顆SSD的share_ssd共享資料夾。
接下來在PC上各使用大檔案上傳至剛指定的兩個網路磁碟機,筆者的PC上使用的是威剛 XPG SX8200 480G M.2 2280 PCIe 固態硬碟,隨便測試都有1500 MB/s起跳,絕對滿足10Gb網卡的網路頻寬,所以將一個40G的大檔案丟上網路磁碟機Z,也就是NAS上的share共用料夾的位置,發現速度180 MB/s ~ 200 MB/s,已經是傳統硬碟的極限了。
同樣的方式測試丟至網路磁碟機Y(NAS上的share_ssd共用料夾的位置),過然速度飆升至450 MB/s ~ 520 MB/s 間,似乎已快達SATA3的6000MB/s極限。
心得與感想
筆者使用Synology DS1618+ NAS,除了一般NAS個功能外,主要是用來架設iSCSI的運用,也就是要利用NAS當成VMware的外接獨立儲存設備,因此網路速度是最大的問題,DS1618+的PCIe擴充槽可安裝 M.2 雙轉卡(M2D18)或10GbE網路的E10G17-F2 介面卡,經思考自己的環境需求,將來會搭配SSD與iSCSI應用,還是選擇10Gb的E10G17-F2 網路卡,利用SMB的方式側了一下速度,網路的瓶頸已不是問題,硬碟的IO較容易解決,可以利用RAID或SSD來提升,未來會介紹VMware、iSCSI與Synology NAS的相關應用實作。