深入理解文件系统和日志分析

文件是存储在硬盘上的,硬盘上的最小存储单位是扇区,每个扇区的大小是512字节。

inode:存储元信息(包括文件的属性,权限,创建者,创建日期等等)

block:块,连续的八个扇区组成一个块,一个块的大小是4k,创建一个文件,最小也要占4k。块是文件的最小存储单位。

操作系统读取硬盘,是一次性读取多个扇区,一个块一个块的读取数据。

创建文件:实际空间大小的要占,第二个就是元信息。元信息和实际数据都保存在硬盘上。元信息:inode号 128字节或者256字节。

一个文件必须占用一个inode(只要创建文件必须有一个inode号)

至少占用一个block(空文件也要占一块)

时间戳:

atime:访问 读取文件就会更新这个时间

mtime:修改文件数据,更改文件的属性,都会更新这个时间

ctime:修改文件的权限也会更新这个时间。

inode号:linux都是识别文件的inode号

元信息发生了变化,inode号也会随之变化。

inode号的总数。

根据磁盘空间的大小来确定inode号的大小。

磁盘越大inode号越多,磁盘越小inode号越小。

inode号和文件名分离,二者只是映射关系,linux系统的特有现象:

1、如果文件包名含有特殊字符,rm可能无法正常删除,可以直接删除inode号

2、移动文件,重命名,inode号时不变的

3、一但开始对文件操作后,后续所有的认证和识别都是通过inode号来的,不在考虑文件名

4、元信息发生变化,inode号也会发生变化

1、ext4 把inode耗尽,看看还能不能写入?

2、xfs 要有结论 20M 然后模拟把inode耗尽,看看还能不能写入?能写入的话,还能写入多少

如果inode号满了,ext4和xfs之间有什么区别?

在 ext4 文件系统中,inode 号是静态分配的,即在创建文件系统时就确定了 inode 号的数量。一旦 inode 号用完,即使磁盘上还有剩余空间,也无法再创建新的文件。

而在 xfs 文件系统中,inode 号是动态分配的。它会根据需要自动分配 inode 号,因此理论上可以支持几乎无限数量的 inode。 xfs文件系统,如何能够实现备份和恢复?

centos7默认使用的文件系统就是xfs,

xfsdump 备份

xfsrestore 恢复

xfsdump命令的选项:

-f 指定需要的备份的硬盘分区(硬件设备的挂载目点)

-L 指定标签

-M指定设备标签

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

xfsdump使用限制:

1、只能备份xfs的文件系统

2、只能备份已经挂载的文件系统

3、只有root权限才能进行备份

4、备份之后的数据要恢复,只能使用xfsretore解析恢复

5、如果两个设备的uuid相同,不能备份(这种情况几乎不会有)

备份完之后,恢复文件,inode号是否会发生变化?

indoe号会重新分配

日志分析:

系统的日志类型以及日志如何分析

Linux系统本身的日志和大部分的服务程序的日志都在/var/log/里面。

/var/log/messages 记录了Linux的内核消息,以及各种应用程序的公共日志消息。

应用程序公共日志:开 关 重启 网络错误, 程序故障这些都属于公共日志。

访问日志和一些自由业务日志不包含其中。

cron:记录的是定时任务的日志

dmesg:引导过程中的日志信息

maillog:记录进入或者发出的系统电子邮件信息

secure:用户认证的相关信息

linux的日志级别:数字越小,优先级越高,消息越重要

0 EMERG 紧急 会导致主机系统不可用的情况,系统崩溃。如磁盘满了

1 ALERT 警告 必须要马上采取措施解决问题。密码到期,数据库崩溃。

2 CRIT 严重 比较严重的情况,磁盘读写出了故障,有些程序的功能无法启动。

3 ERR error 错误 运行出现错误,程序启动失败,端口被占用等等,见的最多的情况,出现了也是要尽快解决的。

4 WARNING 提醒 可能会影响功能,需要提醒用户的重要事件,但是不是报错。磁盘使用率到了85%需要注意了。

5 NOTICE 注意 也是需要用户注意的,无需处理。

6 info 信息 一般信息 ,系统或者应用程序在工作中产生的正常消息。

7 DEBUG debug 调试 程序正在开发阶段,调试程序时的信息。

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

日志级别怎么定义:

*.info : * 表示所有,表示系统当中的设备,或者程序。info:包含info以及info级别以上的日志。

auth 用户认证产生的日志

