1. 程式人生 > >Day14 RAID&進程管理&日誌&systemctl(Service03)

Day14 RAID&進程管理&日誌&systemctl(Service03)

gre 虛擬網卡 內容 user 編輯 graph 4.3 復制 了解

一、RAID

1.1 概述

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

1.2 分類

1.2.1 raid0

條帶模式
至少兩塊磁盤,將同一個文檔分散存放在兩個磁盤,提高了存儲效率
但是沒有可靠性

1.2.2 raid1

鏡像模式
至少兩塊磁盤,同一個文檔復制多份,存放在多個磁盤,無存儲效率提高
可靠性最高

1.2.3 raid3

RAID3更加適合應用於那些寫入操作較少,讀取操作較多的應用環境,如數據庫和web服務器等。與RAID0相比,RAID3在讀寫速度方面相對較慢。使用的容錯算法和分塊大小決定RAID使用的應用場合,在通常情況下,RAID3比較適合大文件類型且安全性要求較高的應用,如視頻編輯、硬盤播出機、大型數據庫等。

1.2.4 raid5

相當於raid0與raid1的折衷方案
至少三塊磁盤,有一塊磁盤存放數據的校驗值,能夠在一塊磁盤損壞丟失數據之後通過校驗值和部分源數據來推算出丟失的數據
同時只能壞一塊磁盤
存儲效率有部分提升
也有部分可靠性

1.2.5 raid6

相當於擴展的raid5
至少四塊硬盤,至少有兩塊磁盤存放數據的校驗值
同時只能壞兩塊磁盤

1.2.6 raid01 or raid10

整合raid0、raid1的優勢,並行存取提高效率,鏡像寫入提高可靠性

1.2.7 raid各級別特點對比

對比項 RAID0 RAID1 RAID10 RAID5 RAID6
磁盤數 ≧2 ≧2 ≧4 ≧3 ≧4

存儲利用率 100% ≦50% ≦50% n-1/n n-2/n
校驗盤 無 無 無 有 有
容錯性 無 有 有 有 有
IO性能 高 低 中 較高 較高

二、進程管理

2.1 概念

程序:靜態的代碼,占用的是硬盤空間,不會耗費CPU,也不會耗費內存空間
進程(PID):動態的代碼,占用的是CPU、內存的空間
父進程:為了完成某些功能,需要啟動多個子進程。當父進程被殺死的時候,會把自己生成的子進程全部殺死,直到子進程全部殺死之後,父進程才會被殺
子進程:由父進程生成的進程
僵屍進程:要殺死僵屍進程,只殺它本身是沒用的,要殺掉它的父進程才行

2.2 pstree

查看進程樹。在rhel7裏面,systemd是所有進程的父進程

2.2.1 pstree -a

查看進程樹,-a表示顯示進程調用的的完整命令行

2.2.2 pstree -p

查看進程樹,-p表示顯示進程的PID

2.3 ps

PS (Process Snapshot)進程快照
選項是否有‘-‘有不同的含義
選項是否大小寫有不同的含義

2.3.1 ps aux

列出正在運行的所有進程,進程顯示的很詳細
a 顯示當前終端所有進程
u 以用戶格式輸出
x 當前用戶在所有終端下的進程

2.3.2 ps -elf

列出正在運行的所有進程,對進程的狀態,PPID顯示的很清楚
-e 顯示系統內所有進程
-l 以長格式輸出信息
-f 表示文件之間的關系,包括最完整的進程信息

2.4 top

交互式進程管理工具

users
load average
P 根據%Cpu排名
M 根據%Mem排名
k 殺死指定進程
q 退出top

2.5 pgrep

檢索進程

2.5.1 pgrep -l

輸出進程名

2.5.2 pgrep -U username

檢索指定用戶的進程名

2.5.3 pgrep -t

檢索指定終端的進程名

2.5.4 pgrep -x

精確匹配指定的進程名

三、控制進程

3.1 ctrl+z

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

3.2 &

在命令行末尾添加"&"符號,把命令行放到後臺運行,不占用當前終端

3.3 jobs -l

查看後臺運行的任務情況,-l表示顯示PID

3.4 fg 序號

把後臺任務恢復到前臺運行,缺省序號為最近1個任務

3.5 bg 序號

把前臺任務放到後臺運行,缺省序號為最近1個任務
expr $RANDOM % 10 產生10以下的隨機數

四、殺死進程

4.1 kill [-9] PID

根據PID殺死進程,-9為強制

4.2 killall [-9] 進程名

殺死同名的所有進程,-9為強制

4.3 pkill [-9] -u username

把username的進程全部殺死,-9為強制。即強制踢出用戶

五、日誌管理

5.1 概述

