岳志瑋
(天津海河傳媒集團網絡信息部 天津 300072)
科技的騰飛推動著社會的進步,存儲技術的發展對于廣播電視技術的革新起到重要的作用,高性能存儲設備在節目制作系統中的地位逐漸凸顯出來。天津廣播電視臺的綜合云系統部署了穩定、安全、高可用性的EMC品牌的 Isilon X410存儲,極大限度地保證了數據安全。本文結合系統運行情況,重點闡述集群存儲的管理系統(OneFS)中的系統作業(System Jobs)功能。
OneFS是一種支持大數據吞吐需求的文件系統,包括作業引擎并行調度和作業管理框架等功能模塊,使得數據保護和存儲管理任務能夠跨集群分布并高效運行,其最關鍵的功能是維護Isilon集群上數據的完整性,同時具備集群狀態監控功能、文件系統性能優化功能、保障驅動器健康以及合理優化存儲資源等功能。以上功能的實現肯定會產生數據流且占用一定的系統資源,因此需要一定的運行分析時間[1],這就涉及到了OneFS的作業引擎(Job Engine)的概念。OneFS中的“Job”可以理解為計劃任務或者系統作業,是一種在系統后臺執行的、由作業引擎驅動的任務類型。例如后臺文件分析作業、快照管理作業以及節點間數據平衡分布作業等,由于各種作業所需的執行時間各不相同,且占用CPU和I/O資源(輸入輸出資源即讀寫資源)也有明顯差異,為了合理分配各條作業的運行時間,作業引擎將各種功能的作業進行分類,按不同的優先級執行。同時,在實際業務需要的時候,還可啟用管理員權限來進行作業流程控制。當系統硬件發生故障導致作業停止運行時,作業引擎還可以使用檢查點系統進行作業任務的斷點恢復。日常維護中,我們可以通過作業引擎系統監控、設置及管理每一條作業,同時可以查看統計信息和日志報 告等。
OneFS作業引擎可以跨集群運行,負責劃分和處理大型存儲的管理作業和數據保護任務。OneFS作業引擎將任務縮減為較小的工作項,分配或映射到各個節點上形成多線程運行處理,在作業執行過程中檢測和報告進度,并在作業運行結束時提供詳細報告和狀態分析數據。作業引擎系統還包括自適應效果管理系統、智能驅動控制以及多線程工作的能力,需占用特定的磁盤空間以及硬件或網絡資源在后臺運行作業,通常可分為3類,如圖1所示。