daemon 守护后台进程的进程

authpriv :SSH,FTP 登录验证的信息。

news: 网络传输产生的消息

syslog :系统的相关日志

kern :系统进程日志

local0-local7:自定义程序的日志

uucp:unix-to-unix copy 两个linux之间的通信

mail.info /var/log/mail.log :记录邮件的信息,包含info和info以上的信息,记录到/var/log/mail.log

May 31 13:46:02 test1 systemd:Starting The Apache HTTP Server...

May 31 13:46:02:表示当前日志发生的时间

test1 :表示发生的主机名

systemd:哪个系统产生了这个日志

Starting The Apache HTTP Server... :日志的具体内容。

第一个实验:

ssh的日志单独的列出来,作为一个独立的日志文件。

第一步关闭防火墙和防御机制,打开rsyslog的系统管理日志

第二步打开vim编辑声明local6自定义保存至ssh.log

第三步打开ssh的配置文件

把日志保存到自定义的地址

第四部重启

第五步打开另外一台终端进行访问

第六步这时另一个终端就有消息了

第二个实验:

配置一个日志服务器,来进行日志收集。

tes1 192.168.233.10 日志收集服务器

tes2 192.168.233.20 20上面产生的日志,都会发到10上面,20自己不在记录日志。

@@192.168.233.10

@@表示使用tcp协议进行数据传输

@表示使用udp协议进行传输

LISTEN:监听,端口是否开启。端口是否正常传输数据

ESTABLISHED:表示端口之间已经建立连接而且正在传输数据

第一步进入系统配置文件

把地址改为发送的地址

把注释关闭打开传输的端口

最后把另外一台的传输端口也打开就完成了

总结:文件系统:对文件的操作,用户是针对文件名,系统针对的inode号。系统都是用inode号来进行识别。

inode号保存的是元讯息 权限 大小 时间戳

block 块:文件的最小存储单位。连续的8个扇区,4k

创建文件:保存元信息,保存实际数据。

备份和恢复 xfs ext3

日志:

error :报错

info:一般信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/846586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小白跟做江科大32单片机之LED闪烁

原理介绍 原理介绍详见: 【STM32】江科大STM32学习笔记汇总(已完结)_stm32江科大笔记-CSDN博客https://blog.csdn.net/u010249597/article/details/134762513 项目准备 1.在项目文件夹中新建3-1 LED文件夹 2.keil新建项目,打开新建的3-1 LED&#xf…

【CC2530-操作外部flash】

