QNAP 儲存效能典範實務
此文章提供您於QNAP NAS儲存上的設定指引,以達到最佳的效能。
目的:
此典範實務主要的對象為QNAP產品的使用者、合作夥伴及客戶。於此典範實務裡我們會依據您的工作負載提供建議的儲存設置。
如何達到儲存效能之最佳化:
此份指引將對特定之設定值提供建議, 以致能於QNAP儲存系統上獲得較佳的效能。
- 選擇符合您需求之QNAP NAS產品。較高階之儲存產品具有更快的中央處理器、記憶體、和輸入/輸出介面。知道更多
- 選擇最大可使用的RAM。 知道更多
- 使用mSATA跟SSD硬碟做為讀寫快取(須於QTS 4.2.0以上的版本),並使用2顆或4顆SSD以配置RAID 1或是10組態做為快取池(如圖一跟圖二所示)。
-
配置正確的RAID跟磁碟區形態。
- 新增一RAID 10儲存池。請參照附錄之解釋。
-
選擇【單一靜態配置磁碟區】或是於儲存池設置下選擇【多重完整配置磁碟區】。
- P.S. 【精簡配置磁碟區】提供了較佳的彈性但是可能會降低某些應用程式的效能。請參考附錄之圖四的說明。

圖一:SSD 讀寫快取