圖1 作業類型 Fig.1 Job types
這類作業執行后臺文件系統維護的任務,通常需要訪問所有節點且在默認配置下運行。一般來說,在集群發生降級時會觸發此類作業運行。
①柔性保護作業(Flex Protect):當集群存儲的硬件設備發生故障時,包括存儲節點和硬盤損壞,FlexProtect作業啟動運行,用以保證集群數據的安全及其他系統安全作業的正常運行,此時集群狀態為degraded(降級)狀態,直到系統修復完成。
②自適應平衡作業(Auto Balance):存儲的級聯方式包括內部級聯和外部級聯,外部級聯是通過每個節點的萬兆光纖線連接服務器和站點,保證數據訪問速度;內部級聯是通過Infiniband交換機(節點級聯交換機)將所有節點聯通,保證校驗數據和應用數據在節點間的通信。當集群中有新加入的設備如節點或硬盤時,Auto Balance作業將啟動,用以平衡集群中的數據使其均衡分布于節點硬盤上,以此來保證數據安全。
③完整性掃描作業(Integrity Scan):該作業用于驗證集群系統的完整性,時刻保障集群系統的健康和數據安全。
④媒體數據掃描作業(Media Scan):作業運行時掃描存儲磁盤,清除設備錯誤,保證數據安全。一般來說,廣播電視節目制作系統使用存儲頻繁,數據交換每時每刻都在進行,而Media Scan作業需要占用一定的系統資源,因此設定為每周掃描較為合適。
此外,OneFS系統中還設定一些較為重要的作業定期運行來保障數據安全。例如:文件分析作業(FsAnalyze),在/ifs存儲路徑下,對文件系統進行分析并收集相關信息以優化存儲,天津廣播電視臺綜合云系統設定每晚22點執行此作業;快照刪除作業(Snap Shot Delete),該作業用以執行快照文件的刪除任務,快照機制利用數據指針的備份來保障數據安全,但快照文件會占用一定的存儲空間,需要定期刪除,OneFS系統支持手動刪除和計劃任務作業刪除。
在OneFS中配置并運行此類作業來輔助系統實現各類存儲管理功能。
①智能存儲池作業(Smart Pools):存儲池作業將各個存儲節點集成為存儲池,OneFS系統對存儲池進行管理,包括資源調配、虛擬熱備盤及存儲池策略管理等。
②快照管理作業(Snap Shot IQ):快照管理作業對快照文件進行管理,實現文件系統層面上的數據安全保護。當集群存儲上的數據發生改變時,OneFS系統會形成數據指針的快照文件快照(Snap Shots)列表,用戶可以根據業務需求使用快照文件恢復數據。該作業可對快照文件進行創建、刪除、設定時刻表、修改屬性等操作。
③智能評估作業(Smart Quotas):該作業可對存儲空間進行管理。根據用戶實際業務需要,在存儲目錄上進行配額限制,用來管理用戶、制作組,以及欄目的配額權限。當空間配額不足時會發出報警。天津廣播電視臺的新聞云項目應用此項功能進行素材文 件、故事版文件以及共享素材盤的分離,實現了高效管理。
④同步管理作業(Sync IQ):該作業用以實現不同集群之間的數據復制。作業運行時,源集群上的目錄文件將復制到目標集群上,且必須在當前作業執行完成后才能創建新的復制作業。復制策略分為同步策略和拷貝策略。
⑤監控管理作業(Insight IQ):該作業可監控集群性能和使用情況,以此來優化存儲性能。
⑥智能重復數據消除作業(Smart Dedupe):利用Smart Dedupe作業可以消除集群上的重復校驗信息和冗余數據,優化磁盤空間的利用率。重復數據消除在目錄級別應用,針對單個或多個目錄下的所有文件進行,通過掃描集群中相同的數據塊,消除重復數據。用戶可以手動啟動Smart Dedupe作業,也可預先設定好計劃時刻表重復執行,根據集群存儲的數據規模而定。一般來說,1~2周執行1次即可。
此類作業由存儲管理員配置并運行,用以實現對存儲數據的管理功能。
①目錄樹刪除作業(Tree Delete):刪除/ifs中制定的文件路徑。
②權限許可修復作業(Permission Repair):通過運行此作業可以更改集群存儲中文件和目錄的使用權限,且必須手動啟動此作業。
OneFS系統定義了一個后臺執行的作業庫來運行維護存儲集群,包括各類文件系統維護、功能支持及用戶操作等作業類型。用戶可以根據實際環境需要預先設定好作業運行的時刻表,也可以隨時手動更改。當存儲發生意外故障時,OneFS系統會緊急啟動部分作業任務來進行數據修復和補救,例如當執行智能故障檢測恢復(SmartFail)操作時,柔性保護作業(FlexProtect)任務將緊急啟動,系統將會掃描文件系統,確保所有數據仍在被保護的狀態。OneFS系統的作業任務類型可在圖2位置查詢。

圖2 OneFS系統中的作業 Fig.2 Jobs in OneFS system
OneFS的作業引擎系統時刻監控系統性能和作業的運行狀況,為保證后臺作業的運行不會影響正常的數據業務和存儲的有效利用,以及I/O活動的正常進行,OneFS系統引入了優先級策略[2]。日常維護中,管理員可以通過優先級策略來管理作業的運行時間和所占用的資源,分為圖3所示的4類策略。

