服務(wù)器不需要換油和輪胎壓力檢查等維護(hù),但在許多方面擁有充當(dāng)服務(wù)器的計(jì)算機(jī)設(shè)備有點(diǎn)像擁有車輛。駕駛汽車不涉及工程技能,運(yùn)行服務(wù)器也不需要您是硬件工程師或軟件開發(fā)人員。
對于汽車,您需要掌握一些基本知識,包括換油和輪胎壓力檢查以及偶爾的服務(wù)。同樣,服務(wù)器需要日常維護(hù),而不僅僅是每月支付托管費(fèi)用的問題。您的服務(wù)器需要大量的定期維護(hù),實(shí)際上比車輛要多得多。
您無需成為工程師即可進(jìn)行此維護(hù),但您應(yīng)該知道,為數(shù)百萬客戶提供服務(wù)的 24/7 運(yùn)行的服務(wù)器將需要服務(wù)器維護(hù)計(jì)劃。它很少涉及物理磨損,您不會聽到服務(wù)器在搜索文件時發(fā)出吱吱聲。但在軟件層面,存在一層磨損。讓我們來看看。
為什么需要服務(wù)器維護(hù)計(jì)劃
服務(wù)器中的移動部件通常會持續(xù)一生,例如,沒有人打開硬盤驅(qū)動器并為軸承上油。在最壞的情況下,您可能需要更換一兩個風(fēng)扇,但即使是這些也很少會放棄幽靈。但是,服務(wù)器確實(shí)會產(chǎn)生軟件意義上的“里程”。
隨著時間的推移,您的服務(wù)器將建立大型存儲庫和記錄,包括會降低交易率的緩存文件。隨著時間的推移,SQL 表的碎片也是一個問題。隨著交易量的增加,舊的服務(wù)器設(shè)置可能不再有效,您的服務(wù)器軟件將成為攻擊者的軟目標(biāo)。最后,HDD 和 SSD 最終都會退化,盡管這種情況會在很長一段時間內(nèi)發(fā)生。
當(dāng)服務(wù)器降級時會發(fā)生什么?好吧,充其量您可能會遭受服務(wù)器性能下降的困擾,這可能會導(dǎo)致您的工作量出現(xiàn)故障并導(dǎo)致客戶不滿意。在最壞的情況下,您可能會面臨嚴(yán)重的數(shù)據(jù)損壞和數(shù)據(jù)丟失,或者由于黑客攻擊而導(dǎo)致的數(shù)據(jù)盜竊。值得慶幸的是,我們指出的大多數(shù)服務(wù)器維護(hù)問題都可以使用服務(wù)器維護(hù)計(jì)劃來解決。
服務(wù)器維護(hù)計(jì)劃:簡介
我們之前說過服務(wù)器不像汽車,它們不需要物理維護(hù),但在許多方面,服務(wù)器實(shí)際上就像汽車一樣,它們確實(shí)需要軟件維護(hù)。就像您的汽車一樣,一些維護(hù)任務(wù)會很緊迫,需要經(jīng)常關(guān)注,而另一些則只需要年度審查。例如,您不會每個月檢查引擎和車燈,但至少每月檢查一次輪胎壓力。讓我們看一下服務(wù)器維護(hù)的一些時間間隔:
每日服務(wù)器檢查
當(dāng)您負(fù)責(zé)服務(wù)器維護(hù)計(jì)劃時,您需要每天檢查很多事情。首先,檢查更新,包括病毒掃描程序的數(shù)據(jù)庫和其他可以防止零日攻擊的關(guān)鍵軟件更新。事實(shí)上,您應(yīng)該仔細(xì)查看軟件和硬件供應(yīng)商的漏洞聲明,以便您可以修補(bǔ)服務(wù)器以抵御攻擊。還要查看您的安全日志以獲取入侵企圖的證據(jù),以便您有機(jī)會阻止這些用戶。
每周服務(wù)器檢查
您應(yīng)該不太頻繁地驗(yàn)證您的備份是否正常工作。沒有必要每天都這樣做,因?yàn)楫?dāng)您的備份突然停止工作時,不太可能需要備份。盡管如此,每周檢查是必不可少的。您應(yīng)該每周甚至每兩周進(jìn)行的另一項(xiàng)檢查是磁盤使用情況。同樣,磁盤使用情況很少會突然發(fā)生變化,因此您不需要每天檢查。但是,磁盤空間不足可能意味著您的服務(wù)器出現(xiàn)故障。注意諸如帳戶過時和過時的臨時文件之類的問題。
每月服務(wù)器檢查
我們建議您每兩個月優(yōu)化一次數(shù)據(jù)庫,數(shù)據(jù)庫碎片以每月高達(dá) 5% 的速度發(fā)生,隨著時間的推移,碎片將真正影響性能。調(diào)整單個應(yīng)用程序也很重要,因?yàn)槲磧?yōu)化的應(yīng)用程序會損害性能。但是,由于流量水平變化很大,因此將應(yīng)用程序調(diào)整限制為每兩個月一次會很有用,這樣您就可以很好地衡量應(yīng)用程序負(fù)載水平。
實(shí)時服務(wù)器檢查
我們列出了您每天需要檢查的大量要點(diǎn),但有些檢查必須實(shí)時完成。換句話說,一整天。這些服務(wù)器運(yùn)行狀況數(shù)據(jù)點(diǎn)可以在負(fù)載激增時發(fā)出信號,并且及早發(fā)現(xiàn)問題有助于防止服務(wù)器完全故障:停機(jī)代價(jià)高昂。大多數(shù)這些因素都可以使用服務(wù)器監(jiān)控工具輕松檢查,事實(shí)上,您甚至可以獲得自動警報(bào)。例如,您可以檢查 CPU 和整體服務(wù)器溫度、RAID 卷的健康狀況和負(fù)載因素,包括打開的網(wǎng)絡(luò)連接數(shù)。
支票如何變成計(jì)劃
那么現(xiàn)實(shí)中的服務(wù)器維護(hù)計(jì)劃是什么?好吧,維護(hù)計(jì)劃只是一個固定的時間表,它概述了上述哪些檢查是實(shí)時、每天或每月完成的。做到這一點(diǎn)并不難:盡管大型運(yùn)營商將擁有內(nèi)部技術(shù)人員,但小型企業(yè)可以依靠遠(yuǎn)程員工或其他公司來做到這一點(diǎn)。但是,如果您全靠自己,請不要絕望:您可以制定自己的服務(wù)器維護(hù)計(jì)劃,而且一點(diǎn)也不難。
制定服務(wù)器維護(hù)計(jì)劃
一個好的起點(diǎn)是根據(jù)您試圖通過活動實(shí)現(xiàn)的目標(biāo)對維護(hù)活動進(jìn)行分類,并從那里開始。在本文中,我們將其分為三個區(qū)域。
首先,我們將了解您在發(fā)生緊急情況時需要采取的應(yīng)對措施,稱之為應(yīng)急計(jì)劃。其中包括在出現(xiàn)緊急情況時獲取警報(bào)等步驟,以及在出現(xiàn)問題時快速恢復(fù)服務(wù)的能力。
接下來,我們將考慮您應(yīng)該采取的措施,以防止緊急情況的發(fā)生。例如,您可以主動進(jìn)行安全檢查、分析性能數(shù)據(jù)并檢查服務(wù)器資源的使用情況。
最后,我們將看看一些作為一種保險(xiǎn)的措施,以防您遇到服務(wù)器問題。這些活動,包括審核您的備份和進(jìn)行故障轉(zhuǎn)移檢查,將確保您可以在需要時快速恢復(fù)您的服務(wù)器。
應(yīng)對新出現(xiàn)的問題:您需要注意什么
不同的車輛有不同的故障點(diǎn):火箭的故障點(diǎn)可能與賽車上的非常不同。同樣,不同的服務(wù)器有不同的故障根本原因:郵件服務(wù)器可能發(fā)生故障的原因與 Web 服務(wù)器發(fā)生故障的原因大不相同。
出于這個原因,我們不能建議一個單一的計(jì)劃來準(zhǔn)確地告訴您需要監(jiān)控什么,以確保您在緊急情況下快速響應(yīng)。相反,我們將通過概述您應(yīng)該考慮的內(nèi)容來引導(dǎo)您朝著正確的方向前進(jìn)。我們將使用 Web 服務(wù)器作為典型示例。
服務(wù)器容量和用戶需求問題
您的服務(wù)器不是為管理無限需求而構(gòu)建的:它有容量限制。有時需求會出乎意料地上升,也許有人向一百萬人發(fā)送了一封廣受歡迎的電子郵件,或者社交媒體上的某些東西觸發(fā)了需求。這可能會導(dǎo)致內(nèi)存過載、磁盤無法響應(yīng)以及服務(wù)器無法提供頁面。
同樣,在共享主機(jī)的環(huán)境中,一些用戶可以運(yùn)行占用大量資源的應(yīng)用程序。事實(shí)上,一些用戶可能故意濫用服務(wù)器資源,因?yàn)樗麄儾蛔⒁馑麄儺a(chǎn)生的服務(wù)器負(fù)載量。
最后,有時服務(wù)器過載是由編碼錯誤引起的。寫得不好的腳本可能會導(dǎo)致內(nèi)存泄漏和其他資源問題。作為服務(wù)器維護(hù)計(jì)劃的一部分,您必須注意那些利用超出其公平份額的服務(wù)器資源的腳本和用戶,同時密切關(guān)注服務(wù)器利用率。
服務(wù)器攻擊和惡意軟件
我們生活在一個服務(wù)器攻擊非常普遍的時代。這些可以有幾種不同的形狀。例如,機(jī)器人可能會嘗試蠻力進(jìn)入您的機(jī)器,而這涉及的數(shù)千個同時查詢將導(dǎo)致容量問題。成功的攻擊可能導(dǎo)致未經(jīng)授權(quán)訪問您的計(jì)算機(jī)。
惡意軟件是另一個重大威脅,通過未公開和未修補(bǔ)的漏洞注入軟件可以讓黑客進(jìn)入您的計(jì)算機(jī),再次提供未經(jīng)授權(quán)的訪問,并可能導(dǎo)致您的服務(wù)器被用作攻擊其他計(jì)算機(jī)的臨時站點(diǎn)。
除了數(shù)據(jù)丟失和容量問題等未經(jīng)授權(quán)訪問的風(fēng)險(xiǎn)外,這些攻擊還可能導(dǎo)致聲譽(yù)損失:換句話說,您的服務(wù)器可能會被排除在搜索引擎結(jié)果之外,您會發(fā)現(xiàn)您的流量急劇下降。作為服務(wù)器維護(hù)計(jì)劃的一部分,請注意攻擊。
錯誤和失敗
服務(wù)器是高度連接的設(shè)備:無論是在硬件和軟件的內(nèi)部還是外部。注意網(wǎng)絡(luò)問題,包括與數(shù)據(jù)庫后端或服務(wù)器所依賴的其他應(yīng)用程序的連接斷開。
硬件是您需要注意的另一點(diǎn),例如確保 RAID 卷保持健康,并觀察 CPU 和機(jī)箱溫度等關(guān)鍵指標(biāo)。最后,如果冗余電源出現(xiàn)故障 - 立即更換它,同樣存在 RAID 卷問題。
本質(zhì)上,您需要監(jiān)控所有級別的服務(wù)器統(tǒng)計(jì)信息:網(wǎng)絡(luò)流量、利用率、負(fù)載等,以便您可以在出現(xiàn)異常時注意到。只有這樣,您才能進(jìn)一步調(diào)查。但是,當(dāng)您注意到緊急情況正在發(fā)展時,制定一個可以實(shí)施的計(jì)劃會有所幫助。
預(yù)防性維護(hù):避免問題的關(guān)鍵
我們已經(jīng)概述了在監(jiān)控新出現(xiàn)的問題時需要注意的事項(xiàng),但預(yù)防勝于治療。同樣,它稍微取決于您正在運(yùn)行的服務(wù)器,但讓我們看看您可以添加到服務(wù)器維護(hù)計(jì)劃中的一些預(yù)防性維護(hù),其中相關(guān)服務(wù)器是數(shù)據(jù)庫服務(wù)器。
碎片整理和檢查索引和完整性
數(shù)據(jù)庫涉及大量的讀寫操作,需要快速處理,因此數(shù)據(jù)庫可能會變得碎片化。刪除查詢尤其會導(dǎo)致碎片,這就是為什么定期優(yōu)化數(shù)據(jù)庫中的表以減少導(dǎo)致性能問題并減少可用空間的碎片很重要的原因。
同樣,您的預(yù)防性服務(wù)器維護(hù)計(jì)劃應(yīng)該定期進(jìn)行索引分析,優(yōu)化 MySQL 如此依賴的索引。MySQL 有一個分析功能,您應(yīng)該每月運(yùn)行一次,以確保 MySQL 始終可以快速找到數(shù)據(jù)。分析簡化索引并確??焖賵?zhí)行查詢。
數(shù)據(jù)庫完整性可能是一個問題,由于數(shù)據(jù)庫崩潰和其他應(yīng)用程序錯誤,MySQL 有時會丟失對數(shù)據(jù)集的跟蹤。每周檢查數(shù)據(jù)庫完整性可以防止查詢失敗,因?yàn)樗鼮?MySQL 提供了修復(fù)錯誤的機(jī)會。
檢查磁盤運(yùn)行狀況和空間
就像數(shù)據(jù)庫完整性一樣,您不能將磁盤健康視為理所當(dāng)然。始終確保檢查服務(wù)器日志,因?yàn)槟梢栽诖颂幷业?HDD 和 RAID 錯誤通知。這些錯誤表明硬盤驅(qū)動器或 RAID 卷即將出現(xiàn)故障,讓您有機(jī)會在驅(qū)動器關(guān)閉服務(wù)器之前更換驅(qū)動器。
服務(wù)器因驅(qū)動器空間不足而摔倒并不是什么新鮮事。您必須為數(shù)據(jù)庫增加空間、進(jìn)行備份和處理大型數(shù)據(jù)庫事務(wù)留出空間。通過刪除臨時文件、不再相關(guān)的備份和其他陳舊數(shù)據(jù)來釋放空間。
集群效率很重要,如果要防止運(yùn)行緩慢的查詢和數(shù)據(jù)庫錯誤,數(shù)據(jù)庫集群應(yīng)該高效同步。同樣,早期檢測是關(guān)鍵,因?yàn)樗梢苑乐勾鷥r(jià)高昂的數(shù)據(jù)庫崩潰。
審查 SQL 日志
當(dāng)你的 MySQL 服務(wù)器發(fā)現(xiàn)表損壞或索引問題時,它會記錄錯誤。審核您的日志將確保您獲得可能的數(shù)據(jù)庫故障的早期警告:充滿錯誤的日志是一個確定的警告信號。
慢查詢是另一個需要注意的地方。除了突出整體性能問題外,它還指示哪些特定查詢導(dǎo)致性能問題,允許您調(diào)整這些以提高服務(wù)器性能。
最后,每月對您的服務(wù)器速度進(jìn)行一次健康檢查將為您提供一個記錄,以便您可以檢測到您的服務(wù)器何時開始遇到瓶頸。然后,您可以在出現(xiàn)更嚴(yán)重的問題之前更輕松地解決這些瓶頸。
總體而言,您需要一定程度的服務(wù)器管理經(jīng)驗(yàn)才能真正了解服務(wù)器性能會引發(fā)危險(xiǎn)信號,表明潛在問題正在逼近。無論您運(yùn)行 Web 服務(wù)器、數(shù)據(jù)庫服務(wù)器還是其他東西,預(yù)防性維護(hù)都是關(guān)鍵。
災(zāi)難恢復(fù):制定啟動和運(yùn)行計(jì)劃
預(yù)防性計(jì)劃是避免災(zāi)難的關(guān)鍵,但即使是運(yùn)行最好的服務(wù)器環(huán)境也偶爾會面臨災(zāi)難。你如何回應(yīng)?顯然,最重要的目標(biāo)是讓一切重新運(yùn)轉(zhuǎn)起來。
有了經(jīng)過深思熟慮的災(zāi)難恢復(fù)計(jì)劃,您可以在一分鐘或更短的時間內(nèi)啟動并運(yùn)行。并非每個用例都需要如此快速的周轉(zhuǎn),如果他們的網(wǎng)站關(guān)閉一兩個小時,一些網(wǎng)站所有者不會看到太大的傷害。對于其他人來說,每一分鐘的停機(jī)時間都是收入損失。
有多種選擇可以最大限度地減少停機(jī)時間。其中包括非常適合確保業(yè)務(wù)連續(xù)性的高可用性集群。具有容錯能力的硬件(包括冗余電源)可以與故障轉(zhuǎn)移鏡像一起工作,以確保硬件故障不會導(dǎo)致長時間停機(jī)。
災(zāi)難恢復(fù)的關(guān)鍵:您的備份
我們在上一段中提到的一些要點(diǎn)實(shí)施起來很昂貴,而且許多網(wǎng)站運(yùn)營商都無法做到。但是有一點(diǎn)對于合理的服務(wù)器維護(hù)計(jì)劃至關(guān)重要。這與您的備份有關(guān)。
首先,確保您的備份實(shí)際上每天都在完成。檢查錯誤并確保您的備份工具報(bào)告正確的狀態(tài)。接下來,您需要檢查您的備份是否可以恢復(fù):您可以檢索數(shù)據(jù),是否有任何損壞?始終監(jiān)控您的可用磁盤空間,因?yàn)檫@是備份失敗的主要原因。最后,對恢復(fù)過程進(jìn)行測試運(yùn)行,以驗(yàn)證它需要多長時間以及它是否在第一個實(shí)例中成功。注意可能導(dǎo)致恢復(fù)困難的意外故障,例如連接問題。
確定您的恢復(fù)計(jì)劃
最后,在決定如何設(shè)置恢復(fù)計(jì)劃以及投資多少時,您應(yīng)該仔細(xì)考慮應(yīng)用程序的要求。首先考慮您可以容忍多少停機(jī)時間:在損壞變得無法容忍之前,您需要多快恢復(fù)服務(wù)?
接下來,弄清楚您需要哪些計(jì)劃、軟件以及最終需要哪些硬件來制定災(zāi)難恢復(fù)計(jì)劃。在這樣做時,您可以將您可以接受的權(quán)衡與您不能接受的權(quán)衡相匹配。但無論您做什么,始終確保您檢查并驗(yàn)證您的備份策略。
租用或托管服務(wù)器可咨詢夢飛科技在線客服。