文件系统和日志分析

目录

一、inode与block

1、inode号:元信息(文件属性)

2、查看inode信息的时间机制:

3、文件名和inode号剥离之后:

二、文件恢复:

1、xfs文件系统进行备份和恢复:

三、日志分析:

1、日志格式:记录的内容

四、实验:

1、第一个实验:ssh远程连接

2、第二个实验:


一、inode与block

文件数据包:存储的文件(图片、视频、文本)

Linux的两种存储机制:inode、block

生成一个文件:

  1. 文件会生成一个inode号
  2. 文件必然要存储空间。block(最小是4k,如果文件不满4k,也要占4k)

1、inode号:元信息(文件属性)

存储的元信息:文件的创建者、更改日期、文件大小、文件的权限

跟随inode号标识,存储在硬盘上的。

一般inode号占用的空间在512k左右。

inode号用完了,虽然磁盘还有空间也无法创建了

一个文件必须占用一个inode号,至少占一个块。

文件必须有inode号

创建的文件不满4k也要占一个块

Linux一切皆文件,目录也是一种文件

Linux内部是通过inode号来识别文件

对系统来说,文件名只是索引节点inode号的别称,方便用户使用。文件名和inode号一一对应

系统通过inode号来识别文件,不是根据文件名离开识别的

文件的元信息中不包含文件名

stat 文件名:查看inode详细信息

ls -i:查看inode号

  1. TXT写内容:

1、根据11.txt的inode号,到硬盘上打开这个文件。

2、系统检索文件的元信息,看用户是否有权限访问,看用户有没有写的权限。

3、保存的过程还是要检索元信息,看用户能不能再当前目录写入,最后更改元信息, 文件inode号发生变化(文件占用数据块大小变化,元信息变化,inode发生变化)

2、查看inode信息的时间机制:

atime最近访问:访问这个文件就会改变这个时间

mtime最近更改:修改文件的数据内容,就会更新

ctime最近改动:文件元信息数据发生变化就会变化。修改文件的权限或者是属性,更改文件内容也可能会变。change time

3、文件名和inode号剥离之后:
  1. 文件名包含特殊字符,可能无法正常删除。这时可以通过inode号,直接找到数据所在块,直接删除
  2. 移动、重命名,不影响inode号
  3. 一旦打开文件之后,系统全部以inode号来识别文件,文件名不在考虑范围之内
  4. vim编辑器修改文件内容之后,可能会生成新的inode号(数据块发生变化才到时元信息变化)
  5. 文件名不再元信息当中的

删除乱码文件:根据inode号删除

find /opt/ -inum 12233 -exec rm -rf {} \;

模拟inode节点消耗完毕

 mkfs.ext4

作业1:xfs文件系统如果inode号用尽的情况。17M

二、文件恢复:

.ext4只能在centos6恢复

用ext3来模拟

extundelete数据恢复工具,支持ext3和ext4,不一定能恢复成功,有几率

extundelete /dev/sdb2 --inode 2:

查看文件系统ext3 4 存在哪些文件

目录下的索引号,inode号。2是第一个

ext3、4类型恢复文件要先解挂载

换一个第三方目录进行恢复

extundelete /dev/sdb2 --restore-all

1、xfs文件系统进行备份和恢复:

centos7默认使用xfs文件系统

xfsdump的备份是有级别的

0表示全量备份

1-9表示增量备份

xfsdump的命令格式和选项:

-f 指定备份文件的目录

-L 指定目录标签

-l 指定备份级别

-M 指定设备标签

-s 备份单个文件  -s后面不能直接跟路径

格式:

xfsdump -f   备份文件的存放文职   要备份的路径和设备    [指定标签]

xfsdump使用是有限制的:

  1. 只能恢复已挂载的文件系统设备。
  2. 只能备份xfs文件系统
  3. 必须要有root权限
  4. 数据恢复只能通过xfsrestore 解析,进行恢复
  5. 两个设备的uuid相同,不能进行备份

数据要先备份才能恢复

xfsdump 备份磁盘数据

xfsrestore 恢复数据

xfsdump -f /opt/backup /dev/sdb1 [-L backup -M sdb1]

-f /opt/backup:backup只能是文件不能是目录,而且是没创建的

-L:

-M:

xfsdump 默认全量备份

xfsdump -l 1 -f /opt/backup1   备份文件的文件名不能重复

xfsdump -l 1:增量备份。下次在增量就是-l 2

工作中基本都是全量备份

xfsrestore -f backup /data/  文件恢复

三、日志分析:

内核以及系统日志 rsyslog 统一管理

配置文件:etc/rsyslog.conf  (一般软件配置文件都是.conf)

配置文件里面的内容是固定格式。(空格回车大小写注意)

Linux系统本身产生的日志,大部分服务器自带程序的日志文件,以及第三方应用服务程序的控制日志 都在/var/log目录下

