Day14 RAID&进程管理&日志&systemctl(Service03)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

一、RAID

1.1 概述

RAID(Redundant Arrays of Inexpensive Disks)廉价冗余磁盘阵列
通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘

1.2 分类

1.2.1 raid0

条带模式
至少两块磁盘,将同一个文档分散存放在两个磁盘,提高了存储效率
但是没有可靠性

1.2.2 raid1

镜像模式
至少两块磁盘,同一个文档复制多份,存放在多个磁盘,无存储效率提高
可靠性最高

1.2.3 raid3

RAID3更加适合应用于那些写入操作较少,读取操作较多的应用环境,如数据库和web服务器等。与RAID0相比,RAID3在读写速度方面相对较慢。使用的容错算法和分块大小决定RAID使用的应用场合,在通常情况下,RAID3比较适合大文件类型且安全性要求较高的应用,如视频编辑、硬盘播出机、大型数据库等。

1.2.4 raid5

相当于raid0与raid1的折衷方案
至少三块磁盘,有一块磁盘存放数据的校验值,能够在一块磁盘损坏丢失数据之后通过校验值和部分源数据来推算出丢失的数据
同时只能坏一块磁盘
存储效率有部分提升
也有部分可靠性

1.2.5 raid6

相当于扩展的raid5
至少四块硬盘,至少有两块磁盘存放数据的校验值
同时只能坏两块磁盘

1.2.6 raid01 or raid10

整合raid0、raid1的优势,并行存取提高效率,镜像写入提高可靠性

1.2.7 raid各级别特点对比

对比项 RAID0 RAID1 RAID10 RAID5 RAID6
磁盘数 ≧2 ≧2 ≧4 ≧3 ≧4
存储利用率 100% ≦50% ≦50% n-1/n n-2/n
校验盘 无 无 无 有 有
容错性 无 有 有 有 有
IO性能 高 低 中 较高 较高

二、进程管理

2.1 概念

程序:静态的代码,占用的是硬盘空间,不会耗费CPU,也不会耗费内存空间
进程(PID):动态的代码,占用的是CPU、内存的空间
父进程:为了完成某些功能,需要启动多个子进程。当父进程被杀死的时候,会把自己生成的子进程全部杀死,直到子进程全部杀死之后,父进程才会被杀
子进程:由父进程生成的进程
僵尸进程:要杀死僵尸进程,只杀它本身是没用的,要杀掉它的父进程才行

2.2 pstree

查看进程树。在rhel7里面,systemd是所有进程的父进程

2.2.1 pstree -a

查看进程树,-a表示显示进程调用的的完整命令行

2.2.2 pstree -p

查看进程树,-p表示显示进程的PID

2.3 ps

PS (Process Snapshot)进程快照
选项是否有'-'有不同的含义
选项是否大小写有不同的含义

2.3.1 ps aux

列出正在运行的所有进程,进程显示的很详细
a 显示当前终端所有进程
u 以用户格式输出
x 当前用户在所有终端下的进程

2.3.2 ps -elf

列出正在运行的所有进程,对进程的状态,PPID显示的很清楚
-e 显示系统内所有进程
-l 以长格式输出信息
-f 表示文件之间的关系,包括最完整的进程信息

2.4 top

交互式进程管理工具

users
load average
P 根据%Cpu排名
M 根据%Mem排名
k 杀死指定进程
q 退出top

2.5 pgrep

检索进程

2.5.1 pgrep -l

输出进程名

2.5.2 pgrep -U username

检索指定用户的进程名

2.5.3 pgrep -t

检索指定终端的进程名

2.5.4 pgrep -x

精确匹配指定的进程名

三、控制进程

3.1 ctrl+z

挂起当前进程(暂停并转入后台)

3.2 &

在命令行末尾添加"&"符号,把命令行放到后台运行,不占用当前终端

3.3 jobs -l

查看后台运行的任务情况,-l表示显示PID

3.4 fg 序号

把后台任务恢复到前台运行,缺省序号为最近1个任务

3.5 bg 序号

把前台任务放到后台运行,缺省序号为最近1个任务
expr $RANDOM % 10 产生10以下的随机数

四、杀死进程

4.1 kill [-9] PID

根据PID杀死进程,-9为强制

4.2 killall [-9] 进程名

杀死同名的所有进程,-9为强制

4.3 pkill [-9] -u username

把username的进程全部杀死,-9为强制。即强制踢出用户

五、日志管理

5.1 概述

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

5.2 rsyslog

rhel5使用的是syslog系统服务
rhel6、rhel7都使用了rsyslog系统服务。它统一记录内核及系统日志,主要记录事件发生的时间、主机、进程、内容,

5.2.1常见的系统日志文件如下:

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

5.2.2 常见的用户日志文件如下:

日志文件 主要用途
/var/log/lastlog 记录最近的用户登录事件
/var/log/wtmp 记录成功的用户登录/注销事件
/var/log/btmp 记录失败的用户登录事件
/var/log/utmp 记录当前登录的每个用户的相关信息
用户日志文件无法通过cat来查看,需要通过专用分析工具

5.3 日志查看命令

5.3.1 tailf

与tail -f等价,可以实时跟踪日志消息

5.3.2 users

显示正在登录的用户

5.3.3 who

显示正在登录的用户、登录时间、登录IP、终端类型
pts:伪字符终端
tty:纯字符终端

