有關(guān)服務(wù)器管理和維護(hù)過程中的一些注意事項(xiàng),都是筆者的經(jīng)驗(yàn)之談,相信對(duì)新手會(huì)有一定的啟發(fā)和幫助。
很多初學(xué)者接觸 Linux 時(shí)間不長(zhǎng),還未完整地學(xué)習(xí)一遍 Linux,理解本節(jié)內(nèi)容可能有些困難,可以先跳過本節(jié),閱讀完整套教程后再回過頭來閱讀。
遠(yuǎn)程服務(wù)器關(guān)機(jī)及重啟時(shí)的注意事項(xiàng)
為什么遠(yuǎn)程服務(wù)器不能關(guān)機(jī)?原因很簡(jiǎn)單,遠(yuǎn)程服務(wù)器沒有放置在本地,關(guān)機(jī)后誰幫你按開機(jī)電源鍵啟動(dòng)服務(wù)器?雖然計(jì)算機(jī)技術(shù)曰新月異,但是像插入電源和開機(jī)這樣的工作還是需要手工進(jìn)行的。如果服務(wù)器在遠(yuǎn)程,一旦關(guān)機(jī),就只能求助托管機(jī)房的管理人員幫你開機(jī)了。
遠(yuǎn)程服務(wù)器重啟時(shí)需要注意兩點(diǎn)。
1) 遠(yuǎn)程服務(wù)器在重啟前,要中止正在執(zhí)行的服務(wù)計(jì)算機(jī)的硬盤最怕在高速存儲(chǔ)時(shí)斷電或重啟,非常容易造成硬盤損壞。所以,在重啟前先中止你的服務(wù),甚至可以考慮暫時(shí)斷開對(duì)外提供服務(wù)的網(wǎng)絡(luò)。
可能你會(huì)覺得服務(wù)器有這么嬌貴嗎?我的筆記本電腦經(jīng)常強(qiáng)行關(guān)機(jī),也沒有發(fā)現(xiàn)硬盤損壞???這是因?yàn)槟愕膫€(gè)人計(jì)算機(jī)沒有很多人訪問,強(qiáng)制斷電時(shí)硬盤并沒有進(jìn)行數(shù)據(jù)交換。小心駛得萬年船!
2) 重啟命令的選用
Linux 可以識(shí)別的重啟命令有很多條,但是建議大家使用 "shutdown-r now" 命令重啟。這條命令在重啟時(shí)會(huì)正常保存和中止服務(wù)器中正在運(yùn)行的程序,是安全命令。
最好在重啟前執(zhí)行幾次 "sync" 命令,這條命令是數(shù)據(jù)同步命令,可以讓暫時(shí)保存在內(nèi)存中的數(shù)據(jù)同步到硬盤上。
重啟和關(guān)機(jī)也是服務(wù)器需要注意的操作規(guī)范,不正確的重啟和關(guān)機(jī)造成服務(wù)器故障的不在少數(shù)。
不要在服務(wù)器訪問高峰運(yùn)行高負(fù)載命令
在服務(wù)器訪問高峰,如果使用一些對(duì)服務(wù)器壓力較大的命令,有可能會(huì)造成服務(wù)器響應(yīng)緩慢甚至死機(jī)。
哪些命令是高負(fù)載命令呢?如果大家使用過 Windows 操作系統(tǒng),則也會(huì)留意一些操作會(huì)給計(jì)算機(jī)帶來較大的運(yùn)算壓力,道理都是一樣的,如復(fù)制大量的數(shù)據(jù)、壓縮或者解壓縮大文件、大范圍的硬盤搜索等。
服務(wù)器的訪問高峰期一般認(rèn)為是在 17:00-24:00。當(dāng)然,每臺(tái)服務(wù)器具體提供的服務(wù)不同,訪問高峰期有時(shí)也會(huì)有所出入。比如,服務(wù)器主要是供美國人民訪問的,那就要考慮時(shí)差的問題;或者服務(wù)器提供的服務(wù)很特殊,訪問高峰期可能也不同。
高負(fù)載命令一般建議在凌晨的 4:00-5:00 執(zhí)行。那么,是不是說我們需要在凌晨上班?當(dāng)然不是,這誰受得了?。课覀兛梢允褂孟到y(tǒng)的計(jì)劃任務(wù),讓操作自動(dòng)在指定的時(shí)間段執(zhí)行。
遠(yuǎn)程配置防火墻時(shí)不要把自己踢出服務(wù)器
防火墻是指將內(nèi)網(wǎng)和外網(wǎng)分開,并依照數(shù)據(jù)包的 IP 地址、端口號(hào)和數(shù)據(jù)包中的數(shù)據(jù)來判斷是否允許數(shù)據(jù)包通過的網(wǎng)絡(luò)設(shè)備。
防火墻可以是硬件防火墻設(shè)備,也可以是服務(wù)器上安裝的防火墻軟件。
簡(jiǎn)單來講,防火墻就是根據(jù)數(shù)據(jù)包自身的參數(shù)來判斷是否允許數(shù)據(jù)包通過的網(wǎng)絡(luò)設(shè)備。我們的服務(wù)器要想在公網(wǎng)中安全地使用,就需要使用防火墻過濾有害的數(shù)據(jù)包。
但在配置防火墻時(shí),如果管理員對(duì)防火墻不是很熟悉,就有可能把自己的正常訪問數(shù)據(jù)包和有害數(shù)據(jù)包全部過濾掉,導(dǎo)致自己也無法正常登錄服務(wù)器。比如說,防火墻關(guān)閉了遠(yuǎn)程連接的 SSH 服務(wù)的端口。
防火墻配置完全是靠手工命令完成的,配置規(guī)則和配置命令相對(duì)也比較復(fù)雜,萬一設(shè)置的時(shí)候心不在焉,悲劇就發(fā)生了。如何避免這種趟尬的情況發(fā)生呢?
最好的方法當(dāng)然是在服務(wù)器本地配置防火墻,這樣就算不小視自己的遠(yuǎn)程登錄給過濾了,還可以通過本機(jī)登錄來進(jìn)行恢復(fù)。如果服務(wù)器已經(jīng)在遠(yuǎn)程登錄了,要配置防火墻,那么最好在本地測(cè)試完善后再進(jìn)行上傳,這樣會(huì)把發(fā)生故障的概率降到最低。
雖然在本地測(cè)試好了,但是傳到遠(yuǎn)程服務(wù)器上時(shí)仍有可能發(fā)生問題。于是筆者想到一個(gè)笨辦法,如果需要遠(yuǎn)程配置防火墻,那么先寫一個(gè)系統(tǒng)定時(shí)任務(wù),讓它每 5 分鐘清空一下防火墻規(guī)則,就算寫錯(cuò)了也還有反悔的機(jī)會(huì),等測(cè)試沒有問題了再刪除這個(gè)系統(tǒng)定時(shí)任務(wù)。
總之,大家可以使用各種方法,只要留意不要在配置防火墻時(shí)把自己踢出服務(wù)器就好了。
指定合理的密碼規(guī)范并定期更新
除了前面給大家介紹設(shè)置密碼需要遵守復(fù)雜性、易記憶和時(shí)效性的三原則外,還需要注意密碼的保存。
日常使用的密碼,我們最簡(jiǎn)單的原則是寫下來。服務(wù)器可能有很多,不可能所有的服務(wù)器都使用同樣的密碼,最好每臺(tái)服務(wù)器的密碼都不盡相同(但是在實(shí)際的工作中也不現(xiàn)實(shí))。一般的做法是給服務(wù)器分類,每類服務(wù)器的密碼一致,這樣可以有效地減少密碼的數(shù)量。但是在有大量服務(wù)器的情況下,密碼的數(shù)量還是很可怕的。
比如,當(dāng)年筆者從事游戲運(yùn)維的時(shí)候,有超過 2000 臺(tái)服務(wù)器,再加上交換機(jī)和路由器等網(wǎng)絡(luò)設(shè)備,雖然采用了每類服務(wù)器相同密碼的方法,但是密碼的總數(shù)量還是超過了 100 個(gè)……這時(shí)把密碼一次性記憶下來基本上是一項(xiàng)不可能完成的任務(wù)。那么,該如何保存這些密碼呢?只能通過文檔來保存了,當(dāng)然這些文檔不能是明文保存的,而是要加密的。
總之,合理的密碼還要有合適的保存方式,這些在構(gòu)建服務(wù)器架構(gòu)的時(shí)候都是必須考慮的內(nèi)容。
合理分配權(quán)限
管理服務(wù)器要遵守一個(gè)最基本的原則,“給予用戶最小的權(quán)限”。
初次接觸服務(wù)器的人會(huì)很迷惑,我們所有同事都使用管理員 root 賬戶登錄多好,省得還要學(xué)習(xí)如何添加用戶、設(shè)置權(quán)限。這樣操作,如果是對(duì)個(gè)人計(jì)算機(jī)來講問題不大,如日常使用的 Windows 桌面系統(tǒng),但如果是服務(wù)器,就會(huì)出現(xiàn)重大的安全隱患。
在實(shí)際的工作中,因?yàn)榻o內(nèi)部員工分配的權(quán)限不合理而導(dǎo)致數(shù)據(jù)泄密甚至觸犯法律的情況屢見不鮮。所以,在服務(wù)器上,合理的權(quán)限規(guī)劃必不可少!而且就算只有你是這臺(tái)服務(wù)器的 root,我們也建議在管理服務(wù)器時(shí),能使用普通用戶完成的操作都使用普通用戶,確實(shí)完成不了的操作要么進(jìn)行授權(quán),要么再切換到 root 執(zhí)行。因?yàn)?Linux 上的 root 用戶權(quán)限實(shí)在過大,一旦誤操作,后果是嚴(yán)重的,下場(chǎng)是慘淡的。
在實(shí)際的工作中,越是重要的服務(wù)器,對(duì)權(quán)限的管理越嚴(yán)格。原則上,在能夠完成工作的前提下,分配的權(quán)限越小越安全。當(dāng)然,權(quán)限越小,你需要做的規(guī)劃和權(quán)限分配任務(wù)就越多,但是服務(wù)器也越可靠。
定期備份重要數(shù)據(jù)和日志
沒有備份的服務(wù)器,就是在作死!
我身邊有很多人,手機(jī)壞了或丟了,通訊錄就沒了;自己電腦的硬盤壞了,上面的資料就再也找不到了,一點(diǎn)備份的意識(shí)也沒有。個(gè)人的損失往往可以承受,但是公司服務(wù)器的損失可能會(huì)非常驚人。
有的人知道備份重要,但是因?yàn)閼星榛蛲洠Y(jié)果后悔莫及。很多事情都是知易行難的,備份來不得半點(diǎn)僥幸心理。如果公司的主要盈利項(xiàng)目是在互聯(lián)網(wǎng)上的業(yè)務(wù),那么數(shù)據(jù)的丟失就有可能造成公司的直接利益損失。