1. 程式人生 > >RAID,進程,日誌以及systemctl控制

RAID,進程,日誌以及systemctl控制

RAID pstree systemctl

1 RAID

2 進程管理

3 日誌管理

4 systemctl控制



1、RAID

RAID陣列概述(Redundant Arrays of Inexpensive Disks) 廉價冗余磁盤陣列

– 通過硬件/軟件技術,將多個較小/低速的磁盤整合成一個大磁盤

– 陣列的價值:提升I/O效率、硬件級別的數據冗余

– 不同RAID級別的功能、特性各不相同


1.1 RAID0

條帶模式

最少使用兩塊磁盤;

同一個文檔分散存在不同磁盤;

並行寫入以提高效率;

技術分享圖片

1.2 RAID1

鏡像模式

最少使用兩塊磁盤;

一個文檔復制成多份,分別寫入不同磁盤;

多份拷貝提高可靠性,效率無提升;

技術分享圖片

1.3 RAID01/RAID10

整合RAID0,RAID1的優勢;並行存取提高效率,鏡像寫入提高可靠性

技術分享圖片

1.4 RAID5

高性價比模式,至少3塊磁盤

相當於RAID0和RAID1的折中方案

至少需要一塊磁盤的容量來存放校驗數據

技術分享圖片

1.5 RAID6

高性價比,可靠模式,最少需要4塊磁盤

相當於RAID5陣列,提供2份獨立校驗方案

需要至少兩塊磁盤的容量來存放校驗數據

技術分享圖片

1.6 RAID各級別特點對比

技術分享圖片


2 、進程管理

程序:靜態沒有執行的代碼,占用磁盤空間

進程:執行的代碼放入內存中運行,占用內存、cpu

PID:編號,標識進程

父進程、子進程


2.1 查看進程樹

pstree — Processes Tree

格式:pstree [選項] [PID或用戶名]

常用命令選項

-a:顯示完整的命令行

-p:列出對應PID編號

systemd:內核直接運行的第一個進程,PID永遠為1

[root@svr7 ~]# pstree

[root@svr7 ~]# pstree lisi

bash───vim

[root@svr7 ~]# pstree -p lisi

bash(30712)───vim(30751)

[root@svr7 ~]# pstree -ap lisi


2.2 查看進程快照

ps (processes snapshot)

ps aux 操作 顯示當前終端所有進程(a),當前用戶在所有終端下的進程(x),以用戶格式輸出(u) #列出正在運行的所有進程

ps -elf 操作 顯示系統內所有進程(-e),以長格式輸出(-l),信息,包括最完整的進程信息(-f) #列出正在運行的所有進程

ps aux | grep ssh


2.3 進程動態排名

top 交互式工具

格式: top [-d 刷新秒數]

load average: 0.03, 0.04, 0.05

按大寫的P cpu排序

按大寫的M 內存排序

T:根據進程消耗的TIME降序排列

k:殺死指定進程

q:退出top


2.4 檢索進程

pgrep — Process Grep

用途:pgrep [選項]... 查詢條件

常用命令選項

-l:輸出進程名,而不僅僅是 PID

-U:檢索指定用戶的進程

-t:檢索指定終端的進程

-x:精確匹配完整的進程名

[root@svr7 ~]# pgrep log

[root@svr7 ~]# pgrep -l log

[root@svr7 ~]# pgrep -U lisi

[root@svr7 ~]# pgrep -lU lisi

[root@svr7 ~]# pstree -ap lisi

[root@svr7 ~]# who #查看正在登陸的用戶信息

[root@svr7 ~]# pgrep -lU lisi

[root@svr7 ~]# pgrep -lU lisi -t pts/2


2.5 進程的調度(前後臺)

放入後臺啟動

– 在命令行末尾添加“&”符號,正在運行的狀態放入後臺

– Ctrl + z 組合鍵,暫停的狀態放入後臺

[root@svr7 ~]# sleep 800 & #將前臺的進程,正在運行放入後臺

[root@svr7 ~]# jobs #查看後臺進程

[root@svr7 ~]# jobs -l #查看後臺進程,並且加上PID

[root@svr7 ~]# sleep 700

^Z #按Ctrl+z可以暫停放入後臺

[2]+ 已停止 sleep 700

[root@svr7 ~]# jobs -l

[root@svr7 ~]# bg 2 #將後臺進程編號為2的,繼續在後臺運行

[2]+ sleep 700 &

[root@svr7 ~]# jobs -l

[root@svr7 ~]# fg 1 #將後臺的進程恢復到前臺

