RAID,進程,日誌以及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控制