李 挺,鄧 科,張煥青,蔡 昂,馮 凝,劉曉華,李 煒,洪 葉
(國網(wǎng)湖北省電力公司檢修公司, 武漢 430050)
類Unix系統(tǒng)服務器文件夾磁盤空間監(jiān)視及自動維護軟件的研制
李 挺,鄧 科,張煥青,蔡 昂,馮 凝,劉曉華,李 煒,洪 葉
(國網(wǎng)湖北省電力公司檢修公司, 武漢 430050)
“文件夾磁盤空間滿”問題對類Unix系統(tǒng)服務器運行造成嚴重危害,處理難度大且不易察覺。對其原因進行分析,采用操作系統(tǒng)底層配置、過濾攔截手段及手動清理方法,實現(xiàn)了類Unix系統(tǒng)服務器文件夾磁盤空間監(jiān)視及自動維護技術,著重分析了該技術的實現(xiàn)原理,并在此基礎上進行了開發(fā)實現(xiàn)。該軟件實現(xiàn)了“文件夾空間監(jiān)視及告警”、“歷史垃圾文件智能識別與自動清理”、“人為寫入操作范圍限制”、“重要軟件運行事件可靠記錄”等功能。經(jīng)過工程實踐表明:該軟件各項功能運行穩(wěn)定,大幅減小了其問題發(fā)生機率及處理難度。
磁盤空間; 權限管理; 清理; 文件夾
類Unix系統(tǒng)(Solaris Unix及Linux操作系統(tǒng)等)服務器“文件夾磁盤空間滿”會造成 “系統(tǒng)頻繁死機”、“應用程序運行不穩(wěn)定及功能退出”[1]等危害。由于缺乏人為寫入操作的限制手段,及系統(tǒng)操作復雜、缺乏智能軟件工具等因素,“文件夾磁盤空間滿”現(xiàn)象時有發(fā)生,磁盤清理工作難度大,常出現(xiàn)刪除不完全及錯刪文件現(xiàn)象,造成系統(tǒng)崩潰及應用程序損壞等嚴重后果[2]。本文對其原因進行詳細分析,研制了一套文件夾磁盤空間監(jiān)視及自動維護的軟件,通過“文件夾寫入權限管理”、“文件夾空間監(jiān)視”、“歷史垃圾文件識別與清理”、“事件記錄管理”、“防止軟件非常態(tài)退出” 五大功能模塊,分別解決“人為存放文件混亂造成重要文件夾磁盤空間滿”、“指令操作復雜造成磁盤空間狀態(tài)難以監(jiān)視”、“文件類型多樣性及路徑復雜性造成歷史垃圾文件刪除難度大”等運維問題。同時,對“配置修改事件”和“歷史垃圾清理事件”及“通訊狀態(tài)檢測與告警事件”進行可靠地管理保存,做到有據(jù)可查。針對“軟件非常態(tài)退出”情況提供了多項措施,以增強軟件運行可靠性。另外,對“軟件安裝與設置工作”進行了危險點分析,制定了相關安全措施。
根據(jù)長期運維經(jīng)驗分析,導致磁盤空間滿的原因主要分為如下幾點:
1) 文件類型多樣性及路徑復雜性造成歷史垃圾文件刪除難度大
服務器正常運行中會產(chǎn)生多種歷史垃圾文件,分為文本文件和數(shù)據(jù)庫文件[3]兩大類:
① 以文本文件形式存在
通常采用手動輸入復雜指令操作,根據(jù)多個不同文件路徑下文件的“特殊文件格式”及“最后修改時間”進行刪除。
② 以數(shù)據(jù)庫文件形式存在
采用相關的數(shù)據(jù)庫管理工具進入數(shù)據(jù)庫,根據(jù)數(shù)據(jù)庫中的“特定表名中的時間特征”或“特定表中數(shù)據(jù)的生成時間”進行文件刪除。
2) 人為存放文件混亂造成重要文件夾磁盤空間滿
維護人員在操作過程中將備份資料、調(diào)試軟件等文件以手動復制/移動、壓縮/解壓縮、FTP、SFTP數(shù)據(jù)傳輸工具的方式任意存放于重要文件夾里,導致其磁盤空間滿,從而造成服務器故障[4]。
3) 根目錄文件夾空間容量分配不當
在安裝操作系統(tǒng)時,對相關重要文件夾(如操作系統(tǒng)文件夾、重要程序的歷史數(shù)據(jù)文件夾等)空間分配過小,造成系統(tǒng)運行無緩存空間[5],導致服務器“歷史數(shù)據(jù)不刷新”或“頻繁重啟”等嚴重故障。
4) 指令操作復雜造成磁盤空間狀態(tài)難以監(jiān)視
由于類Unix操作系統(tǒng)相對于Windows系統(tǒng)界面不夠友好,僅依靠手動輸入復雜指令的方式進行文件磁盤空間查詢,無實時自動監(jiān)視手段,導致重要文件夾磁盤空間狀態(tài)無法得到及時有效的監(jiān)視[6],難以滿足運維需求。
針對類Unix系統(tǒng)服務器“磁盤空間滿”的問題,研制文件夾綜合管理及維護系統(tǒng),在解決文件夾維護工作中諸多難點的同時,對軟件的便捷性及兼容性也提供了功能支持。
在滿足日常維護需求(應用程序升級、文件備份、數(shù)據(jù)庫更新、應用程序與操作系統(tǒng)的數(shù)據(jù)交換)的前提下,通過對 “手動移動文件夾”的操作范圍及途徑進行權限設定,避免人為存放文件混亂而導致相關重要“文件夾磁盤空間滿”現(xiàn)象。
2.1.1 “手動復制/移動操作” 、“壓縮/解壓縮操作” 、“SSH數(shù)據(jù)傳輸操作”集中權限設置
摒棄了“在操作系統(tǒng)中設置寫入權限”的方法(該權限范圍過大,會在限制手動移動文件夾操作的同時,限制應用程序運行過程中與非權限文件夾之間的正常數(shù)據(jù)交換)。采用 “攔截過濾”的方式,通過一個程序來集中完成對文件“手動復制/移動操作”(調(diào)用CP/MV命令)、“壓縮/解壓縮操作”(調(diào)用tar、zip、rar、unzip、unrar命令)、“SSH數(shù)據(jù)傳輸操作”(調(diào)用CP/MV命令)的文件移動路徑范圍進行權限限制。具體流程如圖1所示。
圖1 集中權限管理流程
裝入cp(mv、tar、unzip、unrar)操作:先將原cp(mv、tar、unzip、unrar)重命名為mycp(my mv、tar、unzip、unrar),然后按原命令執(zhí)行路徑進行包裝。
權限識別操作:先讀取該用戶保存的設置,然后判斷目標路徑是否在允許范圍之內(nèi)。
2.1.2 設置限制文件“FTP數(shù)據(jù)傳輸路徑”權限
在日常維護中FTP工具也是文件移動途徑之一。通過在操作系統(tǒng)中“修改FTP服務器配置”的方式,實現(xiàn)對“文件FTP數(shù)據(jù)傳輸范圍”進行限制,使FTP工具只能在指定文件夾中進行復制/移動文件操作。具體流程如圖2所示。
圖2 FTP路徑權限管理流程
本模塊調(diào)用“du-sh”命令,同時對多個文件夾磁盤空間進行監(jiān)視及閾值告警,其文件夾的路徑及告警閾值均可進行選項設置。
另外,以一定時間間隔運行檢查程序,自動讀取設置,并比對預設值(監(jiān)視目標路徑是否達到最大值)。具體流程如圖3所示。
圖3 文件夾空間監(jiān)視流程
圖3中的core為核心處理模塊,對設置路徑的空間使用情況與預設值進行對比。
歷史垃圾文件主要是指:1年前的部分歷史數(shù)據(jù)庫文件、錄波文件、操作系統(tǒng)運行中產(chǎn)生的tmp臨時文件、程序異常產(chǎn)生的core文件、日常運行中產(chǎn)生的操作系統(tǒng)log日志文件及應用程序產(chǎn)生的程序log日志文件。按文件類型分為文本文件及數(shù)據(jù)庫文件兩大類。
通過對需清理的文件特征及路徑進行分別設定,然后根據(jù)不同文件類型(文本文件、Oracle數(shù)據(jù)庫文件或MYSQL數(shù)據(jù)庫文件)集成相應刪除功能,實現(xiàn)對相關文件進行一鍵式刪除。
2.3.1 文本文件刪除功能
集成文本文件刪除指令對文件夾路徑及文件特征(特殊的文件后綴,可添加設置)進行選項設置組合,根據(jù)文件的后綴名來判斷文件的類型,根據(jù)文件的最后修改時間進行刪除選項設置。
2.3.2 數(shù)據(jù)庫文件刪除功能
采用調(diào)用數(shù)據(jù)庫函數(shù)(包含Oracle及MYSQL等數(shù)據(jù)庫),刪除數(shù)據(jù)庫數(shù)據(jù)的方式。
調(diào)用數(shù)據(jù)庫函數(shù)(可根據(jù)相應的數(shù)據(jù)庫類型進行設置),輸入需清理數(shù)據(jù)的服務器IP地址(可設置),用戶名及密碼(可設置),輸入路徑(數(shù)據(jù)庫名及表名,可設置),該組合選項中還應根據(jù)文件的時間進行刪除選項設置,其中數(shù)據(jù)庫歷史文件的結(jié)構分為2種:① 在特定表中,以數(shù)據(jù)的方式存在(執(zhí)行在表中刪數(shù)據(jù)操作),可在表中利用數(shù)據(jù)庫固有的功能對歷史數(shù)據(jù)進行時間檢索[7]; ② 在特定庫文件中,以表的方式存在(執(zhí)行在庫中刪表的操作),該歷史表的文件名帶具體時標,如201707,其中帶時標的表可以刪,不帶時標的表都不能刪除。刪除數(shù)據(jù)的時間選項按如下要求:該軟件清理數(shù)據(jù)功能選項設置,且清除X年前(可設置,其中如果清理所有數(shù)據(jù),按0年進行設置)數(shù)據(jù)的功能,每個刪除項目均可進行不同的時間刪除設置,實現(xiàn)對各刪除對象設定名字。具體流程如圖4所示。
圖4 文件綜合識別與清理流程
該模塊將“配置修改事件”和“歷史垃圾清理事件”及“通訊狀態(tài)檢測與告警事件”進行集中信息采集。
2.4.1 配置修改事件管理
為防止人為修改已設定好的軟件功能設置信息,該軟件具有配置文件修改的事件記錄功能及權限密碼,且有友好選項界面方便查詢。當該文件由于修改設置文件造成服務器故障,則可根據(jù)事件報告進行“追責管理”。
2.4.2 歷史垃圾清理事件管理
將該軟件中的歷史垃圾清理模塊中的文件刪除時間、大小、路徑及文件名,生成事件記錄進行收集。
2.4.3 事件數(shù)據(jù)集中管理
設定2個事件主站服務器,建立事件信息集中管理系統(tǒng),如圖5所示。
圖5 事件信息集中管理系統(tǒng)圖
在需要安裝該軟件的同一網(wǎng)絡連接的各服務器中,選擇2臺作為事件主站服務器,其他作為子站服務器。2臺事件主站服務器通過增加IP地址(每個IP地址可以定義一個機器名稱)的方式,將各子站的事件數(shù)據(jù)進行收集,一旦子站服務器和事件主站服務器有事件記錄信息生成時,立即上傳到安裝同樣軟件的2個主站事件服務器的專用事件記錄中存貯,以防止本機故障、重裝系統(tǒng),造成本機軟件上的事件信息記錄丟失,以實現(xiàn)重要“事件信息記錄”的雙重保險(一個存于本機,其他存于2臺事件服務器)。2臺事件服務器的事件記錄(一個存于本機,1個存于另一臺事件服務器)。
2.4.4 通訊狀態(tài)檢測與告警事件管理。
如圖5所示,事件主站服務器1及事件主站服務器2,每隔1天檢測一次與各子站服務器與事件主站服務器1及事件主站服務器2之間的網(wǎng)絡通訊狀態(tài)。當網(wǎng)絡通訊狀態(tài)異常時,發(fā)出告警信號,同時生成通訊異常告警信息記錄(標明網(wǎng)絡中斷服務器的名稱及網(wǎng)絡地址及中斷時間); 當網(wǎng)絡通訊狀態(tài)恢復正常后,將告警信號復歸,且同時生成“通訊恢復”信息記錄(標明網(wǎng)絡恢復服務器的名稱及網(wǎng)絡地址及恢復時間)。
由于該軟件的“限制文件夾手動移動操作”及“限制文件夾壓縮及解壓縮操作”均采用程序過濾攔截的方式實現(xiàn),這樣就需要該軟件實時運行方可生效。因此,需采取以下3種措施,以防止在“開機不啟動該軟件”及“操作前軟件退出”和“卸載該軟件”情況下,該軟件功能無法生效[8]。3種措施分別如下:
1) 軟件開機自啟動方式自動設置
在不影響服務器現(xiàn)有應用程序運行的情況下,在當前服務器用戶(非超級用戶)下[9],實現(xiàn)當該軟件啟動時,對該軟件自動進行開機自啟動設置。
2) 軟件退出專用密碼
針對“將該軟件退出操作”,設置專用密碼,對該操作進行管控。
3) 增加本軟件卸載難度
為防止該軟件被人為卸載,增加該軟件的卸載難度[10]。采取如下措施:
① 刪除該軟件的專用卸載文件;
② 刪除該軟件安裝過程記錄的日志文件;
③ 對該軟件的安裝文件夾設置專用訪問賬號及密碼。
該軟件設置總體權限賬戶管理,修改設置事件記錄管理,手動及自動啟動功能方式管理,文件設定格式分類提示,并滿足不同操作系統(tǒng)的兼容性需求。該軟件的設計根據(jù)不同的事項,按需求設置不同與之匹配復雜條件組合,從而實現(xiàn)事項目的。
該軟件在進行路徑、文件特征、網(wǎng)絡地址、用戶名、數(shù)據(jù)庫等設置前,應進行該軟件的用戶名和密碼認證,方可進入“設置修改界面”。
該軟件清理數(shù)據(jù)功能設置,每隔X年(可設置)自動啟動各數(shù)據(jù)清理項(之前分模塊已設置)1次數(shù)據(jù)的功能,也應有手動立即啟動各數(shù)據(jù)清理項(之前分模塊已設置)1次數(shù)據(jù)的功能。
各可設置的選項前有可點擊的幫助選項,對設置要求進行說明,確保設置項格式的正確性,一旦設置錯誤,會造成無法保存,并跳出“設置錯誤窗口”,說明配置錯誤的具體選項錯在哪。
該軟件兼容solaris unix和linux(麒麟,小紅帽5.6、5.8,凝思磐石等)操作系統(tǒng)。
本文所研制的軟件已在湖北電網(wǎng)500 kV咸寧變電站進行掛網(wǎng)運行試驗。根據(jù)實際運行發(fā)現(xiàn):該軟件能自動刪除各類歷史垃圾文件,能有效防止人為混亂存放操作現(xiàn)象,實現(xiàn)空間監(jiān)視與預警等功能,且能做到記錄有據(jù)可查。該軟件不僅適用于電力行業(yè),同樣適用于其他多個行業(yè),為類Unix系統(tǒng)服務器的文件夾維護與管理工作開辟了一條高效的新途徑。
[1] 鄧先友,呂濤,曹繼豐.500 kV變電站監(jiān)控系統(tǒng)升級改造分析[J].云南電力技術,2009,37(6):87-88.
[2] 陳萍,黃冰,周曉陽.超高壓變電站監(jiān)控系統(tǒng)[J].電力自動化設備,2007,27(7):116-118.
[3] 傅蕾,胡敏強.變電站監(jiān)控軟件系統(tǒng)中內(nèi)存數(shù)據(jù)庫的研究[J].電力自動化設備,2002,22(10):21-23.
[4] 王匯,嚴利雄,湯弋.變電站監(jiān)控系統(tǒng)故障分析及管理方案探討[J].湖北電力,2010,34(5):10-12.
[5] 樊陳,倪益民,竇仁暉,等.智能變電站一體化監(jiān)控系統(tǒng)有關規(guī)范解讀[J].電力系統(tǒng)自動化,2012,36(19):1-5.
[6] 陸劍云,蘇和,張云飛.500 kV某變電站監(jiān)控系統(tǒng)改造實例分析[J].華東電力,2014,42(12):2655-2658.
[7] 賀俊杰,趙淑,鄭寶慶,等.500 kV變電站監(jiān)控系統(tǒng)改造問題探析[J].中國電力,2009,42(5):57-59.
[8] 呂贏想,劉毅,劉乃杰.500 kV雙龍變電站監(jiān)控系統(tǒng)的升級改造[J].浙江電力,2012,31(2):13-15.
[9] 陳伍軍,丁劍,曾慶凱.基于unix系統(tǒng)的不確定數(shù)據(jù)庫解決方案[J].計算機工程與應用,2004,40(2):186-189.
[10] 史巧碩,范東月,柴欣,等.嵌入式Linux根文件系統(tǒng)的構建與分析[J].計算機測量與控制,2015,23(2):656-659.
DevelopmentofDiskSpaceMonitoringandAutomaticMaintenanceSoftwareforUnix-LikeServerFolder
LI Ting, DEND Ke, ZHANG Huanqing, CAI Ang, FENG Ning, LIU Xiaohua, LI Wei, HONG Ye
(State Grid Hubei Corporation Maintenance Company, Wuhan 430050, China)
“Folder disk space full” problem causes serious harm on the Unix-like operating system server running, and it is difficult to handle and not easy to detect. This paper analyzes its causes, based on the underlying configuration of operating system, filtering interception method and manual cleaning method realize Unix-like system server folder disk space monitoring and automatic maintenance technology. The realization principle of the technology is analyzed emphatically, and the development and realization are realized. This software has realized to “folder space monitoring and alarm”, “intelligent recognition and automatic cleaning of historical garbage files”,“artificially written operation limits”, “important software running event reliable records”and other functions. The engineering practice shows that the function of the software is stable, which greatly reduces the probability of the problem and the difficulty of processing.
disk space;authority management;clean;folder
2017-07-17
國家電網(wǎng)公司科技項目(52152016000Q)
李挺(1982—),男,湖北武漢人,碩士研究生,主要從事電力系統(tǒng)繼電保護及自動化方面的研究,E-mail:2911918928@qq.com。
李挺,鄧科,張煥青,等.類Unix系統(tǒng)服務器文件夾磁盤空間監(jiān)視及自動維護軟件的研制[J].重慶理工大學學報(自然科學),2017(12):151-155,207.
formatLI Ting, DEND Ke, ZHANG Huanqing, et al.Development of Disk Space Monitoring and Automatic Maintenance Software for Unix-Like Server Folder[J].Journal of Chongqing University of Technology(Natural Science),2017(12):151-155,207.
10.3969/j.issn.1674-8425(z).2017.12.026
TP277
A
1674-8425(2017)12-0151-05
(責任編輯陳 艷)