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

#########################################################

杀死进程 • 干掉进程的不同方法 – 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 ######################################################