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


 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的優勢
    – 並行存取提高效率、鏡像寫入提高可靠性

注意:RATD 0+1 首先作條帶模式再做鏡像模式。RAID 1+0 首先作鏡像模式再做條帶模式。企業中應用很少。


• 硬RAID:由RAID控制卡管理陣列
– 主板 ---->陣列卡---->磁盤----> 操作系統---->數據

• 軟RAID:由操作系統管理陣列
– 主板 ---->磁盤----> 操作系統---->RAID軟件----->數據

注意:企業中常用的方式爲硬RAID ,因爲硬RAID方式,穩定性高。軟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 操作            
– 列出正在運行的所有進程                //可以查看進程的父進程(PPID),PRI/NI:進程優先級,數值越小優先級越高。

[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                    //我們一般使用pstree -ap ,因爲結構比較明顯,可以明顯看出進程的父進程

[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        //通過PID來殺死進程不能通過進程名
[root@svr7 /]# jobs -l

[root@svr7 /]# killall sleep          //只是將進程終止
[1]+  已終止               sleep 500
[root@svr7 /]# jobs -l

[root@svr7 ~]# killall -9 sleep    //直接將進程殺死
[1]+  已殺死               sleep 400


  強制踢出一個用戶:
[root@svr7 ~]# killall -u lisi        //用戶還在登陸界面,但是進程全部終止。

[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
1.在當前終端創建文件,並用tailf對其進行跟蹤
終端一:
[root@svr7 ~]# touch 1.txt
[root@svr7 ~]# tailf 1.txt
123

終端二:
2.重新打開一個終端,當我們利用echo 對1.txt進行寫入時,終端一的屏幕上會實時輸出,終端二所寫入的內容。
[root@svr7 ~]# echo 123 > 1.txt
[root@svr7 ~]#

#######################################################################################
用戶登錄分析
• 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(調試)    程序或系統調試信息等

注意:我們一般監聽的是4以及4以上的事件。

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

使用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"     //查看9:00到9:30的信息,建議加上年月日
[root@svr7 ~]# journalctl | grep Apache        
11月 14 01:24:46 svr7.tedu.cn systemd[1]: Starting The Apache HTTP Server...
11月 14 01:24:47 svr7.tedu.cn systemd[1]: Started The Apache HTTP Server.
    //當我們查詢http服務時,輸入journalctl | grep httpd是查詢不出來的,因爲在日誌的信息中,沒有httpd這個字符。
[root@svr7 /]# yum -y install httpd    
[root@svr7 /]# systemctl restart  httpd
[root@svr7 /]# journalctl  -u  httpd       //通過服務名來進行查找

[root@svr7 /]# journalctl  -n  10        //顯示最近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
active
[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
enabled

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


     字符模式:multi-user.target
     圖形模式:graphical.target

 查看默認的運行模式
 [root@svr7 /]# systemctl get-default         
 graphical.target                    //當前爲圖形模式

 設置默認的運行模式
 [root@svr7 /]# systemctl set-default graphical.target //設置默認的運行模式爲圖形模式

 [root@svr7 /]# systemctl get-default             

 [root@svr7 /]# reboot                        //設置後需要進行重啓才能生效
 
  當前立即進入相應模式
 [root@svr7 /]# systemctl isolate  multi-user.target    //立即進入命令行模式multi-user.target

 [root@svr7 /]# systemctl isolate  graphical.target     //立即進入圖形模式graphical.target
######################################################






























































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