基於微伺服器的監控系統,結合了可擴展的 Ceph 儲存與 Nx Server VMS 系統
以伺服器為基礎的監控系統介紹
數位監控系統的組成包含 IP 攝影機、儲存系統,以及用於錄製與管理即時與錄影畫面的 視訊管理軟體 (VMS) 。一般而言,監控系統可分為兩類:基於嵌入式系統的 NVR (網路錄影機) 與 基於伺服器的 VMS (視訊管理系統) 。相較於嵌入式系統的 NVR,基於伺服器的 VMS 具備更高的彈性、可擴充性與智慧化功能;因此,大規模的監控系統通常會選擇基於伺服器的 VMS 解決方案。
基於伺服器的 VMS 錄影軟體可以在 Linux 或 Windows 伺服器上運行,並使用內部磁碟陣列來儲存錄影資料。另一種作法是,VMS 伺服器僅執行錄影工作,將影像儲存到外部儲存系統。第二種方案提供了更好的彈性,因為錄影伺服器和儲存伺服器的規模可各自獨立擴充。
若有新增攝影機或擴充儲存容量的需求,可相應新增伺服器以滿足該需求。
白皮書 — 基於 Arm 微型伺服器的可擴充、高可用整合式視訊管理系統 (VMS)
待改善的痛點
然而,基於伺服器的 VMS 仍然存在一些痛點,需要加以解決。
- 在磁碟陣列中重建故障硬碟所需時間過長;隨著硬碟容量增大,資料遺失的風險也隨之提高。無論是使用內部或外部儲存系統的 VMS 伺服器,它們都依賴 RAID 控制器來保護資料不遺失。若有硬碟故障,磁碟陣列控制器需要花費很長時間,才能將資料重建到備援硬碟上。重建所需的時間以及重建失敗的可能性,都與硬碟的容量成正比。目前市面上最大的硬碟容量為 16TB,而 20TB 的硬碟也即將問世。然而,使用小容量硬碟又會增加儲存伺服器的總成本。
- 在降級 (degrade) 重建模式下,儲存吞吐量會受到嚴重影響。
- 傳統伺服器的故障域很大。 如果一台伺服器故障,該伺服器內的所有影片都將無法存取,甚至遺失。一台伺服器中安裝的硬碟越多,當它故障時,同時遺失的影片檔案數量也越多。
- VMS 缺乏彈性的硬體架構。
使用軟體定義儲存與 Arm 微伺服器,搭配 Network Optics 的 Nx Witness 影像管理系統
本文將介紹 Ambedded 的軟體定義儲存設備與基於 Arm 的微伺服器如何與 Network Optics 的 VMS 軟體整合,以解決現行方案中存在的一些問題。
軟體定義儲存設備
Ambedded 的軟體定義儲存設備 Mars 400 Ceph Storage Appliance 是一款為企業設計的一站式軟體定義儲存解決方案。該設備整合了基於 ARM 的微伺服器、Ceph 儲存軟體和網頁使用者介面 (GUI)。Mars 400 提供一個支援物件、區塊和檔案系統的統一儲存叢集,其設計著重於卓越效能、可靠性與擴充性,並具備無單點故障與最小化故障域的特性。
Nx Witness 影像管理系統與 Nx Server
Nx Witness VMS 是一個開放的 IP 影像管理系統 (IPVMS) ,用於搜尋、檢視、錄製與管理 IP 攝影機,並可快速與第三方系統與裝置整合。Nx Server 應用程式是一個輕量且強大的媒體伺服器,負責發掘和管理 Nx Witness 系統設備與資料。Nx Server 會將 IP 攝影機的影像錄製到內部或外部連接的儲存裝置。其採用蜂巢式 (hive) 伺服器架構,確保無單點故障。
Arm 微伺服器架構
這些微伺服器平台在一個 1U機箱內,可容納 8 個四核心 ARM 64 位元伺服器模組。機箱內設有兩個冗餘的交換器,提供 4 個 10 Gbps 的上行鏈路,用於水平擴展和客戶端存取。每個 ARM 微伺服器模組都是一個獨立的 Linux 伺服器,擁有專屬的 CPU、記憶體、儲存和網路介面資源,供應用程式使用。
由於不存在單點故障,微伺服器架構具備更高的可用性。每個微伺服器節點都可配置為儲存叢集的儲存節點,或 VMS 叢集的 VMS 伺服器節點。
當微伺服器被配置為儲存節點時,它會加入 Ceph 儲存叢集與其他儲存節點協同運作。若將微伺服器配置為 Nx Server,它將作為 VMS 伺服器運作,並從儲存叢集掛載一個虛擬硬碟來儲存錄製的影片檔案。這表示你可以將所需數量的 Nx 伺服器與 Ceph 儲存伺服器全數建置在 Mars 400 微伺服器上。由於微伺服器的這些優勢,您可以以小幅增量的方式彈性擴展您的監控系統。
軟體定義儲存如何保護資料並從硬體故障中自我修復
Ceph 儲存採用複製 (replication) 或糾刪碼 (erasure code) 演算法來保護資料,而非使用傳統的 RAID 控制器。糾刪碼類似於磁碟陣列中的 RAID 5 或 RAID 6,但它具備更大的彈性,能容許同時發生更多硬碟故障。它不僅能保護資料免於硬碟機故障,還能防範伺服器、機櫃以及任何規模故障網域所造成的資料損失。資料或影片檔案首先會被分割成物件 (objects) ,每個物件再被分割為多個資料塊 (data chunks) ,並計算出多個冗餘塊 (redundant chunks) 。儲存伺服器會將這些資料塊和冗餘塊分散儲存在儲存叢集中不同的伺服器上。如果某個儲存伺服器發生故障,所有儲存在該伺服器中的資料都必須進行修復 (rehealed) 。這個資料修復過程由所有運作正常的伺服器和硬碟共同完成,而且只需修復遺失的資料塊,無需重建整個硬碟。
相較於 RAID 儲存系統,分散式軟體定義儲存具有三大優勢。
- 即使一個或多個伺服器節點故障,資料仍能保全並維持可用。
- 資料修復遠比 RAID 更快,因為叢集中所有健康的硬碟都會平行協助資料修復,並且只需要修復遺失的資料。叢集中磁碟數量越多,修復速度就越快。在一項實驗中,一個包含 36 顆硬碟的叢集,在遺失一顆已使用 60% 容量的 10TB 硬碟後,花費了 2.5 天進行修復。在此實驗規模下,修復速度為 28.5MB/s。 (Clay 糾刪碼 4+2 設定檔)
- 在資料修復 (reheal) 過程中,影片錄影不會中斷。
- 在 Ceph 儲存叢集中,您可以使用大容量的硬碟機,例如 16TB HDD,以更少的伺服器達到相同的容量。
一台微伺服器可以支援多少台攝影機錄影?
我們建立了一個測試環境,對 Ambedded Mars 400 微伺服器上的 Nx Server 進行壓力測試。實驗首先使用一台伺服器模擬 IP 攝影機,將影片串流傳送至 Arm 微伺服器。影片串流格式為 H.264、1080p 高畫質、每秒 30 幀。Arm VMS 伺服器掛載一個虛擬硬碟作為其儲存空間。測試結果顯示,一台微型伺服器最多可以錄製 30 台攝影機的影像,且不會遺失任何影格。測試也包含了虛擬硬碟空間已滿的場景。這表示一台可容納八個微型伺服器的 1U Mars 400,能支援最多 240 路高畫質攝影機的影像串流。這對於一台 1U 伺服器來說是巨大的成就,而且它僅消耗 100 瓦的電力。
使用真實 IP 攝影機的測試
在另一項測試中,我們使用 50 支 IP 攝影機於實際環境中進行測試。
設備清單 :
- 網絡監控攝影機: 有線 25 支、無線 25 支。
- Mars 400 Nx 伺服器 : 1U 內含 8 個節點;4 核心 Arm A72、4GB RAM,搭配 2x 2.5Gbps LAN。
- Nx 伺服器 : 3 個 Mars 400Nx Arm 節點。
♦ 這三個節點都處於啟動狀態,用於錄影和回放。此外,每個節點上都有備用資源,以應對其中一個節點的故障轉移 (failover) 。
- 儲存設備 :
♦ 資料保護 : 採用糾刪碼 4+2,允許最多兩顆硬碟同時故障。
♦ Ceph 伺服器 : 21 台微伺服器作為 Ceph OSD,3 台微伺服器作為 Ceph Monitor。
♦ 硬碟 : 21 顆 16TB Seagate Exos 企業級 SATA HDD。可用容量為 224 TB。
- 網路 :
♦ 4個 10Gb 網路埠,用於 4台 Mars 400Nx。
♦ 一個 Gb 交換器,供攝影機使用。
♦ 無線存取點 (AP) x 2
在錄影與回放期間,CPU 資源僅使用 150%;可用的 CPU 資源上限為 400%。詳細資訊請參閱圖 1。
圖 1 : Nx Server 節點的 CPU 使用率
每個節點共有 4GB 記憶體可用,其中 1GB 保留作為備用。測試期間實際使用量約為 2.8GB。單一伺服器節點可穩定支援最多 30 支攝影機。
圖 2 : Nx Server 節點未使用的記憶體
在測試期間,網路流量大約為下載 150Mbps,上傳 130Mbps。2 個 2.5Gb 的網路頻寬遠高於實際流量。
圖 3 : Nx Server 節點的網路流量
VMS 伺服器節點故障轉移 (FailOver)
Network Optics VMS 伺服器具備自動伺服器故障轉移 (automatic server failover) 功能,當某台 Nx VMS 伺服器發生故障時,其他健康的 VMS 伺服器可自動接管其攝影機連線。在我們的測試中,將三台微伺服器設定為 Nx VMS 伺服器,它們總共可以處理 90 支攝影機。正常情況下,這 50 支測試中的攝影機會平均連接到這三台伺服器。我們透過關閉其中一台伺服器來模擬故障。測試結果證明,連接到故障伺服器的 18 台攝影機,能夠在大約一分鐘內自動重新連接到另外兩台伺服器。
這意味著,對於 Nx VMS 伺服器來說,採用微型伺服器解決方案,您僅需預留一台 1U Mars 400Nx 伺服器的 1/8 資源來進行故障轉移。與單一大型伺服器相比,微伺服器架構可以省下一台伺服器的成本來進行故障轉移的配置。
設計範例
專案需求
- 攝影機數量 : 200 支
- 每支攝影機在 1080p 高畫質、每秒 30 FPS 時的位元率 : 4.87 Mbps。
- 每日錄影時數 : 16 小時
- 錄影天數 : 60 天
伺服器需求計算
- 所需可用儲存容量 : 411 TB
- 若使用糾刪碼 4+2,所需原始容量總計 : 678 TB。
- 硬碟容量 : 16 TB
- 所需硬碟數量 : 43 顆 HDD。
- 需要用於儲存 (Ceph OSD) 的節點數量 : 43 個。
- Ceph Monitor 節點 : 3。
- Nx 伺服器節點 (支援 200 支攝影機) : 200 ÷ 30 = 7 個節點。
- 備用的 NxServer 故障轉移節點 : 1 個節點。
- 所需微伺服器節點總數 : 43 + 3 + 7 + 1 = 54 個節點。
- 所需 Mars 400Nx 總數 : 54 ÷ 8 = 7 台 1U Mars 400Nx
- 備援節點:(7 × 8) − 54 = 2 個節點。
- 伺服器總功耗 (不含硬碟) : 7 × 100 瓦 = 700 瓦
結論
Ambedded Mars 400Nx 整合了 Nx VMS 伺服器和軟體定義儲存,具備以下優勢 :
- Mars 400Nx 的軟體定義儲存不僅能防範硬碟故障,也能防範伺服器故障。
- 當發生硬碟故障時,Mars 400Nx 會由所有健康的硬碟並行 (parallely) 地進行資料修復。這比傳統的 RAID 控制器快了 4 到 5 倍。
- Mars 400Nx 在資料修復期間,仍然可以維持其錄影與回放功能。
- 您可以透過在 Mars 400Nx 儲存叢集中使用大容量硬碟,來降低整個儲存系統的總成本。
- 1U 的 Mars 400Nx VMS 伺服器最多可支援 240 台 1080p 攝影機。您可以透過彈性組合儲存與 VMS 伺服器來設計您的 VMS 系統。
- 相較於 x86 伺服器,Mars 400Nx Arm 伺服器可節省 70% 的功耗。
關於 Ambedded
Ambedded 是一家軟體定義儲存公司,專精於 Linux 作業系統、核心、軟體定義儲存、嵌入式系統以及 Arm 伺服器。
Ambedded 的願景是讓 Ceph 軟體定義儲存的使用變得簡單,如此一來企業就能在更短的學習曲線下從中獲益。
Ambedded 透過提供易於使用的介面、開箱即用的儲存設備、穩定性與效能調校、自動化部署,以及專業支援,讓 Ceph 變得更簡單。
由於我們的 Ceph 設備是專為此目的而設計,Ambedded 團隊擁有豐富的經驗,能夠協助客戶將我們的 Ceph 解決方案應用於多樣化的產業,例如電信、醫療、軍事、邊緣資料中心,以及所有需要高可用性儲存的企業。
更多詳情,請造訪 Ambedded 官方網站。
關於 Network Optics
Network Optix (Nx) 是一家專注於打造尖端影像管理解決方案的軟體開發公司。我們的核心產品 Nx VMS 是一個開放、輕量且可客製化的視訊管理平台,能管理離線媒體、即時影像串流,並整合第三方系統與裝置。Nx VMS 是免費的即時串流平台,支援雲端、可遠端存取,並可彈性擴充至任意規模;僅在需要對 IP 攝影機進行錄影與搜尋時才需授權。Nx VMS 也開放給開發者使用,,內建免費且全面的 API 和 SDK 文件,允許組織或個人為任何垂直市場或專案建立自己的視訊應用程式。
致謝
我們在此特別感謝 Seagate 和Network Optix ,為本專案提供了 Exos X16 企業級硬碟和IP 攝影機。
參考資料 :
- Why RAID stop working in 2019, By Robin Harris for
Storage
Bits
https://www.zdnet.com/article/why-raid-6-stops-working-in-2019/
- Why the best RAID configuration is no RAID configuration by Guest Blogger → https://blog.shi.com/hardware/best-raid-configuration-no-raid-configuration/
- 影片
Ambedded公司簡介
晨宇創新股份有限公司是台灣一家專業在Ceph 儲存|可擴展的 軟體定義儲存 ( SDS ) 供應商。成立於西元2013年並擁有超過20年的Ceph 儲存設備、Ceph 一站式解決方案、Ceph 專業服務、Ceph 緊急支援、適用於通用伺服器的 Ceph 儲存軟體解決方案套件、S3 物件儲存製造經驗, Ambedded總是可以達到客戶各種品質要求。