linux-RAID磁盤陣列、進程管理、日誌管理、systemctl控制

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:由操作系統來管理陣列

    -  主板 ---->磁盤---->操作系統---->RAID軟件---->數據

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

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


------------------------------------------------------------------------------------------------------------------------------------------

進程管理


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


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


              父進程/子進程

              進程的標識:PID


殺死父進程可以連帶其下面的所有子進程一起殺掉

       


 查看進程

pstree — Processes Tree

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


常用命令選項

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

– -p:列出對應PID編號


  systemd:所有進程的父進程

n  

真機上重新開一個svr7虛擬機

創建lisi用戶

切換到lisi用戶  su - lisi

[root@svr7 ~]# pstree


[root@svr7 ~]# pstree  lisi     

bash───vim          #顯示lisi正在進入vim文本編輯

[root@svr7 ~]# pstree -a lisi

bash

  └─vim /opt/24.txt

[root@svr7 ~]# pstree -p  lisi

bash(20356)───vim(20387)

[root@svr7 ~]# pstree -ap  lisi

bash,20356

  └─vim,20387 1.txt

-------------------------------------------------------------------------------------------------------------------------------------------


ps aux 操作

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

bsd格式: UID, PID, PPID, C, STIME, TTY, TIME, CMD


ps -elf 操作

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

標準格式: USER, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME, COMMAND


[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             

[1]- 20164 運行中               sleep 800 &

[2]+ 20173 停止                  sleep 700

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

[2]+ sleep 700 &

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

[root@svr7 ~]# fg 1



------------------------------------------------------------------------------------------------------------------------------------------------


 請書寫Shell腳本:

   

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

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

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

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


  #!/bin/bash

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

   num2=$(expr $RANDOM  % 10)       #RANDOM:隨機的一個數; “% 10”:比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(tail -f)


用戶登錄分析

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 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章