5.3.4 w

显示最详细,除了who出来的信息,还有CPU、空闲时间、正在使用的命令等

5.3.5 last

最近登录成功的用户信息,-n表示显示n条

5.3.6 lastb -n

最近登录失败的用户信息,-n表示显示n条

5.3.7 第三方日志分析工具

AWStats
ELK
Webalizer
Webadmin系统管理套件

5.4 日志消息的优先级

级别 字段 含义
0 KERN_EMERG system is unusable
1 KERN_ALERT action must be taken immediately
2 KERN_CRIT critical conditions
3 KERN_ERR error conditions
4 KERN_WARNING warning conditions
5 KERN_NOTICE normal but significant condition
6 KERN_INFO informational
7 KERN_DEBUG debug-level messages

5.5 journalctl工具

rhel7才有的工具,提取由systemd-journal服务搜集的日志,主要包括内核/系统日志、服务日志

5.5.1 journalctl -u 服务名 [-p 优先级]

查看指定服务相关的日志消息

5.5.2 journalctl -n 消息条数

查看n条日志消息

5.5.3 journalctl --since="yyyy-mm-dd HH:MM:SS" --until="yyyy-mm-dd HH:MM:SS"

根据时间段查看日志消息

六、systemd介绍

6.1 init程序的作用

Linux系统和服务管理器,是内核引导之后加载的第一个初始化进程(PID=1),负责掌控整个linux的的运行/资源组合
rhel7:systemd
rhel6:upstart,事件触发
rhel5:system v,顺序加载

6.2 systemd

一个更高效的系统和服务管理器,开机服务并行启动,各系统服务之间精确依赖

6.2.1 /etc/systemd/system

systemd的配置目录

6.2.2 /lib/systemd/system

systemd的服务目录

6.3 systemctl介绍

systemd的管理工具

6.3.1 unit配置单元分类

service:后台独立服务
target:一套配置单元的组合,类似传统“运行级别”
socket:套接字,类似于xinetd管理的临时任务
device:对应udev规则标记的某个设备
mount、automount:挂载点、触发挂载点

6.3.2 systemctl -t target --all

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

6.3.3 systemctl get-defult

查询开机所处的运行模式

6.3.4 systemctl set default graphical.target

设置开机所处的运行级别为图形模式。实质就是为/usr/lib/systemd/system/graphical.target创建软链接,名字为/etc/systemd/system/default.target

6.3.5 systemctl isolate graphical.target

临时切换到指定运行模式

6.3.6 systemctl list-unit-files [-t service|target]

列出已定义的配置文件及自启状态

6.3.7 systemctl start|stop|restart 服务名称

启动、停止和重启服务

6.3.8 systemctl status|is-active 服务名称

查看服务状态

6.3.9 systemctl enable|is-enabled 服务名称

设置服务开机自启动

七、实体机添加虚拟网卡

7.1 /etc/libvirt/qemu/networks/

实体机的虚拟网卡配置文件路径

7.2 添加虚拟网卡

virt-manager
选择虚拟机,点“连接详情”,创建新的虚拟网络,禁用DHCP、隔离的虚拟网络



本文转自 goldwinner 51CTO博客,原文链接:http://blog.51cto.com/355665/2068785,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
消息中间件 JSON 自然语言处理
Python多进程日志以及分布式日志的实现方式
python日志模块logging支持多线程,但是在多进程下写入日志文件容易出现下面的问题: PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。 也就是日志文件被占用的情况,原因是多个进程的文件handler对日志文件进行操作产生的。
|
2月前
|
存储 安全 Python
[python]使用标准库logging实现多进程安全的日志模块
[python]使用标准库logging实现多进程安全的日志模块
|
2月前
|
JavaScript 开发工具
Electron 开发过程中主进程的无法看到 console.log 输出怎么办
Electron 开发过程中主进程的无法看到 console.log 输出怎么办
|
3月前
|
消息中间件 JSON 自然语言处理
python多进程日志以及分布式日志的实现方式
python日志在多进程环境下的问题 python日志模块logging支持多线程,但是在多进程下写入日志文件容易出现下面的问题: PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。 也就是日志文件被占用的情况,原因是多个进程的文件handler对日志文件进行操作产生的。
|
5月前
|
安全 Python
Python 多进程日志输出到同一个文件并实现日志回滚
Python 多进程想要实现将日志输出到同一个文件中,使用同一个日志句柄,且日志需要按照日期,大小回滚。
|
5月前
|
存储 JSON 运维
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
118 0
|
5月前
|
安全 程序员 Python
Python-logging详解(彩色日志扩展,多进程安全等)
Python-logging详解(彩色日志扩展,多进程安全等)
93 0
|
3月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
|
3月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
88 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
2月前
|
算法 Linux 调度
探索进程调度:Linux内核中的完全公平调度器
【8月更文挑战第2天】在操作系统的心脏——内核中,进程调度算法扮演着至关重要的角色。本文将深入探讨Linux内核中的完全公平调度器(Completely Fair Scheduler, CFS),一个旨在提供公平时间分配给所有进程的调度器。我们将通过代码示例,理解CFS如何管理运行队列、选择下一个运行进程以及如何对实时负载进行响应。文章将揭示CFS的设计哲学,并展示其如何在现代多任务计算环境中实现高效的资源分配。
下一篇
无影云桌面