业务日志:只会记录自身产生的业务记录,不会记录到系统日志当中

打不开看messages日志,业务服务出问题看自己目录的业务日志.

etc/rsyslog.conf  

包含了系统需要记录的日志类型和级别

他是系统服务日志的核心配置文件

修改这个配置文件,可以更改系统记录日志的方式

/var/log/messages:内核文件,各种应用程序包括第三方程序的控制日志

/var/log/cron:定时任务的日志记录

/var/log/dmesg:系统引导日志

/var/log/maillog:邮件日志

*.info;mail.none;authpriv.none;cron.none       /var/log/messgaes

所有info信息日志以及info以上的级别消息,存放到messages,但除了邮件、远程登录、定时任务的日志

格式:设备字段.日志级别   *.info  (*表示所有)

多个设备可以用逗号隔开

日志记录的规则:

日志级别:0-7

0 EMERG 紧急

1 ALERT 警告

2 CRIT 严重

3 ERR 错误 服务或者程序运行时出现错误

4 WARNING 提醒:可能会影响系统功能,需要提示用户注意。不是报错。磁盘使用85%

5 NOTICE 注意 不会影响正常功能,但是需要注意,一般不做处理。

6 INFO 信息 一般信息,系统正常的信息

7 DEBUG 调试,调试程序时候用

none:没有优先级,而且不记录任何日志消息

*.info:所有info级别的日志,包括info级别以上的事件信息,保存到/var/log/messages

*.=info:明确指定只保存info日志,其他的都不要

*.!info:除了info级别的都要,!取反

*.info;*.notice:包含info和notice的日志以及以上级别的日志都要

设备字段:

auth:用户认证

authpriv:认证远程登录产生的日志信息

news:网络新闻记录的事件日志

cron:定时任务

kern:内核的时间消息

mail:邮件的日志

user:用户进程记录的日志

uucp:进程间的通信

news.crit /var/log/test:新闻严重日志以及以上

cron.info;mail.none;user.none    /var/log/test1

只保存cron.info

同步模式:程序在完成一个任务之后,必须等待处理结果返回之后才能处理下一个任务

异步模式:处理完之后,不必等待返回结果就可以继续处理其他任务

local7 自定义服务。自己定义一些服务,把他的日志记录到/var/log/test

范围0-7

1、日志格式:记录的内容

Sep  7 22:01:01 localhost systemd: Stopping User Slice of root.

Sep  7 22:04:42 localhost systemd: Created slice User Slice of root.

Sep  7 22:04:42 localhost systemd: Starting User Slice of root.

Sep  7 22:04:42 localhost systemd-logind: New session 36 of user root.

Sep  7 22:04:42 :时间戳

localhost : 主机名

systemd-logind :子系统名称,理解位进程

: New session 36 of user root. :消息或者发生事件的具体内容

什么时间发生在谁身上 :发生了什么内容.

Sep  7 22:11:41 localhost systemd: Starting The Apache HTTP Server...

九月七号 22:11 localhost主机 的systemd进程开启http服务中

分析工具:

users:展示登录当前系统的用户

w:显示目前登录系统的详细信息

last:列出截止目前登陆过系统的用户信息

lastb:查询登录失败的用户

四、实验:
1、第一个实验:ssh远程连接

ssh

相当于向日葵远程连接

先关防火墙,安全机制

第一台主机test2:

进入vim /etc/rsyslog.conf:

改如下配置 手动输入:

再进入vim /etc/ssh/sshd_config        ssh的配置文件

重启rsyslog 和 sshd

配置完之后另一台主机就能连接本test1主机了:

ssh root@20.0.0.51

(配置好主机test2 的IP地址)

之后test1接变成了test2主机,就可以增删改查了以root身份对机器进行任何操作了

之后进入 tail -f /var/log/ssh.log 就能看连接记录了

2、第二个实验:

配置日志服务器,收集日志

20.0.0.10

20.0.0.20

20主机上所有系统日志,不再记录记录在自己本地,而是发送给10,记录10的服务器上

服务端:提供功能

客服端:使用功能

关防火墙 安全机制

第一台操作:

先进入vim /etc/rsyslog.conf 改配置文件:

  1. 将tcp下面两行取消注释
  2. 改log发送目的地

1:将tcp下面两行取消注释

2、改log发送目的地:

把原来50服务器上往/var/log/messages,通过tcp协议的514端口,发到51的

/var/log/messages上去

一个@是udp,两个@是tcp

之后重载rsyslog

接着查看514端口号是否正常运行netstat -antp | grep 514

LISTEN:等待建立连接

第二台操作:

先进入 vim /etc/rsyslog.conf 改配置文件

之后重载 rsyslog服务

systemctl restart rsyslog.service

然后第一台发送  logger “fuck u”

进去第二台去tail /var/log/messages  就能查看

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值