sleep 800

^C #按Ctrl+c結束進程

[root@svr7 ~]# fg 2

sleep 700

^C #按Ctrl+c結束進程


2.6 殺死進程

kill [-9] PID...

killall [-9] 進程名...

pkill 查找條件

pkill -9 -U lisi #強制踢出用戶

[root@svr7 ~]# sleep 900 &

[root@svr7 ~]# sleep 900 &

[root@svr7 ~]# sleep 900 &

[root@svr7 ~]# sleep 900 &

[root@svr7 ~]# jobs -l

[root@svr7 ~]# kill 1928

[root@svr7 ~]# jobs -l

[root@svr7 ~]# killall sleep

[root@svr7 ~]# jobs -l


3 、日誌管理

3.1 日誌概述

系統和程序的“日記本”

– 記錄系統、程序運行中發生的各種事件

– 通過查看日誌,了解及排除故障

– 信息安全控制的“依據


3.2 常見的日誌文件

/var/log/messages 記錄內核消息、各種服務的公共消息

/var/log/dmesg 記錄系統啟動過程的各種消息

/var/log/cron 記錄與cron計劃任務相關的消息

/var/log/maillog 記錄郵件收發相關的消息

/var/log/secure 記錄與訪問限制相關的安全消息

tailf 實時跟蹤 新增日值消息


3.3 用戶日誌

由登錄程序負責記錄/管理

日誌消息采用二進制格式

記錄登錄用戶的時間,來源,執行的命令等信息

/var/log/lastlog:記錄最近的用戶登錄事件

/var/log/wtmp:記錄成功的用戶登錄/註銷事件

/var/log/btmp:記錄失敗的用戶登錄事件

/var/run/utmp:記錄當前登錄的每個用戶的相關信息


3.4 日誌分析

users、who、w 命令

查看已登錄的用戶信息,詳細度不同

last、lastb 命令

查看最近登錄成功/失敗的用戶信息

[root@svr7 ~]# users

[root@svr7 ~]# who

[root@svr7 ~]# w

[root@svr7 ~]# last -2 #最近兩次登錄成功

[root@svr7 ~]# lastb -2 #最近兩次登錄失敗


3.5 日誌消息的優先級

Linux內核定義的事件緊急程度

– 分為 0~7 共8種優先級別

– 其數值越小,表示對應事件越緊急/重要

0 EMERG(緊急) 會導致主機系統不可用的情況

1 ALERT(警告) 必須馬上采取措施解決的問題

2 CRIT(嚴重) 比較嚴重的情況

3 ERR(錯誤) 運行出現錯誤

4 WARNING(提醒) 可能會影響系統功能的事件

5 NOTICE(註意) 不會影響系統但值得註意

6 INFO(信息) 一般信息

7 DEBUG(調試) 程序或系統調試信息等

3.6 使用journalctl工具

? 提取由 systemd-journal 服務搜集的日誌

? 常見用法

– journalctl | grep 關鍵詞

– journalctl -u 服務名 [-p 優先級]

– journalctl -n 消息條數

– journalctl --since="yyyy-mm-dd HH:MM:SS" --

until="yyyy-mm-dd HH:MM:SS"

[root@svr7 ~]# yum -y install httpd

[root@svr7 ~]# systemctl restart httpd

[root@svr7 ~]# journalctl -u httpd -p 6


4 、systemctl控制

4.1 systemd介紹

一個更高效的系統&服務管理器

開機服務並行啟動,各系統服務間的精確依賴

服務目錄:/lib/systemd/system/

控制服務狀態

systemctl start|stop|restart 服務名...

查看服務的運行狀態

systemctl status|is-active 服務名...

[root@svr7 ~]# systemctl enable httpd #設置隨機自起

[root@svr7 ~]# systemctl is-enabled httpd #查看是否隨機自起

[root@svr7 ~]# systemctl disable httpd #設置隨機不自起

[root@svr7 ~]# systemctl is-enabled httpd

graphical.target 圖形模式

multi-user.target 文本模式

當前切換圖形模式

[root@svr7 ~]# systemctl isolate graphical.target

每次開機都進入的模式,默認模式的修改

[root@svr7 ~]# systemctl get-default #查看默認級別

[root@svr7 ~]# systemctl set-default graphical.target #設置默認級別

[root@svr7 ~]# systemctl get-default

[root@svr7 ~]# reboot

systemcli -t service #列出活動的系統服務

systemcli -t service --all #列出所有系統服務



RAID,進程,日誌以及systemctl控制