系統(tǒng)管理員喜歡系統(tǒng)有這5個原因

系統(tǒng)管理員喜歡系統(tǒng)有這5個原因

正如系統(tǒng)管理員所知,現(xiàn)代計算機能幫我們完成很多事情。應用程序在后臺運行,自動事件等待在特定時間觸發(fā),日志文件被寫入,狀態(tài)報告交付。傳統(tǒng)的這些不同的流程一直通過收集的Unix工具進行管理和監(jiān)控,效果顯著,效率很高。然而,現(xiàn)代計算機是多樣化的,本地服務(wù)與容器化應用程序一起運行,輕松訪問云及其運行的集群,實時進程,以及比以往任何時候都要處理的數(shù)據(jù)。
擁有統(tǒng)一的管理方法是用戶的期望,對于忙碌的系統(tǒng)管理員也有用。對于這項不平凡的任務(wù),所有主要的Linux發(fā)行版都開發(fā)了系統(tǒng)守護進程或systemd可以迅速地使用。

當然,systemd并不是管理Linux系統(tǒng)的唯一方法。有許多替代的init系統(tǒng),包括sysvinit、OpenRC、runit、s6甚至是BusyBox,但systemd將Linux視為一個統(tǒng)一的數(shù)據(jù)集,旨在使用工具進行一致操作和查詢。對于忙碌的系統(tǒng)管理員和許多用戶來說,系統(tǒng)的速度和易用性是一個重要特征。原因有如下5個。

啟動管理
01
如果你想啟動Linux計算機,啟動它可能是個罕見事件。當然,在服務(wù)器世界中,正常運行時間通常以年而不是月或周計算。筆記本電腦和臺式機往往經(jīng)常被關(guān)閉和啟動,盡管即使它們也像被關(guān)閉一樣可能進入睡眠模式。無論哪種方式,自最近啟動事件以來的時間都可以作為計算機健康檢查的會話管理器。這是限制在監(jiān)控系統(tǒng)或診斷問題時查看哪些數(shù)據(jù)的有用方法。
如果不記得上次啟動計算機是什么時候,可以使用systemd的日志記錄工具journalctl列出啟動會話:



$ journalctl --list-boots
-42 7fe7c3...2020 年 12 月 4 日星期五 05:13:59 - 2020 年 12 月 16 日星期三 16:01:23
-41 332e99...2020 年 12 月 16 日星期三 20:07:39 - 2020 年 12 月 18 日星期五 22:08:13
[...]
-1 e0fe5f...星期一 2021-03-29 20:47:46 - 星期一 2021-03-29 21:59:29
0 37fbe4...2021 年 3 月 30 日(星期二)04:46:13 - 2021 年 3 月 30 日 10:42:08
左邊的數(shù)字(本例中的42、41、1和0)是每個引導會話的索引數(shù)字。

日志評論
02
查看日志是推斷系統(tǒng)信息的重要方法。日志提供了計算機在沒有直接監(jiān)督的情況下從事的大部分活動的歷史??梢圆榭春螘r啟動服務(wù)、何時運行定時工作、哪些服務(wù)在后臺運行、哪些活動失敗等。最常見的初始故障診斷步驟之一是查看日志,可以使用 journalctl:
$ journalctl --pager-end
--pager-end(簡稱-e)選項在journalctl輸出的末尾開始查看日志,因此必須向上滾動以查看早些時候發(fā)生的事件。

服務(wù)管理
03
systemd的首要任務(wù)是啟動計算機,它通常可以及時、高效和有效地完成此操作。但從未完成的任務(wù)是服務(wù)管理。通過設(shè)置,systemd確保用戶想要運行的服務(wù)確實在會話期間啟動并繼續(xù)運行。這非常方便,因為理論上,即使是崩潰的服務(wù)也可以重新啟動,而無需用戶干預。

定時器
04
很久以前,當你想在Linux上實現(xiàn)任務(wù)自動化時,該工作的規(guī)范工具是cron。cron命令仍然有一席之地,但也有一些令人信服的替代方案。例如,sanacron
命令是一個多功能的、類似cron的系統(tǒng),能夠運行否則在停機期間錯過的任務(wù)。
計劃事件只不過是在特定時間激活的服務(wù),因此systemd管理一個名為
計時器的類似cron的函數(shù)。可以列出活動計時器:
$ systemctl列表計時器
左下部
2021 年 3 月 30 日星期二 12:37:54 NZDT 剩余 16 分鐘 [...]
2021 年 3 月 31 日星期三 00:00:00 NZDT 11 小時左 [...]
2021 年 3 月 31 日星期三 06:42:02 NZDT 18 小時左 [...]
列出3個計時器。
通過——所有都是為了看到加載但非活動計時器。

目標
05
簡而言之,目標是收集服務(wù)、計時器甚至其他目標的簡單方法,以表示機器的預期狀態(tài)。
事實上,在系統(tǒng)內(nèi),重新啟動、關(guān)機或關(guān)機操作只是另一個目標。
使用systemd進行控制
現(xiàn)代Linux使用systemd進行服務(wù)管理和日志內(nèi)省。它提供從個人Linux系統(tǒng)到企業(yè)服務(wù)器的一切,具有現(xiàn)代化的監(jiān)控機制和易于維護。使用得越多,系統(tǒng)就越容易預測和直觀,并且就越發(fā)現(xiàn)系統(tǒng)的不同部分是相互關(guān)聯(lián)的。