zigbee cc2530操作flash,以cc2530读flash_id为例子; void InitIO() {CLKCONCMD & ~0x40; //设置系统时钟源为32MHZ晶振 while(CLKCONSTA & 0x40); //等待晶振稳定为32M CLKCONCMD & ~0x47; //设置系统主时钟频率为32MHZ…

面试(五)

目录 1. 知道大顶堆小顶端吗,代码怎么区分大顶端小顶端 2. 计算机中栈地址与内存地址增长方向相反吗? 3. %p和%d输出指针地址 4. 为什么定义第二个变量时候,地址反而减了 5. 12,32,64位中数据的占字节?…

物质的量质量,它们可不是一个概念

物质的量&质量,它们可不是一个概念。 物质的量&质量 乍一听物质的量,还以为是和质量有什么关系,是不是?其实物质的量和质量没什么直接的联系。 物质的量是国际单位制中7个基本物理量之一,其符号为n&#xf…

Aras Innovator-Team(群组)的使用方法

当Aras Innovator在处理权限时,在不使用Team的情况下,系统的权限配置可以满足大部分业务场景,如:常见的按照组织架构,成员和角色分配权限,按照生命周期分配权限等。 如果遇到比较复杂的权限需求&#xff0c…

AltiumDesigner/AD添加数据库连接

1.首先确保本机电脑有无对应的数据库驱动,例如我这边要添加MySQL的数据,则需要首先下载MySQL数据驱动:MySQL :: Download MySQL Connector/ODBC (Archived Versions) 2.运行“odbcad32.exe”,如下图添加对应的数据库配置&#xf…

【C/C++】C/C++车辆交通违章管理系统(源码+数据文件)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

面试题:useEffect的Clean Up 什么时候触发?

​ useEffect作为做常用的Hook,以下三个知识点你有必要了解下~ 防止写出奇怪的代码祸害队友,而我不幸就是这个受害者!!!!! useEffect的依赖项为空 useEffect的dependencyList作为一个可选参数…

Pytest框架中用例用例执行常用参数介绍

pytest 支持通过命令行参数来定制测试运行的方式。以下是一些常用的 pytest 执行参数介绍。 学习目录 -q 或 --quiet: 安静模式,只显示进度和摘要 -s : 选项允许在测试的输出中捕获 stdout 和 stderr。 -v : 选项会使 pytest 的输出更加详细。 -k :…

Git 恢复已删除的branch

六一节晚上改了点code, 做完之后commit, 然后误删了这个branch, 并且新建了branch. 那么怎样恢复已删除的branch呢? 网上查询一番,找到了答案: 1. git reflog 找到被删的branch中最后一笔commit, 记录它的SHA1。 怎么看SHA1是被删除的bra…

鸿蒙应用Stage模型【应用/组件级配置】

应用/组件级配置 在开发应用时,需要配置应用的一些标签,例如应用的包名、图标等标识特征的属性。本文描述了在开发应用需要配置的一些关键标签。 应用包名配置 应用需要在工程的AppScope目录下的[app.json5配置文件]中配置bundleName标签,…

Python PyInstaller打包方法介绍

为了将开发好的Python工具交付给其他人使用,除了在目标电脑部署Python编译环境以外,我们还可以将它打包成可执行文件,这样目标电脑不需要安装Python环境就可以运行。将Python程序打包成可执行文件的方法有多种,比如Nuitka、PyInst…

微博增强-tampermonkey脚本实现网页管理悄悄关注

不是很明白微博为什么不出个x的列表功能,毕竟现在信息洪流,有些东西只是要看要了解,但不希望天天在首页轰炸眼睛,扰乱心智。 这个tampermonkey脚本适配了pc web和手机pwa版本(weibo.com/m.weibo.cn),解决了…

golang map部分原理源码个人走读-附个人理解过程图解

近期再写map的demo时出现了下面一段报错,于是带着疑惑去看了一下源码 目的:主要想知道为啥map不让并发读写 fatal error: concurrent map read and map write 一.map的数据结构 先有个印象,后续会详细介绍 // A header for a Go map. ty…

NDIS Filter开发-OID 请求

NDIS 定义对象标识符 (OID) 值来标识适配器参数,其中包括操作参数,例如设备特征、可配置的设置和统计信息。 Filter驱动程序可以查询或设置基础驱动程序的操作参数,或过滤/覆盖顶层驱动程序的 OID 请求。 NDIS 还为 NDIS 6.1 及更高版本的Fi…

Informer

I n f o r m e r Informer Informer 摘要: 长序列时间序列的预测 i n f o r m e r informer informer优点: P r o b s p a r e Probspare Probspare自关注机制,在时间复杂度和内存使用方面达到 O ( N l o g N ) O(NlogN) O(NlogN),在序列依…

IP协议1.0

基本概念: • 主机: 配有IP地址, 但是不进⾏路由控制的设备; • 路由器: 即配有IP地址, ⼜能进⾏路由控制; • 节点: 主机和路由器的统称; IP协议的报头 • 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4. • 4位头部⻓度(header length): IP头部的⻓…

mybatis增删改查模板设置及设置调用

mybatis增删改查模板设置 系统配置文件完成以及连接好数据之后,就可以用这个mybatis了,首先写这个数据库的增删改查模板StashMapper.xml,这个东西是要放在DAO层中的奥,切记。 1.编写mybatis对应数据库的增删改查模板 在我的Sta…

DKTCDR:Domain-Oriented Knowledge Transfer for Cross-Domain Recommendation

Domain-Oriented Knowledge Transfer for Cross-Domain Recommendation IEEE(CCF B.SCI 1)-Guoshuai Zhao, Xiaolong Zhang, Hao Tang, Jialie Shen, and Xueming Qian-2024 思路 在CDR中,构建连接两个域的桥梁是实现跨域推荐的基础。然而现在的CDR方法往往在连接两个域时忽…

软件测试进阶

目录 一、自动化测试 1.概念 2.Selenium 2.1 概念 2.1.1 Selenium是什么? 2.1.2 Selenium特点 2.1.3 工作原理 2.2 SeleniumJava环境搭配 2.3 定位元素 2.3.1 CSS语法 2.3.2 XPath语法 2.4 应用 2.4.1 点击提交文本 2.4.2 模拟输入 2.4.3 清除文本 2…