本文共 4537 字,大约阅读时间需要 15 分钟。
RAID阵列概述
• 廉价冗余磁盘阵列 – Redundant Arrays of Inexpensive Disks – 通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘 – 阵列的价值:提升I/O效率、硬件级别的数据冗余 – 不同RAID级别的功能、特性各不相同– 同一个文档分散存放在不同磁盘
– 并行写入以提高效率 – 至少需要两块磁盘组成
– 一个文档复制成多份,分别写入不同磁盘
– 多份拷贝提高可靠性,效率无提升 – 至少需要两块磁盘组成
– 相当于RAID0和RAID1的折中方案
– 需要至少一块磁盘的容量来存放校验数据 – 至少需要三块磁盘组成
– 相当于扩展的RAID5阵列,提供2份独立校验方案
– 需要至少两块磁盘的容量来存放校验数据 – 至少需要四块磁盘组成 • RAID 0+1/RAID 1+0(RAID10) – 整合RAID 0、RAID 1的优势 – 并行存取提高效率、镜像写入提高可靠性 – 至少需要四块磁盘组成
对比项 | RAID 0 | RAID 1 | RAID 10 | RAID 5 | RAID 6 |
磁盘数 | 2块以上 | 2块以上 | 4块以上 | 3块以上 | 4块以上 |
存储利用率 | 100% | 50%以上 | 50%以上 | n-1/n | n-2/n |
校验盘 | 0 | 0 | 0 | 1 | 2 |
容错性 | 无 | 有 | 有 | 有 | 有 |
IO性能 | 高 | 低 | 中 | 较高 | 较高 |
• 硬RAID:由RAID控制卡管理阵列
– 主板 --->阵列卡---> 磁盘---> 操作系统--->数据############################################
程序: 静态的代码 仅占用磁盘空间
进程: 动态执行的代码 占用 cpu 与 内存 PID:进程编号 父进程 与 子进程 树型结构查看进程树
• pstree — Processes Tree – 格式:pstree [选项] [PID或用户名]• 常用命令选项
– -a:显示完整的命令行 – -p:列出对应PID编号systemd:所有进程的父进程 (上帝进程)
[root@svr7 /]# pstree #查看整个进程树信息
[root@svr7 /]# pstree lisi 未发现进程。 [root@svr7 /]# id lisi [root@svr7 /]# pstree lisi #显示lisi用户正在运行的进程 bash───vim [root@svr7 /]# pstree -p lisi #显示pid bash(20157)───vim(20193) [root@svr7 /]# pstree -ap lisi #显示完整的命令行 bash,20157 └─vim,20193 a.txt [root@svr7 /]#查看进程快照
• ps aux 操作:信息非常全面详细 – 列出正在运行的所有进程显示当前终端所有进程(a),当前用户在所有终端下的进程(x),以用户格式输出(u)
输出格式: 用户 进程Id %CPU %内存 虚拟内存 固定内存 终端 状态 起始时间 CPU时间 程序指令
• ps -elf 操作:信息中有该进程的父进程信息
– 列出正在运行的所有进程显示系统内所有进程(-e),以长格式输出(-l),信息、包括最完整的进程信息(-f)
PPID:代表父进程的PID
Linux统计命令:wc
计算Linux系统一共有多少个用户? [root@svr7 /]# wc -l /etc/passwd请统计当前Linux系统中正在运行的进程个数?
[root@svr7 /]# ps aux [root@svr7 /]# ps -elf [root@svr7 /]# ps aux | wc -l [root@svr7 /]# ps -elf | wc -l请统计当前Linux系统/etc下有多少个以 .conf结尾的文件?
]# ls /etc/*.conf | wc -l ]# find /etc/ -name '*.conf' -type f | wc -l进程动态排名
• top 交互式工具 – 格式:top [-d 刷新秒数] [-U 用户名]按大写P 根据CPU使用进行排序
按大写M 根据内存使用进行排序 检索进程 • pgrep — Process Grep – 用途:pgrep [选项]... 查询条件• 常用命令选项
– -l:输出进程名,而不仅仅是 PID – -U:检索指定用户的进程 – -t:检索指定终端的进程 – -x:精确匹配完整的进程名[root@svr7 /]# pgrep -l a #检索进程名包含a的进程
[root@svr7 /]# pgrep -l crond[root@svr7 /]# pgrep -lU lisi #检索lisi用户的进程
[root@svr7 /]# pstree -ap lisi终端:图形命令行终端
pts/0 :第一个图形命令行终端 pts/1 :第二个图形命令行终端[root@svr7 /]# pgrep -lU lisi
[root@svr7 /]# pgrep -lU lisi -t pts/2#############################################
进程的前后台调度
• 后台启动 – 在命令行末尾添加“&”符号,以正在运行的状态放入后台 • Ctrl + z 组合键 – 挂起当前进程 (暂停并转入后台) [root@svr7 ~]# sleep 800 & #将进程正在运行放入后台 [root@svr7 ~]# jobs #查看后台进程信息[root@svr7 ~]# sleep 700
^Z #按Ctrl+z 暂停放入后台 [2]+ 已停止 sleep 700 [root@svr7 ~]# jobs[root@svr7 ~]# bg 2 #将后台编号为2的进程继续运行
[root@svr7 ~]# jobs[root@svr7 ~]# fg 1 #将后台编号为1的进程恢复到前台
sleep 800 ^C #按Ctrl+c终止进程 [root@svr7 ~]# jobs [root@svr7 ~]# fg 2 sleep 700 ^C [root@svr7 ~]# jobs杀死进程
• 干掉进程的不同方法 – Ctrl+c 组合键,中断当前命令程序 – kill [-9] PID... 、kill [-9] %后台任务编号 – killall [-9] 进程名... – pkill 查找条件[root@svr7 ~]# sleep 1000 &
[1] 21406 [root@svr7 ~]# sleep 2000 & [2] 21407 [root@svr7 ~]# sleep 3000 & [3] 21408 [root@svr7 ~]# jobs -l [root@svr7 ~]# kill 21406[root@svr7 ~]# kill -9 21407 #强杀
[root@svr7 ~]# jobs -l[root@svr7 ~]# killall sleep
[3]+ 已终止 sleep 3000 [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 记录与访问限制相关的安全消息用户日志
/var/log/lastlog 最近的用户登陆事件
/var/log/wtmp 成功登陆的用户登陆/注销事件
/var/log/btmp 失败的用户登陆事件
/var/log/utmp 当前登陆每一个用户的相关信息
• 由系统服务rsyslog(日志服务)统一记录/管理
日志分析
• 通用分析工具
– tail、tailf、less、grep等文本浏览/检索命令 – awk、sed等格式化过滤工具tailf:实时跟踪日志消息
[root@svr7 ~]# echo 123 > /opt/1.txt
[root@svr7 ~]# cat /opt/1.txt 123 [root@svr7 ~]# tailf /opt/1.txt 123 用户登录分析 • users、who、w 命令 – 查看已登录的用户信息,详细度不同• last、lastb 命令
– 查看最近登录成功/失败的用户信息[root@svr7 ~]# users
[root@svr7 ~]# who [root@svr7 ~]# w [root@svr7 ~]# last -2 [root@svr7 ~]# lastb -2#################################################
日志消息的优先级 • Linux内核定义的事件紧急程度 – 分为 0~7 共8种优先级别 – 其数值越小,表示对应事件越紧急/重要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 -u named #查询named服务日志
################################################
转载地址:http://griqi.baihongyu.com/