近日小弟在測試FreeNAS 9.3 作為 Windows共享資料夾之用 CIFS
以下兩個環境,都是在同一台Switch上測試,所以實體網路品質的問題可以排除。
起初先找了一台Core2 Duo E8400,RAM 4G DDR2,500G HDD*1 的舊電腦來安裝,如此環境下建立出來的分享資料夾,其大檔連續寫入速度可達65MB~75MB
後來把FreeNAS安裝到ESXi 5.5之上,實體伺服器是Dell R720,實體8顆HDD做Radi5。
CPU我切2C2T,RAM 8GB,硬碟500GB完整布建,結果建立出來的分享資料夾,連續寫入速度剩下45MB~52MB
請問這是哪裡有問題呢?
虛擬化造成的影響會到那麼大嗎?
ra605002提到:
最近也在研究freenas要做iscsi配10G網卡將空間掛給esxi使用
你的檔案系統是用 ZFS 嗎? 我就假設是好了, 因為這是預設選項, 而且也是大部分人選擇使用 FreeNAS 的主因.
ZFS 雖然強大, 但是您了解 ZFS 相關的設計架構嗎? 會不會是您的設計牴觸了 ZFS?
如果改用 ZFS 的 RAID-Z, 幾乎可以消除 RAID-5 的 Write penalty 影響, 達到接近 1:1 的效能. 問題是, 您若用硬體的 Controller 把 RAID-5 包成一個 LUN 再分配一顆硬碟給 VM, 這樣 ZFS 只能看到一顆硬碟, 完全無法發揮他的特長.
關於 ZFS vs. Hardware RAID 的討論, 國外網路上有很多, 請深入了解看看.
您的 R720 上面是用哪一片 RAID Controller? 規格是甚麼? 如果你的 RAID Controller 沒有內建 Cache RAM, 或是 Cache RAM 不夠大的話, 那麼寫入 RAID-5 變慢是正常的, 這是 RAID Controller 的特性, 跟 FreeNAS 沒有關係.
ZFS 需要使用大量 CPU 運算, 奇怪的是, 我明明有 VCP5-DCV 的證照, 但是卻聽不懂你說的 2C2T 是如何配置 CPU? 可否請您說明一下, 若以下圖為例, 是如何設定的:
然後, 您這台 ESXi Host 的 CPU 虛擬化比例是多少? 若是您不會算的話, 請告訴我以下這些數據就好:
A. ESXi Host 所顯示的 Logical Processors 數量?
B. 所有已經註冊的 VM 設定, 每一台的 Total number of core 數量加總是多少?
為了能提供您對比, 我花半小時在自己的 Lab 建了一個跟您類似的 FreeNAS:
Host: Dell R410, Xeon E5620x2, 96GB ECC RAM
RAID: H700/1GB NVRAM
Disk: 3TBx3 NL-SAS RAID-5 LUNx1, 512GB SSD CascadeCache
NIC: 1Gbps Ethernet
CPU 虛擬化比例: 65:16 (Virtual Core:Physical Core)
我也只用 Hardware 的 RAID, 只給 ZFS 一顆硬碟, 所以沒有用上 RAID-Z, 相關設定如下:
傳檔的結果:
結果我用了比你老一代的硬體, 還跑出比你快很多的效能, 所以, 這是哪邊出問題?....
2C2T我猜是2Core 2 Total,所以Ray大你的CPU多2 Core,另外Ray大你用了Thick Provision,如果沒注意到的人用了Thin Provision,一開始寫入檔案時因為要取得硬碟空間,一定會效能低落。
請教一下
這種測試情境下
如果把SSD CascadeCache關掉
會有多少的效能影響
raytracy提到:
我花半小時在自己的 Lab
然後, 您這台 ESXi Host 的 CPU 虛擬化比例是多少? 若是您不會算的話, 請告訴我以下這些數據就好:
A. ESXi Host 所顯示的 Logical Processors 數量?
B. 所有已經註冊的 VM 設定, 每一台的 Total number of core 數量加總是多少?
raytracy 大您好
A. 邏輯處理器12個
B 所有運作中的客體,CPU加起來是60個core
這是ESXi Host平時的狀況.
這是ESXi Host平時的狀況.
77012904提到:
A. 邏輯處理器12個
B 所有運作中的客體,CPU加起來是60個core
那跟我的 Lab 狀況差不多, 你是60:12, 我的是 65:16, 所以問題不在虛擬化的比例.
我平常的 CPU 用量還有到 3095 MHz, 比你的 2117 還高, 所以也不是 CPU 效能問題.
但是您還是要解釋一下: 2C2T 到底是怎麼設定的?
我用的 vCPU 是: x2 virtual sockets, x2 cores per socket = 4 vCPU core
(Bruck 眼尖喔, 知道我的秘密.....)
raytracy 大
最近也在研究freenas要做iscsi配10G網卡將空間掛給esxi使用
請問上面提到的如果不用Raid Card 做包成一個Raid 5 virtual disk而是使用Raid-z
這樣是代表使用軟體式的Raid?當硬碟故障時有什麼影響或風險嗎?
u8526425提到:
如果把SSD CascadeCache關掉
我知道會有很多網友, 看到這個項目, 覺得會有重大差異, 不過, 我就實證給大家看看:
把它關掉:
然後再傳一次:
還是贏過樓主....
實際上, 今天如果這台 Host 只跑 FreeNAS 的話, 上面的數據應該根本不會往下掉(或是掉得極少), 因為 H700 的 Cascade Cache 是 1.1 版, 這個版本只會對 Read 做 Cache, Write 則完全不理, 所以理論上不會有差別.
至於上面的測試會往下掉, 是因為我還有其他的 VM 在跑, 他們會用到 Read I/O, 但因為少了 SSD Cache, 所以會來跟 FreeNAS 搶 HDD 的 I/O 的時間, 是被其他的 VM 影響造成略為下滑, 並非是 FreeNAS 本身因為少了 Cache 才下滑的. 不過大家也看得出來, 差別並不大.
raytracy提到:
跟我的 Lab 狀況差不多, 你是60:12, 我的是 65:16, 所以問題不在虛擬化的比例.
我平
R大您好,我的設定就和你的Lab環境一樣
目前我的機器上其他的Guest OS都是Windows Server2008 R2,配置4CPU、8~16GB的記憶體
我剛才有做了一些測試,就是關閉某幾台Guest OS,當我關到某一台特定的虛擬機(A)時,速度會稍微恢復正常 (變成70~85MB之間),當那台A再開起來,速度又變成5xMB了.
但那台虛擬機A,只是某台重要實體機器的備援,平常完全不會做什麼事情... 感覺滿詭異的.
ra605002提到:
請問上面提到的如果不用Raid Card 做包成一個Raid 5 virtual disk而是使用Raid-z這樣是代表使用軟體式的Raid?當硬碟故障時有什麼影響或風險嗎?
是的 ZFS 最迷人的特色, 就是他的 Software RAID 效能可以直逼 Hardware RAID (當然, 前提是你要懂得調教(誤)...調校...), ZFS 有很多特色, 在此無法通通介紹, 僅單就故障部分提供比較:
ZFS 比 Hardware RAID 容易救援, 因為只要能存取 Raw disk, 就可以讀取資料; 但傳統 RAID 故障一定要透過原本的 Controller 才能讀取
如果你的 zil cache 設計不良的話, 有可能造成故障時的資料遺失, 這是設計 ZFS 時必須要注意的一點.
ZFS 需要消耗大量的 RAM 和 CPU (尤其是你啟用 Dedup 功能的話), 如果你的 RAM 穩定性不夠好, 有可能會把錯誤的資料回寫到磁碟上. 所以務必要採用 ECC RAM
大部分的 ZFS 軟性故障, 通常都可以用指令修復, 但是你要非常熟悉 ZFS 的維護指令, 不能只透過 FreeNAS 這樣的 GUI 介面來操作
ZFS 對硬碟的監測非常盡責, 但前提是: 你必須讓他能讀到硬碟的 SMART 資料, 如果中間還透過一層 RAID Controller 去管理的話, 這些 SMART 資料讀不到, ZFS 就無法進行預警性的防範, 一旦出現故障, 就會造成很大的損失.
ZFS 預設會對資料進行 lz4 或 lzjb 的壓縮, 這個特性可以讓他的資料產出效能高達 500MB/sec~1,174MB/sec 以上, 但缺點是, 萬一 zpool 故障, 要救資料也會比較困難(壓縮過的資料很難救). 但是如果你的 ZFS 設計得宜, 其實不用太擔心故障的這種程度. (就算到這種程度, 一般的 Hardware RAID 也同樣很難救回了)
77012904提到:
我剛才有做了一些測試,就是關閉某幾台Guest OS,當我關到某一台特定的虛擬機(A)時,速度會稍微恢復正常 (變成70~85MB之間),當那台A再開起來,速度又變成5xMB了.
這樣就找到兇手啦.....
不過,
但那台虛擬機A,只是某台重要實體機器的備援,平常完全不會做什麼事情... 感覺滿詭異的
你沒叫他做事, 不代表他不會自己在背景做別的事, 所以要用 vCenter 的 Performance 看一下, 這台機器平常是否就會有一定量的 Disk I/O 在潛伏著?
其實, 上面還有一個秘密設定我沒有說出來, 那是可以讓我飆到 97MB/sec 的主因 (97MB SMB 傳輸大概是 1Gbps Ethernet 的極限了), 平常你可以到 85MB/sec 應該也是上限了. 但是我有把握, 如果網卡速度再提升的話, 我用上述硬體環境實做出來的傳輸, 可以超過 100MB/sec 以上.
這個秘密, 留在以後某個場次的{FLYING ITMEN}來談好了.....不然, 你們都不來聽....
先聞香一下, 這是我用 16 顆 1TB RAID-5 做出來的效能, 在 VM 裡面的兩顆 vHDD 之間互拷:
理論上, 8 顆 RAID-5 本機 VM 內互拷應該要有接近上面一半的效能.
下面也是同樣環境, 但透過 10GbE 網路兩台 Host 互拷的效能:
以上環境都沒有用到特殊的 Storage Appliance, 只是單純用 Windows SMB 互傳而已.
上面都還沒有調整到最高效能, 只是隨便裝裝就測了, 如果要仔細調的話, 還可以更高.
下面這張, 是我在前面的 Lab 內, 用一台 Win8 VM 自己本機互拷檔案的效能:
從這裡看, 你就知道為何我前面說: 有信心在網路速度提升後, 可以突破 100MB/sec....
昨日我把這個畫面中,客體記憶體出現橘色以上的虛擬機,配置更多的記憶體之後. 現在速度似乎恢復正常了,可以維持在80MB/sec
在VM上搞I/O(包括網路和Storage都算)本來就吃力不討好了,雖然有很多降低overhead的方法,但是限制還是不少就是了....