日誌就是系統和程序的“日記本”
-記錄系統、程序運行中發生的各種事件
-通過查看日誌,了解和排除故障
-信息安全控制的“依據”

5.2 rsyslog

rhel5使用的是syslog系統服務
rhel6、rhel7都使用了rsyslog系統服務。它統一記錄內核及系統日誌,主要記錄事件發生的時間、主機、進程、內容,

5.2.1常見的系統日誌文件如下:

日誌文件 主要用途
/var/log/messages 記錄內核消息、各種服務的公共消息
/var/log/dmesg 記錄系統啟動過程的各種消息
/var/log/cron 記錄與cron計劃任務相關的消息
/var/log/maillog 記錄郵件收發相關的消息
/var/log/secure 記錄與訪問限制相關的安全消息

5.2.2 常見的用戶日誌文件如下:

日誌文件 主要用途
/var/log/lastlog 記錄最近的用戶登錄事件
/var/log/wtmp 記錄成功的用戶登錄/註銷事件
/var/log/btmp 記錄失敗的用戶登錄事件
/var/log/utmp 記錄當前登錄的每個用戶的相關信息
用戶日誌文件無法通過cat來查看,需要通過專用分析工具

5.3 日誌查看命令

5.3.1 tailf

與tail -f等價,可以實時跟蹤日誌消息

5.3.2 users

顯示正在登錄的用戶

5.3.3 who

顯示正在登錄的用戶、登錄時間、登錄IP、終端類型
pts:偽字符終端
tty:純字符終端

5.3.4 w

顯示最詳細,除了who出來的信息,還有CPU、空閑時間、正在使用的命令等

5.3.5 last

最近登錄成功的用戶信息,-n表示顯示n條

5.3.6 lastb -n

最近登錄失敗的用戶信息,-n表示顯示n條

5.3.7 第三方日誌分析工具

AWStats
ELK
Webalizer
Webadmin系統管理套件

5.4 日誌消息的優先級

級別 字段 含義
0 KERN_EMERG system is unusable
1 KERN_ALERT action must be taken immediately
2 KERN_CRIT critical conditions
3 KERN_ERR error conditions
4 KERN_WARNING warning conditions
5 KERN_NOTICE normal but significant condition
6 KERN_INFO informational
7 KERN_DEBUG debug-level messages

5.5 journalctl工具

rhel7才有的工具,提取由systemd-journal服務搜集的日誌,主要包括內核/系統日誌、服務日誌

5.5.1 journalctl -u 服務名 [-p 優先級]

查看指定服務相關的日誌消息

5.5.2 journalctl -n 消息條數

查看n條日誌消息

5.5.3 journalctl --since="yyyy-mm-dd HH:MM:SS" --until="yyyy-mm-dd HH:MM:SS"

根據時間段查看日誌消息

六、systemd介紹

6.1 init程序的作用

Linux系統和服務管理器,是內核引導之後加載的第一個初始化進程(PID=1),負責掌控整個linux的的運行/資源組合
rhel7:systemd
rhel6:upstart,事件觸發
rhel5:system v,順序加載

6.2 systemd

一個更高效的系統和服務管理器,開機服務並行啟動,各系統服務之間精確依賴

6.2.1 /etc/systemd/system

systemd的配置目錄

6.2.2 /lib/systemd/system

systemd的服務目錄

6.3 systemctl介紹

systemd的管理工具

6.3.1 unit配置單元分類

service:後臺獨立服務
target:一套配置單元的組合,類似傳統“運行級別”
socket:套接字,類似於xinetd管理的臨時任務
device:對應udev規則標記的某個設備
mount、automount:掛載點、觸發掛載點

6.3.2 systemctl -t target --all

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

6.3.3 systemctl get-defult

查詢開機所處的運行模式

6.3.4 systemctl set default graphical.target

設置開機所處的運行級別為圖形模式。實質就是為/usr/lib/systemd/system/graphical.target創建軟鏈接,名字為/etc/systemd/system/default.target

6.3.5 systemctl isolate graphical.target

臨時切換到指定運行模式

6.3.6 systemctl list-unit-files [-t service|target]

列出已定義的配置文件及自啟狀態

6.3.7 systemctl start|stop|restart 服務名稱

啟動、停止和重啟服務

6.3.8 systemctl status|is-active 服務名稱

查看服務狀態

6.3.9 systemctl enable|is-enabled 服務名稱

設置服務開機自啟動

七、實體機添加虛擬網卡

7.1 /etc/libvirt/qemu/networks/

實體機的虛擬網卡配置文件路徑

7.2 添加虛擬網卡

virt-manager
選擇虛擬機,點“連接詳情”,創建新的虛擬網絡,禁用DHCP、隔離的虛擬網絡

Day14 RAID&進程管理&日誌&systemctl(Service03)