您的位置:首页 > 大数据 > 人工智能

RAID磁盘阵列 、 进程管理 、 日志管理 、 systemctl控制

2017-11-30 10:26 471 查看

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的优势
– 并行存取提高效率、镜像写入提高可靠性

注意:RATD 0+1 首先作条带模式再做镜像模式。RAID 1+0 首先作镜像模式再做条带模式。企业中应用很少。

• 硬RAID:由RAID控制卡管理阵列
– 主板 ---->阵列卡---->磁盘----> 操作系统---->数据

• 软RAID:由操作系统管理阵列
– 主板 ---->磁盘----> 操作系统---->RAID软件----->数据

注意:企业中常用的方式为硬RAID ,因为硬RAID方式,稳定性高。软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 操作
– 列出正在运行的所有进程 //可以查看进程的父进程(PPID),PRI/NI:进程优先级,数值越小优先级越高。

[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 //我们一般使用pstree -ap ,因为结构比较明显,可以明显看出进程的父进程

[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 //通过PID来杀死进程不能通过进程名
[root@svr7 /]# jobs -l

[root@svr7 /]# killall sleep //只是将进程终止
[1]+ 已终止 sleep 500
[root@svr7 /]# jobs -l

[root@svr7 ~]# killall -9 sleep //直接将进程杀死
[1]+ 已杀死 sleep 400

强制踢出一个用户:
[root@svr7 ~]# killall -u lisi //用户还在登陆界面,但是进程全部终止。

[root@svr7 /]# killall -9 -u lisi //用户直接登出。

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

日志的功能
• 系统和程序的“日记本”
– 记录系统、程序运行中发生的各种事件
– 通过查看日志,了解及排除故障
– 信息安全控制的“依据”

• 常见的日志文件
日志文件
/var/log/messages 记录内核消息、各种服务的公共消息
/var/log/dmesg 记录系统启动过程的各种消息
/var/log/cron 记录与cron计划任务相关的消息
/var/log/maillog 记录邮件收发相关的消息
/var/log/secure 记录与访问限制相关的安全消息

############################################################################################
实时跟踪新增日志消息
tailf 相当于 tail -f
1.在当前终端创建文件,并用tailf对其进行跟踪
终端一:
[root@svr7 ~]# touch 1.txt
[root@svr7 ~]# tailf 1.txt
123

终端二:
2.重新打开一个终端,当我们利用echo 对1.txt进行写入时,终端一的屏幕上会实时输出,终端二所写入的内容。
[root@svr7 ~]# echo 123 > 1.txt
[root@svr7 ~]#

#######################################################################################
用户登录分析
• 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(调试) 程序或系统调试信息等

注意:我们一般监听的是4以及4以上的事件。

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

使用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" //查看9:00到9:30的信息,建议加上年月日
[root@svr7 ~]# journalctl | grep Apache
11月 14 01:24:46 svr7.tedu.cn systemd[1]: Starting The Apache HTTP Server...
11月 14 01:24:47 svr7.tedu.cn systemd[1]: Started The Apache HTTP Server.
//当我们查询http服务时,输入journalctl | grep httpd是查询不出来的,因为在日志的信息中,没有httpd这个字符。
[root@svr7 /]# yum -y install httpd
[root@svr7 /]# systemctl restart httpd
[root@svr7 /]# journalctl -u httpd //通过服务名来进行查找

[root@svr7 /]# journalctl -n 10 //显示最近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
active
[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
enabled

管理运行级别(运行模式)

字符模式:multi-user.target
图形模式:graphical.target

查看默认的运行模式
[root@svr7 /]# systemctl get-default
graphical.target //当前为图形模式

设置默认的运行模式
[root@svr7 /]# systemctl set-default graphical.target //设置默认的运行模式为图形模式

[root@svr7 /]# systemctl get-default

[root@svr7 /]# reboot //设置后需要进行重启才能生效

当前立即进入相应模式
[root@svr7 /]# systemctl isolate multi-user.target //立即进入命令行模式multi-user.target

[root@svr7 /]# systemctl isolate graphical.target //立即进入图形模式graphical.target
######################################################
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息