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
#####################################################vim