圖二:SSD 快取池
*說明SSD快取池如何在QNAP NAS上被存取
如何存取您的儲存裝置
此為一如何選擇儲存裝置之基本準則,請為您的環境及工作負載選擇適當之裝置類型。
| 特性 | 傳統硬碟 | SAS硬碟 | SSD硬碟 |
|---|---|---|---|
| 費用 | 低 | 中 | 高 |
| 效能 | 低 | 中 | 高 |
| 容量 | 高 | 中 | 低 |
最常量測的效能特性是隨機存取及循序存取時的運作次數。其單位為IOPS(每秒的讀寫次數。一個讀取或是寫入的運作=1次IOPS。儲存系統上的儲存裝置所能達到之IOPS決定於轉速、平均延遲及尋址時間。
不同裝置之IOPS及特性
| 裝置 | 類型 | IOPS | 介面 |
|---|---|---|---|
| 5400 (RPM) 轉速之硬碟 | HDD | ~75-100 IOPS | SATA III |
| 7200 (RPM)轉速之硬碟 | HDD | ~125-150 IOPS | SATA III |
| 10,000 (RPM)轉速之硬碟 | HDD | ~140 IOPS | SAS |
| 15,000 (RPM)轉速之硬碟 | HDD | ~175-210 IOPS | SAS |
| SSD Drives | SSD | ~40K-100K+ IOPS* | SATA III |
*SSD的效能取決於SSD控制晶片和快閃記憶體儲存單元。
舉例來說,如果以4顆7,200轉的HDD,我們要求得其原始IOPS (RAW IOPS),就是4 (HDD x125 (IOPS) = 500 (IOPS)。
隨機存取
隨機存取指的是您可以取得一個檔案內的任何部分的資料,不管其所在位置順序。
通常為隨機存取的應用範例:
- 多客戶同時存取
- 資料庫應用
- 於Hypervisor虛擬化環境下的VM存取
- IP-SAN 儲存並使用區塊式配置
循序存取
隨機存取指的是依照存放位置的順序依序存取一份檔案中的內容。
通常為循序存取的應用範例:
- 影像編輯(於一台工作站上直接使用編輯軟體)
- 影像錄影(單一客戶端,e.g. 使用IP 攝影機及攝錄影機)
- 影像串流(從NAS上觀看影片)
- 大型檔案傳送
- 資料備份工作
隨機存取vs.循序存取
尋址運作為當磁頭找到正確的資料存放磁柱以讀取資料時,此運作比其他存取的I/O運作所需更多的時間。基於磁頭的機械式設計,以循序的方式讀寫資料能較隨機存取的方式更快。於機械式磁碟上的循序I/O具有較高的頻寬是因為磁頭的尋址運作相對次數較少,且在一次磁盤旋轉下能將較多的資料讀取/寫入於磁盤上。
隨機存取則需較高次數之尋址運作,即隨機讀取及寫入會產生較低之頻寬及IOPS。於隨機存取之下,磁頭的位置、旋轉延遲、及尋址時間皆會大幅度地影響效能。

圖三: 循序存取和隨機存取
舉例來說
於傳統磁碟上,對於每一個磁碟所需的尋址時間為10毫秒。如果是循序寫入於同一磁碟需要30毫秒/每單位MB。所以如果你循序寫入100 MB的資料,就需要3秒。但是如果你隨機寫入1MB共100次,則總共需要4秒 (3秒用於實際寫入,10 毫秒 * 100 = 1秒則為所需的尋址時間)。
為何SSD讀寫快取能夠增近隨機IOPS
因為SSD並不是使用機械式硬碟的構造,所以省去10毫秒的尋址時間。
QNAP SSD讀寫快取在隨機IOPS的效能上能有所幫助是因為其能重新排序快取池中磁碟區塊的位址以降低後端磁碟之工作負載。快取池越大當然有較高的效能,但通常花費也較大,所以並不會無限制地增加快取。
RAID特性
QNAP NAS儲存支援不同型態之RAID,每一個RAID型態皆有不同的空間及效能的特性。在您建構您的儲存設置時,請先瞭解您工作負載的需求。
通常在您決定要用何種類型的RAID組態時,需要考量兩個因素:空間和效能。
| RAID 型態 | 最少所需之硬碟 | 容錯 | 容量 (N為硬碟數) | 隨機讀取 | 隨機寫入 | 循序讀取 | 循序寫入 |
|---|---|---|---|---|---|---|---|
| RAID 0 | 2 | 無 | 100% | 高 | 高 | 高 | 高 |
| RAID 1 | 2 | 只能一顆硬碟損毀 | 50% | 高 | 低 | 高 | 好 |
| RAID 5 | 3 | 只能一顆硬碟損毀 | N - 1 | 高 | 低 | 高 | 好 |
| RAID 6 | 4 | 只能兩顆硬碟損毀 | N - 2 | 高 | 低 | 高 | 好 |
| RAID 10 | 4 | 只能一顆硬碟損毀於其所屬之次階RAID型態 | 50% | 高 | 好 | 高 | 好 |
RAID 10:
極適合用於高效能應用程式,且具有高隨機寫入(>30%)。
RAID 5:
適合用於中度效能,一般應用環境及循序存取的工作負載。通常RAID 5為高經濟效益的方案,因為只需一顆硬碟做為冗餘。但對於需要高效能的工作附載,此方案並不合適。
RAID 6:
通常用於偏重讀取之應用如備份及資料封存。不適用於需要高效能的工作附載,尤其是大量隨機寫入之環境。
設置範例一:確認您的工作負載
將不同IOPS模式之虛擬機工作站(VM)分配於具不同RAID型態之多個儲存池上,將能有效地增進效率及減低I/O瓶頸。
預設所使用之設備:
TS-EC1680U-RP
https://www.qnap.com/i/cht/product/model.php?II=126
16 x 6 TB SATA 硬碟
此客戶的環境為一資訊系統,其具有兩個VMware ESXi 6.0 伺服器。此為一叢集架構且需要執行20個VM(虛擬機)並使用QNAP NAS作為後端儲存。客戶做了調查發現如下的工作負載模式:
1 VM --> 高負載MS SQL資料庫伺服器 (30%+隨機 I/O).
3 VM --> 高負載應用伺服器 (30%+隨機 I/O)
1 VM --> 低負載 vCenter服務 (大多為循序I/O)
1 VM --> 低負載網域控制器 (大多為循序 I/O)
1 VM --> 低負載備份伺服器(大多為循序 I/O)
2 VM --> 低負載DNS服務 (大多為循序 I/O)
2 VM --> 中低負載網頁伺服器(15%隨機I/O)
5 VM --> 一般使用者虛擬桌面
4 VM --> 內部開發伺服器
建議設置:
- 儲存池一:新增一RAID 10儲存池且具有單一靜態磁碟區(使用8顆以上之硬碟)。
- 將4個高負載之虛擬機(30%+ 隨機 I/O)置於如上之儲存池。
- 儲存池二:新增一RAID 6儲存池且具有多重完整配置或單一靜態磁碟區(使用4顆以上之硬碟)。
- 將5個低負載之虛擬機(大多為循序 I/O)置於如上的儲存池。
- 儲存池三:新增一RAID 6儲存池且具有多重完整配置或單一靜態磁碟區(使用4顆以上之硬碟)。
- 將其餘之工作負載(虛擬機、網頁伺服器、使用者虛擬桌面和內部開發伺服器)置於如上的儲存池。
其它的配置方式:
- 儲存池一:新增一RAID 10儲存池且具有單一靜態磁碟區(使用4顆以上之SSD)。
- 將所有高負載及中負載之虛擬機置於SSD硬碟上。
- 儲存池二:新增一RAID 6儲存池且具有多重完整配置或單一靜態磁碟區(使用8顆以上之硬碟)。
- 將其於之虛擬機(大多為循序I/O)置於如上之儲存池。
* 此範例之VMware ESXi 6.0 伺服器也可適用於Hyper-V, XenServer或其他hypervisor的架構。
設置範例二:最高可達之IOPS效能
使用高效能之SSD 固態硬碟以獲得最佳之效能
預設所使用之設備:
TS-EC1680U-RP
https://www.qnap.com/i/cht/product/model.php?II=126
16 x 1 TB SSD 硬碟
此客戶的環境需求為高效能之儲存環境,儲存容量大小並不為主要考慮的範疇。
- 儲存池一:新增一RAID 10儲存池且具有單一靜態磁碟區(使用所有可用之SSD硬碟)。SSD能幫助達到最高的儲存效能,其原因如文章前段所述。
設置範例三:多客戶端的檔案存取
多方同時讀取及寫入,意即大量的隨機IOPS。
客戶需要產出大量的圖形及圖片,具有大約50台電腦協同合作。所有50台電腦皆需要同時讀取儲存系統上的來源媒體櫃並於工作處理完成後把結果檔案回存至資儲存系統上。因在此環境下多方同時存取,故具有大量的隨機存取,如果都只使用傳統硬碟,必定會產生瓶頸。因為此工作負載需求為效率及大儲存空間並行,我们可以如下的架構最佳化QNAP儲存設備:
建議設置:
預設所使用之設備:
2 x TS-EC1680U-RP
https://www.qnap.com/i/cht/product/model.php?II=126
16 x 6 TB SATA 硬碟
- 儲存池一:新增一RAID 10儲存池且具有單一靜態磁碟區(使用10顆以上之硬碟)。
- 將所有寫入的操作都分配於如上之儲存池。
- 儲存池二:新增一RAID 5或 6儲存池且具有多重完整配置或單一靜態磁碟區(使用10顆以上之硬碟)。
- 將讀取之操作都分配於如上之儲存池。
其它的配置方式:
- NAS No.1& 儲存池一:於QNAP NAS No.1新增一儲存池且只具有SSD磁碟。
- 將所有寫入的操作都分配於如上之儲存池。因其可承受大量的多方寫入。
- NAS No.2 & 儲存池一:新增一儲存池且只具有傳統磁碟。
- 將讀取之操作都分配於如上之儲存池。
附錄
QNAP NAS運用了進階的儲存池技術以提供使用者更高的彈性及效能。

圖四:儲存池
於儲存池上的邏輯磁碟區配置
您可以使用 QNAP所提供的彈性磁碟區管理以能更佳地管理您的儲存空間。儲存池能將多個硬碟集合成為一個大的儲存空間,並同時擁有不同RAID群組的保護。因此儲存池能提供更完善的冗餘保護及防止資料損毀。
當儲存池建立完成後,您可以選擇使用系統所提供之三種方式之一於其上建立磁碟區。通常您可以依您所需之彈性或效能來選擇磁碟區之類型。
靜態磁碟區
靜態磁區使用所有於儲存池可用之空間。它為您的存取都先預備好特定之空間。你並不能於此儲存池上建立多重磁碟區。
多重完整配置磁碟區
多重完整配置為一同時具有彈性及效能的磁碟區,您可以選擇從儲存池中配置多少空間給它。
您可以在其所屬之儲存池上配置多個完整配置或精簡配置磁碟區。它為您的存取都先預備好特定之空間。
精簡配置磁碟區
精簡配置對於儲存空間規劃提供了較佳的彈性。在磁碟區創建時並不會立即預備好實體的空間給予存取,而是在實際寫入時才會開始配置空間,意即您可以規劃一個比實體空間還要大的磁碟區。您也可以在其所屬之儲存池上配置多個精簡配置磁碟區。然而此種方式通常會影響效能。
mSATA跟 SSD讀寫快取
固態硬碟(SSD) 快取技術是基於硬碟I/O的讀取快取。當NAS 上的應用程式讀取硬碟時,資料會被保存在SSD上,當同樣的資料再次被存取時,就可以從SSD快取上被讀取,不用再對硬碟作存取。一般常用之資料可以被存放在SSD快取上。只有當 SSD快取上無該資料時才會對硬碟作存取。
傳統資料存取的方式

SSD快取資料存取的方式

參考資料:
https://en.wikipedia.org/wiki/Random_access
https://en.wikipedia.org/wiki/Sequential_access
https://en.wikipedia.org/wiki/IOPS