? 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:所有进程的父进程
[[email protected] ~]# pstree
[[email protected] ~]# pstree ?lisi
bash───vim
[[email protected] ~]# pstree -p ?lisi
bash(20356)───vim(20387)
[[email protected] ~]# pstree -ap ?lisi
bash,20356
? └─vim,20387 1.txt
###############################################
? ps aux 操作
– 列出正在运行的所有进程
? ps -elf 操作
– 列出正在运行的所有进程
[[email protected] ~]# ps aux | wc -l
131
[[email protected] ~]# ps -elf | wc -l
131
[[email protected] ~]# ps aux
[[email protected] ~]# ps -elf
进程动态排名
? top 交互式工具
– 格式: top [-d 刷新秒数] [-U 用户名]
[[email protected] ~]# top -d 1
? ?输入 ?大写的P ?按CPU排序?
? ?输入 ?大写的M ?按内存排序?
? ?输入 ?q 退出?
####################################################
检索进程
? pgrep — Process Grep
? – 用途:pgrep [选项]... 查询条件
? 常用命令选项
– -l:输出进程名,而不仅仅是 PID
– -U:检索指定用户的进程
– -t:检索指定终端的进程
– -x:精确匹配完整的进程名
[[email protected] ~]# pstree -ap lisi
bash,22636
? └─vim,22669 1.txt
[[email protected] ~]# pgrep -lU lisi
22636 bash
22669 vim
[[email protected] ~]# pgrep -l crond
[[email protected] ~]# pgrep -l sshd
[[email protected] ~]# pgrep -l log
########################################################
? 进程的前后台调度
?? 后台启动
? ? ?– 在命令行末尾添加“&”符号,不占用当前终端
? Ctrl + z 组合键
– 挂起当前进程(暂停并转入后台)
? jobs 命令
– 查看后台任务列表
? fg 命令
– 将后台任务恢复到前台运行
? bg 命令
– 激活后台被挂起的任务
#################################################
[[email protected] ~]# sleep 800 & ? ? ? ? ? #正在运行放入后台
[1] 23304
[[email protected] ~]# jobs
[[email protected] ~]# jobs -l ? ? ? ? ? ? #查看后台进程信息,并输出PID
[[email protected] ~]# sleep 700 ? ? ? ? ? ?#按Ctrl+z暂停放入后台
^Z
[2]+ ?已停止 ? ? ? ? ? ? ? sleep 700
[[email protected] ~]# jobs -l ? ? ? ? ? ??
[[email protected] ~]# bg 2 ? ? ? ? ? ? #将后台暂停的进程,继续运行
[[email protected] ~]# fg 2 ? ? ? ? ? ? #将后台的进程,恢复到前台
[[email protected] ~]# 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 查找条件
[[email protected] /]# sleep 800 &
[[email protected] /]# sleep 800 &
[[email protected] /]# sleep 800 &
[[email protected] /]# jobs -l
[[email protected] /]# kill ? 301127
[[email protected] /]# jobs -l
[[email protected] /]# killall sleep
[[email protected] /]# jobs -l
? 强制踢出一个用户:
[[email protected] /]# 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 命令
? – 查看最近登录成功/失败的用户信息
[[email protected] /]# users
[[email protected] /]# who
[[email protected] /]# w
[[email protected] /]# last ?-2
[[email protected] /]# 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"
[[email protected] /]# journalctl ?--since="9:00" ? --until="9:30"?
[[email protected] /]# yum -y install httpd
[[email protected] /]# systemctl restart ?httpd
[[email protected] /]# journalctl ?-u ?httpd ??
[[email protected] /]# 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 服务名...
[[email protected] /]# systemctl ?status crond
[[email protected] /]# systemctl ?is-active crond
[[email protected] /]# systemctl ?restart crond
[[email protected] /]# systemctl ?stop crond
[[email protected] /]# systemctl ?status crond
[[email protected] /]# systemctl ?is-active crond
[[email protected] /]# systemctl is-enabled crond
? 管理运行级别(运行模式)
? ? ?字符模式:multi-user.target
? ? ?图形模式:graphical.target
?查看默认的运行模式
?[[email protected] /]# systemctl get-default?
?设置默认的运行模式
?[[email protected] /]# systemctl set-default graphical.target?
?[[email protected] /]# systemctl get-default?
?[[email protected] /]# reboot
?
? 当前立即进入相应模式
?[[email protected] /]# systemctl isolate ?multi-user.target
?[[email protected] /]# systemctl isolate ?graphical.target?
######################################################