在RHEL7與RHEL6版本改變的過程中,跟先前的任一系列改版相比,多了許多不同以往的功能,也因此增加了不少與過往版本在管理方法大相逕庭的做法。
舉個例子來說,在過往的RHEL系列,管理人員通常先透過監控軟體,得知道運行中的應用程式,對系統的資源消耗比重,最後搭配系統上的資源配置工具,如:sysctl或ulimit來建立資源分配的上限,達成有效的資源比重控管;這樣可以避免對資源消耗極具影響性的應用程式,就如同以下的玩笑話,避免變成豬一般的隊友 [ 應用程式 ],害死整個系統的運作。
目前因RHEL7已採行systemd做為系統初始化的第一執行順位程式,所以也藉此引入其他的資源管控方式,讓過往的繁瑣管理方式得以化繁為簡。而cgroup就是目前Red Hat的選擇:能夠讓個別使用人員的需求、與虛擬機器的需求各自獨立開來;並能搭配systemd,將系統一開始的資源分配進行有效率的控制,不管是:CPU、Memory或是DiskI/O都能控制掌握。而管理人員也能對正在進行中的daemon,觀察是否已成功達成配置,確認cpuload程式執行時的資源已被掌握,相關判讀結果如下:
[student@serverX] sudo systemd-cgls /system.slice/system-cpuload.slice
/system.slice/system-cpuload.slice:
└cpuload.service
└12356 /usr/local/bin/cpuload –d –t 2
但這時如果資源使用異常問題,不是發生在應用程式本身,那管理人員要如何評估相關資訊是否與硬體有關?以x86主機為例,可以參考logdump如以下內容,確認是跟硬體有關的問題:
[root@s1] less /var/log/logdump
…
Dec 03 12:22:41 s1.example.com mcelog[1038]: MCA: MEMORY CONTROLLER RD_CHANNEL1_ERR
Dec 03 12:22:41 s1.example.com mcelog[1038]: Transaction: Memory read error
…
Dec 03 12:22:41 s1.example.com mcelog[1038]: Hardware event: This is not a software error
…
上述資訊,不管是開發人員或是管理人員,藉此紀錄,應能釐清該問題非軟體,而是硬體的問題,在系統運行發生問題時,更能快速讓問題釐清,能更有效率解決。
其他像是記憶體資源的huge page或是cache page等管理、與系統運行時,可能發生需要解決的問題:像:LVM故障排除、grub2能搭配GPT的partition進行重建開機選單的需求、或是搭配nmap管理工具,來協助釐清問題是否與網路有關等,這些評估與相關的故障排除,對管理人員來說,是非常重要的任務,如能越快解決越好。
您可在下列課程中了解更多技巧喔!
相關學習資源
【RH442】RHCA認證:Red Hat Linux企業版之效能調校