1 RAID
2 进程管理
3 日志管理
4 systemctl控制
1、RAID
RAID阵列概述(Redundant Arrays of Inexpensive Disks) 廉价冗余磁盘阵列
– 通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘
– 阵列的价值:提升I/O效率、硬件级别的数据冗余
– 不同RAID级别的功能、特性各不相同
1.1 RAID0
条带模式
最少使用两块磁盘;
同一个文档分散存在不同磁盘;
并行写入以提高效率;
1.2 RAID1
镜像模式
最少使用两块磁盘;
一个文档复制成多份,分别写入不同磁盘;
多份拷贝提高可靠性,效率无提升;
1.3 RAID01/RAID10
整合RAID0,RAID1的优势;并行存取提高效率,镜像写入提高可靠性
1.4 RAID5
高性价比模式,至少3块磁盘
相当于RAID0和RAID1的折中方案
至少需要一块磁盘的容量来存放校验数据
1.5 RAID6
高性价比,可靠模式,最少需要4块磁盘
相当于RAID5阵列,提供2份独立校验方案
需要至少两块磁盘的容量来存放校验数据
1.6 RAID各级别特点对比
2 、进程管理
程序:静态没有执行的代码,占用磁盘空间
进程:执行的代码放入内存中运行,占用内存、cpu
PID:编号,标识进程
父进程、子进程
2.1 查看进程树
pstree — Processes Tree
格式:pstree [选项] [PID或用户名]
常用命令选项
-a:显示完整的命令行
-p:列出对应PID编号
systemd:内核直接运行的第一个进程,PID永远为1
[root@svr7 ~]# pstree
[root@svr7 ~]# pstree lisi
bash───vim
[root@svr7 ~]# pstree -p lisi
bash(30712)───vim(30751)
[root@svr7 ~]# pstree -ap lisi
2.2 查看进程快照
ps (processes snapshot)
ps aux 操作 显示当前终端所有进程(a),当前用户在所有终端下的进程(x),以用户格式输出(u) #列出正在运行的所有进程
ps -elf 操作 显示系统内所有进程(-e),以长格式输出(-l),信息,包括最完整的进程信息(-f) #列出正在运行的所有进程
ps aux | grep ssh
2.3 进程动态排名
top 交互式工具
格式: top [-d 刷新秒数]
load average: 0.03, 0.04, 0.05
按大写的P cpu排序
按大写的M 内存排序
T:根据进程消耗的TIME降序排列
k:杀死指定进程
q:退出top
2.4 检索进程
pgrep — Process Grep
用途:pgrep [选项]... 查询条件
常用命令选项
-l:输出进程名,而不仅仅是 PID
-U:检索指定用户的进程
-t:检索指定终端的进程
-x:精确匹配完整的进程名
[root@svr7 ~]# pgrep log
[root@svr7 ~]# pgrep -l log
[root@svr7 ~]# pgrep -U lisi
[root@svr7 ~]# pgrep -lU lisi
[root@svr7 ~]# pstree -ap lisi
[root@svr7 ~]# who #查看正在登陆的用户信息
[root@svr7 ~]# pgrep -lU lisi
[root@svr7 ~]# pgrep -lU lisi -t pts/2
2.5 进程的调度(前后台)
放入后台启动
– 在命令行末尾添加“&”符号,正在运行的状态放入后台
– Ctrl + z 组合键,暂停的状态放入后台
[root@svr7 ~]# sleep 800 & #将前台的进程,正在运行放入后台
[root@svr7 ~]# jobs #查看后台进程
[root@svr7 ~]# jobs -l #查看后台进程,并且加上PID
[root@svr7 ~]# sleep 700
^Z #按Ctrl+z可以暂停放入后台
[2]+ 已停止 sleep 700
[root@svr7 ~]# jobs -l
[root@svr7 ~]# bg 2 #将后台进程编号为2的,继续在后台运行
[2]+ sleep 700 &
[root@svr7 ~]# jobs -l
[root@svr7 ~]# fg 1 #将后台的进程恢复到前台
sleep 800
^C #按Ctrl+c结束进程
[root@svr7 ~]# fg 2
sleep 700
^C #按Ctrl+c结束进程
2.6 杀死进程
kill [-9] PID...
killall [-9] 进程名...
pkill 查找条件
pkill -9 -U lisi #强制踢出用户
[root@svr7 ~]# sleep 900 &
[root@svr7 ~]# sleep 900 &
[root@svr7 ~]# sleep 900 &
[root@svr7 ~]# sleep 900 &
[root@svr7 ~]# jobs -l
[root@svr7 ~]# kill 1928
[root@svr7 ~]# jobs -l
[root@svr7 ~]# killall sleep
[root@svr7 ~]# jobs -l
3 、日志管理
3.1 日志概述
系统和程序的“日记本”
– 记录系统、程序运行中发生的各种事件
– 通过查看日志,了解及排除故障
– 信息安全控制的“依据
3.2 常见的日志文件
/var/log/messages 记录内核消息、各种服务的公共消息
/var/log/dmesg 记录系统启动过程的各种消息
/var/log/cron 记录与cron计划任务相关的消息
/var/log/maillog 记录邮件收发相关的消息
/var/log/secure 记录与访问限制相关的安全消息
tailf 实时跟踪 新增日值消息
3.3 用户日志
由登录程序负责记录/管理
日志消息采用二进制格式
记录登录用户的时间,来源,执行的命令等信息
/var/log/lastlog:记录最近的用户登录事件
/var/log/wtmp:记录成功的用户登录/注销事件
/var/log/btmp:记录失败的用户登录事件
/var/run/utmp:记录当前登录的每个用户的相关信息
3.4 日志分析
users、who、w 命令
查看已登录的用户信息,详细度不同
last、lastb 命令
查看最近登录成功/失败的用户信息
[root@svr7 ~]# users
[root@svr7 ~]# who
[root@svr7 ~]# w
[root@svr7 ~]# last -2 #最近两次登录成功
[root@svr7 ~]# lastb -2 #最近两次登录失败
3.5 日志消息的优先级
Linux内核定义的事件紧急程度
– 分为 0~7 共8种优先级别
– 其数值越小,表示对应事件越紧急/重要
0 EMERG(紧急) 会导致主机系统不可用的情况
1 ALERT(警告) 必须马上采取措施解决的问题
2 CRIT(严重) 比较严重的情况
3 ERR(错误) 运行出现错误
4 WARNING(提醒) 可能会影响系统功能的事件
5 NOTICE(注意) 不会影响系统但值得注意
6 INFO(信息) 一般信息
7 DEBUG(调试) 程序或系统调试信息等
3.6 使用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 ~]# yum -y install httpd
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# journalctl -u httpd -p 6
4 、systemctl控制
4.1 systemd介绍
一个更高效的系统&服务管理器
开机服务并行启动,各系统服务间的精确依赖
服务目录:/lib/systemd/system/
控制服务状态
systemctl start|stop|restart 服务名...
查看服务的运行状态
systemctl status|is-active 服务名...
[root@svr7 ~]# systemctl enable httpd #设置随机自起
[root@svr7 ~]# systemctl is-enabled httpd #查看是否随机自起
[root@svr7 ~]# systemctl disable httpd #设置随机不自起
[root@svr7 ~]# systemctl is-enabled httpd
graphical.target 图形模式
multi-user.target 文本模式
当前切换图形模式
[root@svr7 ~]# systemctl isolate graphical.target
每次开机都进入的模式,默认模式的修改
[root@svr7 ~]# systemctl get-default #查看默认级别
[root@svr7 ~]# systemctl set-default graphical.target #设置默认级别
[root@svr7 ~]# systemctl get-default
[root@svr7 ~]# reboot
systemcli -t service #列出活动的系统服务
systemcli -t service --all #列出所有系统服务