1. 程式人生 > >LINUX系統服務與管理(Services)---------第三天

LINUX系統服務與管理(Services)---------第三天

raid磁盤陣列 進程管理

? RAID磁盤陣列


? 廉價冗余磁盤陣列

– Redundant Arrays of Inexpensive Disks

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

個大磁盤

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

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



? RAID 0,條帶模式

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

– 並行寫入以提高效率


? RAID 1,鏡像模式

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

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


? RAID5,高性價比模式

– 相當於RAID0和RAID1的折中方案

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



? RAID6,高性價比/可靠模式

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

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


? RAID 0+1/RAID 1+0

– 整合RAID 0、RAID 1的優勢

– 並行存取提高效率、鏡像寫入提高可靠性



? 硬RAID:由RAID控制卡管理陣列

– 主板 ---->陣列卡---->磁盤----> 操作系統---->數據


##################################################


?進程管理


? ? ?程序:靜態的代碼,占用硬盤的空間


? ? ?進程:動態的代碼,占用內存、CPU的空間


? ? ? ? ? ? ? 父進程/子進程

? ? ? ? ? ? ? 進程的標識:PID

? ? ? ?


?查看進程

? pstree — Processes Tree

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


? 常用命令選項

– -a:顯示完整的命令行

– -p:列出對應PID編號


? systemd:所有進程的父進程


[root@svr7 ~]# pstree


[root@svr7 ~]# pstree ?lisi

bash───vim

[root@svr7 ~]# pstree -p ?lisi

bash(20356)───vim(20387)

[root@svr7 ~]# pstree -ap ?lisi

bash,20356

? └─vim,20387 1.txt

###############################################



? ps aux 操作

– 列出正在運行的所有進程


? ps -elf 操作

– 列出正在運行的所有進程


[root@svr7 ~]# ps aux | wc -l

131

[root@svr7 ~]# ps -elf | wc -l

131

[root@svr7 ~]# ps aux


[root@svr7 ~]# ps -elf



進程動態排名

? top 交互式工具

– 格式: top [-d 刷新秒數] [-U 用戶名]


[root@svr7 ~]# top -d 1

? ?輸入 ?大寫的P ?按CPU排序?

? ?輸入 ?大寫的M ?按內存排序?

? ?輸入 ?q 退出?



####################################################

檢索進程

? pgrep — Process Grep

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

? 常用命令選項

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

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

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

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


[root@svr7 ~]# pstree -ap lisi

bash,22636

? └─vim,22669 1.txt

[root@svr7 ~]# pgrep -lU lisi

22636 bash

22669 vim


[root@svr7 ~]# pgrep -l crond

[root@svr7 ~]# pgrep -l sshd

[root@svr7 ~]# pgrep -l log


########################################################

? 進程的前後臺調度

?? 後臺啟動

? ? ?– 在命令行末尾添加“&”符號,不占用當前終端


? Ctrl + z 組合鍵

– 掛起當前進程(暫停並轉入後臺)

? jobs 命令

– 查看後臺任務列表

? fg 命令

– 將後臺任務恢復到前臺運行

? bg 命令

– 激活後臺被掛起的任務



#################################################


[root@svr7 ~]# sleep 800 & ? ? ? ? ? #正在運行放入後臺

[1] 23304

[root@svr7 ~]# jobs


[root@svr7 ~]# jobs -l ? ? ? ? ? ? #查看後臺進程信息,並輸出PID


[root@svr7 ~]# sleep 700 ? ? ? ? ? ?#按Ctrl+z暫停放入後臺

^Z

[2]+ ?已停止 ? ? ? ? ? ? ? sleep 700

[root@svr7 ~]# jobs -l ? ? ? ? ? ??


[root@svr7 ~]# bg 2 ? ? ? ? ? ? #將後臺暫停的進程,繼續運行


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

[root@svr7 ~]# fg 1



#########################################################


?請書寫Shell腳本:

? ?

? ? ?用戶輸入一個10以內的整數

? ? ?計算機隨機產生一個10以內的整數

? ? ?如果 兩個整數相同,則輸出“恭喜您,中獎了”

? ? ?如果 兩個整數不相同,則輸出“恭喜您,謝謝回顧”


? #!/bin/bash

? ?read ? -p ? ‘請輸入一個10以內的整數:‘ ? ?num1

? ?num2=$(expr $RANDOM ?% 10)

? ?if [ ?$num1 ?-eq ?$num2 ?];then

? ? ? ? ?echo 恭喜您,中獎了

? ? ? else

? ? ? ? ?echo 恭喜您,謝謝回顧

? ? ? ? ?echo 正確的數字為$num2

? ?fi



#####################################################



殺死進程

? 幹掉進程的不同方法

? – Ctrl+c 組合鍵,中斷當前命令程序

? – kill [-9] PID...?

? – killall [-9] 進程名...

? – pkill 查找條件





[root@svr7 /]# sleep 800 &

[root@svr7 /]# sleep 800 &

[root@svr7 /]# sleep 800 &


[root@svr7 /]# jobs -l


[root@svr7 /]# kill ? 301127

[root@svr7 /]# jobs -l


[root@svr7 /]# killall sleep

[root@svr7 /]# jobs -l


? 強制踢出一個用戶:

[root@svr7 /]# killall -9 -u lisi



####################################################


日誌的功能

? 系統和程序的“日記本”

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

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

– 信息安全控制的“依據”


? 常見的日誌文件

日誌文件

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

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

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

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

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



? ?實時跟蹤新增日誌消息

? ? ? ? tailf


用戶登錄分析

? users、who、w 命令

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

?

? last、lastb 命令

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


[root@svr7 /]# users


[root@svr7 /]# who

[root@svr7 /]# w


[root@svr7 /]# last ?-2

[root@svr7 /]# lastb ?-2


################################################


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

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

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

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

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

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

6 ?INFO(信息) 一般信息

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


###################################################


使用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 /]# journalctl ?--since="9:00" ? --until="9:30"?


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

[root@svr7 /]# systemctl restart ?httpd

[root@svr7 /]# journalctl ?-u ?httpd ??


[root@svr7 /]# journalctl ?-n ?10


#########################################################


? systemctl控制


systemd

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

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

?– 配置目錄:/etc/systemd/system/

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


?– 主要管理工具:systemctl



? 控制服務狀態

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


? 查看服務的運行狀態

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


配置開機自啟

? 查看服務是否自啟

– systemctl is-enabled 服務名...

? 設置服務是否開機自啟

– systemctl enable|disable 服務名...


[root@svr7 /]# systemctl ?status crond

[root@svr7 /]# systemctl ?is-active crond

[root@svr7 /]# systemctl ?restart crond


[root@svr7 /]# systemctl ?stop crond

[root@svr7 /]# systemctl ?status crond

[root@svr7 /]# systemctl ?is-active crond


[root@svr7 /]# systemctl is-enabled crond


? 管理運行級別(運行模式)



? ? ?字符模式:multi-user.target

? ? ?圖形模式:graphical.target


?查看默認的運行模式

?[root@svr7 /]# systemctl get-default?


?設置默認的運行模式

?[root@svr7 /]# systemctl set-default graphical.target?


?[root@svr7 /]# systemctl get-default?


?[root@svr7 /]# reboot

?

? 當前立即進入相應模式

?[root@svr7 /]# systemctl isolate ?multi-user.target


?[root@svr7 /]# systemctl isolate ?graphical.target?

######################################################































































LINUX系統服務與管理(Services)---------第三天