圖3 影響策略分類 Fig.3 Classification of influence strategies
根據天津廣播電視臺綜合云項目的維護經驗,系統提供的4類策略可以支撐日常業務的運行以及文件系統的維護工作。一旦出現節點故障時,Snap Shot Delete將會停止,而文件系統分析作業(FSAnalyze)仍在進行,造成快照文件不斷增大,占用過多磁盤資源。直到節點修復重新接入集群后,快照作業才會繼續運行。而此時,Snap Shot Delete作業的策略雖為medium,但其對系統資源的占用情況是可接受的,實際測試并未影響正常的數據讀寫效率。
可以通過作業引擎定期維護系統來確保OneFS文件系統的可靠性和數據的完整性。當維護作業運行時,引擎會持續監控作業運行的狀態和系統資源的占用情況,確保日常任務的流暢運行[3]。系統管理員也可以人為干預作業任務的運行,包括啟動、暫停、恢復、取消及更新等操作。
①啟動作業:可以運行isi job jobs start命令來啟動某個作業強制運行。若需設定運行策略和優先級,可運行isi job jobs start collect—policy medium—priority 3,其中medium為策略等級,priority 3為優先級。
②暫停作業:可以運行isi job jobs pause + 作業ID的命令來強制暫停某個ID作業,以此釋放一些系統資源。
③修改作業:首先通過運行isi job jobs list命令查看作業ID號,確定后運行命令isi job jobs modify 7—priority 3—policy medium,將ID為7的作業優先級調整為3,策略調整為medium,修改作業時只對當前作業實例有效,之后的作業會以默認設置運行。
④恢復作業:可以運行isi job jobs resume+作業ID來執行。
⑤取消作業:可以運行isi job jobs cancel+作業ID來執行。
⑥修改作業類型:可以通過運行命令isi job types modify +“作業類型”+“優先級”+“策略”,將作業類型修改為默認優先級和策略級別;通過運行命令isi job types modify +“作業類型”—schedule '時間表'—force,修改定期計劃;通過運行isi job types modify +“作業類型”—clear-schedule—force命令刪除計劃。
⑦查看作業歷史:通過運行isi job events list命令來查看特定作業的運行記錄。
OneFS中的作業策略可以很好地輔助作業引擎管理作業,通常情況下,我們可以創建和分配策略來控制作業系統的性能影響。
①創建策略:可以運行isi job policies create命令來創建一個特定時間范圍和影響級別的自定義策略,然后運行isi job policies list命令查看是否創建成功。
②查看策略設置:可以運行isi job policies view命令。
③修改策略:運行isi job policies modify 命令將當前策略重置屬性,再運行 isi job policies modify 命令來制定策略的屬性,最后運行isi job policies view MY_POLICY命令查看是否修改成功。
④刪除策略:通過運行isi job policies delete命令來執行,但無法刪除OneFS中默認的4種策略。
作業引擎控制的大多數系統作業使用低優先級和低影響策略執行,因此通常不占用過多的系統資源,但另有一部分核心功能作業,例如Flex protect和Flex Protect Lin、FS Analyze、Snap ShotDelete 以及 Tree Delete,這些作業任務運行優先級較高,影響策略適中。日常維護中,可以根據作業系統的日志報告來優化資源分配。
①查看運行中的作業統計信息:可以通過運行isi job statistics view 命令來顯示某個作業任務的運行信息。
②查看已完成作業的報告:可以通過運行isi job reports view命令實現。
存儲是非編網絡的核心,無論是傳統的雙網架構非編網,還是現今被廣泛應用的云架構系統,存儲的穩定性和高可用性一直都是技術攻關的關鍵點。EMC品牌的Isilon X410系列存儲在數據安全、網絡帶寬、交互的效率,以及可控可管性等方面都有著不錯的表現。文章針對Isilon系統OneFS中的System Jobs功能模塊予以說明,重點闡述了Job的原理以及簡單的管理操作,希望在日常的運維管理中,把存儲的基本管理和實際業務流程緊密結合,以更加高效地發揮Isilon存儲的優勢。■