1. 程式人生 > >筆記RAID 和進程管理

筆記RAID 和進程管理

陣列 高效率 ystemd 日期 內容 可用 發生 重要 個數

一、RAID陣列概述
? 廉價冗余磁盤陣列
– Redundant Arrays of Inexpensive Disks
– 通過硬件/軟件技術,將多個較小/低速的磁盤整合成一個大磁盤

– 陣列的價值:提升I/O效率、硬件級別的數據冗余
– 不同RAID級別的功能、特性各不相同

? RAID 0,條帶模式
– 同一個文檔分散存放在不同磁盤
– 並行寫入以提高效率
– 至少需要2塊磁盤
技術分享圖片
? RAID 1,鏡像模式
– 一個文檔復制成多份,分別寫入不同磁盤
– 多份拷貝提高可靠性,效率無提升
– 至少需要2塊磁盤
技術分享圖片

? RAID5,高性價比模式
– 相當於RAID0和RAID1的折中方案
– 需要至少一塊磁盤的容量來存放校驗數據
– 至少需要3塊磁盤

技術分享圖片

? RAID6,高性價比/可靠模式
– 相當於擴展的RAID5陣列,提供2份獨立校驗方案
– 需要至少兩塊磁盤的容量來存放校驗數據
– 至少需要4塊磁盤
技術分享圖片

? RAID 0+1/RAID 1+0
– 整合RAID 0、RAID 1的優勢
– 並行存取提高效率、鏡像寫入提高可靠性
– 至少需要4塊磁盤
技術分享圖片
RAID各級特點對比:
技術分享圖片

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

? 軟RAID:由操作系統來管理陣列
– 主板--> 磁盤-->操作系統-->RAID軟件 -->數據
二、進程管理
程序:靜態的代碼,占用磁盤的空間

 進程:動態運行的代碼,占用CPU與內存
     PID:標識進程  
     systemd:所有進程的父進程  PID=1
  • 命令行 &:將命令行在後臺運行
  • Ctrl + z 組合鍵:掛起當前進程(暫停並轉入後臺)
  • jobs:列出當前用戶當前終端的後臺任務
  • bg 編號:啟動指定編號的後臺任務
  • fg 編號:將指定編號的後臺任務調入前臺運行
  • kill [-9] PID...:殺死指定PID值的進程
  • kill [-9] %n:殺死第n個後臺任務
  • killall [-9] 進程名...:殺死指定名稱的所有進程
  • pkill:根據指定的名稱或條件殺死進程
    1. 查看進程樹:
  • pstree — Processes Tree
    – 格式:pstree [選項] [PID或用戶名]
    常用命令選項
    – -a:顯示完整的命令行
    – -p:列出對應PID編號
  • ps aux 操作
    – 列出正在運行的所有進程

用戶 進程ID %CPU %內存 虛擬內存 固定內存 終端 狀態 起始時間 CPU時間 程序指令

  • ps aux | wc -l #統計正在運行進程的個數
  • ps -elf 操作
    – 列出正在運行的所有進程

PPID:父進程的PID號

  • 進程動態排名
    top 交互式工具
    – 格式:top [-d 刷新秒數] [-U 用戶名]

[root@svr7 /]# top -d 1

按大寫P可以CPU進行排序
按大寫M可以內存進行排序

  • 檢索進程
    pgrep — Process Grep
    – 用途:pgrep [選項]... 查詢條件

    常用命令選項
    – -l:輸出進程名,而不僅僅是 PID
    – -U:檢索指定用戶的進程
    – -t:檢索指定終端的進程
    – -x:精確匹配完整的進程名

  • 查看進程:
    pstree(結構顯示清晰)
    ps aux (輸出進程內容詳細)
    ps -elf(輸出進程的PPID)
    top(動態排名,有CPU負載信息,可以進行排序)
    pgrep(輸出簡潔,方便運用Shell腳本)
  • 殺死進程的不同方法
    – Ctrl+c 組合鍵,中斷當前命令程序
    – kill [-9] PID... 、kill [-9] %後臺任務編號
    – killall [-9] 進程名...
    – pkill 查找條件
  • 殺死一個用戶開啟的所有進程(踢出一個用戶) killall -9 -u 用戶名
    三、日誌管理
    1. 日誌的功能
  • 系統和程序的“日記本”
    – 記錄系統、程序運行中發生的各種事件
    – 通過查看日誌,了解及排除故障
    – 信息安全控制的“依據”
    2.常見的日誌文件
    /var/log/messages 記錄內核消息、各種服務的公共消息
    /var/log/dmesg 記錄系統啟動過程的各種消息
    /var/log/cron 記錄與cron計劃任務相關的消息
    /var/log/maillog 記錄郵件收發相關的消息
    /var/log/secure 記錄與訪問限制相關的安全消息
  • tailf動態查看日誌消息
  • users、who、w 命令
    – 查看已登錄的用戶信息,詳細度不同 詳細程度一次遞增
  • last、lastb 命令
    – 查看最近登錄成功/失敗的用戶信息
  • Linux內核定義的事件緊急程度
    – 分為 0~7 共8種優先級別
    – 其數值越小,表示對應事件越緊急/重要

    0  EMERG(緊急)       會導致主機系統不可用的情況
    1  ALERT(警告)     必須馬上采取措施解決的問題
    2  CRIT(嚴重)              比較嚴重的情況
    3  ERR(錯誤)                運行出現錯誤
    4  WARNING(提醒)         可能會影響系統功能的事件
    5  NOTICE(註意)          不會影響系統但值得註意
    6  INFO(信息)               一般信息
    7  DEBUG(調試)      程序或系統調試信息等
  • 使用journalctl工具
    ? 提取由 systemd-journal 服務搜集的日誌
    – 主要包括內核/系統日誌、服務日誌

? 常見用法
– journalctl | grep 關鍵詞
– journalctl -u 服務名 [-p 優先級]

[root@svr7 /]# systemctl restart httpd

[root@svr7 /]# journalctl | grep httpd

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

– journalctl -n 消息條數
– journalctl --since="yyyy-mm-dd HH:MM:SS" --until="yyyy-mm-dd HH:MM:SS"

  1. 列出最近10條重要程度在 ERR 及以上的日誌消息:journalctl -p 3 -n 10
  2. 列出所有與服務httpd相關的消息 journalctl -u httpd
  3. 列出前4個小時內新記錄的日誌
    • 根據當前日期時間往前推4個小時,確定--since起始和--until結束時刻:
      journalctl --since "2018-08-06 14:11" --until "2018-08-06 18:11"
      補充:
      /etc/hosts:提供域名解析,只為本機提供解析服務
      解析優先級 :
      瀏覽器輸入域名------>本機/etc/hosts--->/etc/resolv.conf--->DNSPATH:環境變量
      PATH:提供命令搜尋路徑(執行命令時,會到PATH變量值路徑中尋找改程序,如果找到就執行,如果找不到輸出未找到)

筆記RAID 和進程管理