Linux文件系统与日志管理

这篇具有很好参考价值的文章主要介绍了Linux文件系统与日志管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、inode和block

1、inode表结构

2、 查看inode号码的命令

3、Linux系统文件三个主要时间属性

4、用户通过文件名打开文件时系统内部的过程

5、inode的大小

6、命令与inode

6.1 cp 命令:

6.2 rm 命令:

6.3 mv命令

二、日志

1、功能

2、日志文件的分类及一些常见日志文件

2.1 内核及系统日志

2.2 用户日志

2.3 程序日志

三、系统日志介绍

1、sysklogd系统日志服务

2、rsyslog系统日志管理

2.1rsyslog特性

3、ELK

四、rsyslog管理

1、日志消息级别

2、服务名称

         3、rsyslog配置文件

4、实际应用:

4.1 将ssh服务的日志单独设置

4.2 实例:通过网络将本地的日志远程备份到另一台机器,网络日志(远程日志功能)


一、inode和block

  • 文件数据包括元信息与实际数据
  • 文件存储在硬盘上,硬盘最小存储单位为“扇区”,每个扇区存储512字节Linux文件系统与日志管理,linux,运维,服务器
  • block(块)
  1. 连续的八个扇区组成一个block
  2. 是文件存取的最小单位
  • inode(索引节点)
  1. 用于存储文件信息
  2. 同一个硬件设备上是唯一的,不可以跨设备,inode实际是资源,是可以被用完的,用完后无法创建任何文件。(xargs:读取前面的参数;   -n1:一个一个给)
  • inode和block的关系
  1. 文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在“块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode。 因此,一 个文件必须占用一个inode, 并且至少占用一个block.
  2. inode不包含文件名。文件名是存放在目录当中的。Linux系统中一切皆文件,因此目录也是一种文件。
  3. 每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一 一对应关系,每个inode号码对应一个文件名。
     

1、inode表结构

          每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(meta data 元信息 )

         元数据是存放在inode(index node)表中。inode 表中有很多条记录组成,第一条记录对应的存放了一个文件的元数据信息。

每一个inode表记录对应的保存了以下信息:

  • inode number 节点号

  • 文件类型

  • 权限

  • UID

  • GID

  • 链接数(指向这个文件名路径名称个数)

  • 该文件的大小和不同的时间戳

  • 指向磁盘上文件的数据块指针

  • 有关文件的其他数据

2、 查看inode号码的命令

1.	查看文件名对应的inode号码
	ls -i 文件名
2. 	查看文件inode信息中的inode号码
	stat 文件名

3、Linux系统文件三个主要时间属性

  • ctime(change time):最后一次改变文件或目录(属性)的时间
  • atime(access time):最后一次访问文件或目录的时间
  • mtime(modify time):最后一次修改文件或目录(内容)的时间

4、用户通过文件名打开文件时系统内部的过程

  1. 系统找到这个文件名对应的inode号码
  2. 通过inode号码,获取inode信息
  3. 根据inode信息,找到文件数据所在的block,读出数据

Linux文件系统与日志管理,linux,运维,服务器

问题:我磁盘空间还剩余很多但无法继续建立文件?

答案:因为inode号用完了

解决方法:

  1. 如果是lvm逻辑卷,可以扩容 。
  2. 普通分区,删除没有用的文件。

5、inode的大小

  • inode也会消耗硬盘空间,每个inode的大小一般是128字节或256字节
  • inode的总数,在格式化时就确定
  • 如果磁盘还有空间,但inode号被全部占用,无法创建新文件。
  • inode号在同一个文件系统内唯一,在不同的文件系统中可以重复。
  • 查看每个硬盘分区的inode总数和已经使用的数量,可以使用命令: df -I

6、命令与inode

6.1 cp 命令:

  • 分配一个空闲的inode号,在inode表中生成新条目

  • 在目录中创建一个目录项,将名称与inode编号关联

  • 拷贝数据生成新的文件

6.2 rm 命令:

  • 硬链接数递减,从而释放的inode号可以被重用

  • 把数据块放在空闲列表中

  • 删除目录项

  • 数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖

6.3 mv命令

  • 如果mv命令的目标和源在同一设备,
  • 不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!
  • 删除旧的目录对应关系新建目录对应关系

二、日志

1、功能

  • 用于记录系统、程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障

2、日志文件的分类及一些常见日志文件

2.1 内核及系统日志

  • 由系统服务rsyslog统一进行管理,日志格式基本相似
  • 主配置文件/etc/rsyslog.conf
日志文件位置 日志文件说明
/var/log/messages内核和公共日志 系统中大部分的信息
/var/log/secure 系统安全日志,文本格式,应周期性分析

2.2 用户日志

记录系统用户登录及退出系统的相关信息

日志文件位置 日志文件说明

/var/log/btmp

当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看
/var/log/wtmp 当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
/var/log/lastlog 每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看

2.3 程序日志

  • 由各种应用程序独立管理的日志文件,记录格式不统一
  • 是和程序本身有关,有的有独有日志,有的没有独立日志

三、系统日志介绍

1、sysklogd系统日志服务

CentOS 5 之前版本采用的日志管理系统服务

  • syslogd: system application 记录应用日志
  • klogd: linux kernel 记录内核日志

事件记录格式:

  • 日期时间 主机 进程[pid]: 事件内容
  •  C/S架构:通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理

2、rsyslog系统日志管理

  • rsyslog是CentOS 6以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计。
  • 官网地址:http://www.rsyslog.com/     

2.1rsyslog特性

  • 多线程

  • UDP, TCP, SSL, TLS, RELP

  • MySQL, PGSQL, Oracle实现日志存储

  • 强大的过滤器,可实现过滤记录日志信息中任意部分

  • 自定义输出格式 可以日志

  • 适用于企业级

3、ELK

由Elasticsearch, Logstash, Kibana三个软件组成

  • 非关系型分布式数据库基于apache软件基金会jakarta项目组的项目lucene
  • Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能
  • Logstash对日志进行收集、分析,过滤,并将其存储供以后使用
  • Kibana 可以提供的日志分析友好的 Web 界面
     

四、rsyslog管理

1、日志消息级别

Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要):

级别 消息 级别 具体描述
0 EMERG 紧急 会导致主机系统不可用的情况
1 ALERT 警告 必须马上采取措施解决的问题
2 CRIT 严重 比较严重的情况
3 ERR 错误 运行出现错误
4 WARNING 提醒 可能影响系统功能,需要提醒用户的重要事件
5 NOTICE 注意 不会影响正常功能,但是需要注意的事件
6 INFO 信息 一般信息
7 DEBUG 调试 程序或系统调试信息等
  • 软件由它的配置文件所决定
  • 决定它的服务方式、网络地址、个性化功能等
  • 是yum 或rpm安装配置文件一般放在etc下
  • 查看软件的配置文件位置,用rpm -qc 软件名  去查看,一般以 .conf结尾的是配置文件
  • 在改配置文件前一定要先备份

2、服务名称

服务名称 说明
auth(LOG_AUTH) 安全和认证相关消息 (不推荐使用authpriv替代)
authpriv(LOG_AUTHPRIV) 安全和认证相关消息(私有的)
cron (LOG_CRON) 系统定时任务cront和at产生的日志
daemon (LOG_DAEMON) 与各个守护进程相关的曰志
ftp (LOG_FTP) ftp守护进程产生的曰志
kern(LOG_KERN) 内核产生的曰志(不是用户进程产生的)
Iocal0-local7 (LOG_LOCAL 0-7) 为本地使用预留的服务
lpr (LOG_LPR) 打印产生的日志
mail (LOG_MAIL) 邮件收发信息
news (LOG_NEWS) 与新闻服务器相关的日志
syslog (LOG_SYSLOG) 存syslogd服务产生的曰志信息(虽然服务名称己经改为reyslogd,但是很多配罝依然沿用了syslogd服务的,所以这里并没有修改服务名称)
user (LOG_USER) 用户等级类别的日志信息
uucp (LOG_UUCP) uucp子系统的日志信息,uucp是早期Linux系统进行数据传递的协议,后来也常用在新闻组服务中

3、rsyslog配置文件

/etc/rsyslog.conf 配置文件格式:由三部分组成

  • MODULES:相关模块配置

  • GLOBAL DIRECTIVES:全局配置

  • RULES:日志记录相关的规则配置

4、实际应用:

4.1 将ssh服务的日志单独设置

原来ssh日志在/var/log/secure
将 ssh服务的日志文件独立出来


[root@localhost ~]#tail -f /var/log/secure
#查看ssh服务的日志位置

[root@localhost ~]#vim /etc/ssh/sshd_config
#修改ssh配置文件,32下一行添加自己的自定义
32 #SyslogFacility AUTHPRIV
33 SyslogFacility LOCAL6

[root@localhost ~]#vim /etc/rsyslog.conf
#76 行添加自己的文件位置
local6.*                                /opt/ssh.log

[root@localhost log]#systemctl restart rsyslog.service sshd
#重启服务

①进入ssh配置文件,将ssh配置成使用local6

Linux文件系统与日志管理,linux,运维,服务器

Linux文件系统与日志管理,linux,运维,服务器

②进入rsyslog配置文件,添加自己的文件位置

Linux文件系统与日志管理,linux,运维,服务器

Linux文件系统与日志管理,linux,运维,服务器

③重启

Linux文件系统与日志管理,linux,运维,服务器

④验证,并查看本机日志记录(实时查看tail -f /var/log/secure)

Linux文件系统与日志管理,linux,运维,服务器

4.2 实例:通过网络将本地的日志远程备份到另一台机器,网络日志(远程日志功能)

Linux文件系统与日志管理,linux,运维,服务器

就算本机系统崩溃,我们可以查看另一台机器备份的日志,来排查故障。

#开启日志的远程传输功能在192.168.80.112    10 台左右的服务器

[root@localhost ~]#vim /etc/rsyslog.conf 
#打开19 20 行    两端都要开
19 #$ModLoad imtcp
20 #$InputTCPServerRun 514
[root@localhost ~]#ss -ntap |grep 514
#查看514端口是否打开

#在192.168.91.101 上设置发送到哪台主机去
[root@centos7-2 ~]#vim /etc/rsyslog.conf 
#修改配置文件
54 *.info;mail.none;authpriv.none;cron.none                /var/log/messages
#复制54行                                                   改成ip地址
55 *.info;mail.none;authpriv.none;cron.none                @@192.168.80.112
                                                          #两个@ 代表使用  tcp  一个代表udp
如果修改 的是udp  @192.168.80.112
如果要想指定端口  @192.168.80.112:端口号

[root@centos7-2 ~]#logger "this is test log from 192.168.80.114 22"
#测试,写日志进去

①两台机器都关闭防火墙工具和selinux 

Linux文件系统与日志管理,linux,运维,服务器

Linux文件系统与日志管理,linux,运维,服务器

②分别打开两个主机的配置文件,进行修改,及打开远程传输功能 

Linux文件系统与日志管理,linux,运维,服务器

③打开想要传输备份文件给其他主机的主机的配置文件, 设置他想发送到哪台主机去

Linux文件系统与日志管理,linux,运维,服务器

 ④重启,并查看端口号是否开启 

Linux文件系统与日志管理,linux,运维,服务器

Linux文件系统与日志管理,linux,运维,服务器

 ⑤写一条日志进去,并查看Linux文件系统与日志管理,linux,运维,服务器

Linux文件系统与日志管理,linux,运维,服务器文章来源地址https://www.toymoban.com/news/detail-780111.html

到了这里,关于Linux文件系统与日志管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 常用操作命令(CentOS 7.0)- 故障定位:服务器负载、进程管理、日志分析

    系统经研发测试上线后,如果运行期间出现了BUG,需要对服务故障进行定位,一般会查看服务器负载、服务状态、进程管理、服务日志等。 本文以CentOS 7.0 操作系统上的命令操作作为示例进行记录。 #服务器负载 完整参见:http://www.laobingbiji.com/note/detail.html?note_id=20231115154337

    2024年01月17日
    浏览(52)
  • 华为云云耀云服务器L实例评测 | Linux系统宝塔运维部署H5游戏

    本章节内容,我们主要介绍华为云耀服务器L实例,从云服务的优势讲起,然后讲解华为云耀服务器L实例资源面板如何操作,如何使用宝塔运维服务,如何使用运维工具可视化安装nginx,最后部署一个自研的H5的小游戏(6岁的小朋友玩的很开心😁)。 前端的同学如果想把自己

    2024年02月07日
    浏览(46)
  • Linux运维:系统日志篇

    您可以将系统日志理解为记录系统运行情况的一种日记。它包含了各种级别的信息,从调试信息和错误报告到警告和系统事件等。通过对系统日志进行分析,管理员可以了解系统的状态和运行情况,发现并解决问题,确保系统的正常运行。因此,系统日志是管理和维护 Linux

    2024年02月05日
    浏览(91)
  • Linux系统管理、服务器设置、安全、云数据中心

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家 :https://www.captainbed.cn/z chatgpt体验地址 本文以服务器最常用的CentOS为例 解释每个字符的含义如下: [:表示命令行提示符的开始。 root:表示当前用户为root用户。 @:表示分隔符,用于

    2024年02月04日
    浏览(43)
  • linux中用shell脚本定时备份重要日志等文件【命令结果输出也在内。按月份自动创建时间自动规划到月份中】、linux中用shell脚本备份文件并自动scp汇总到一个服务器上

    现在甲方有一个需求:要求每月备份系统日志 问题: 1、有37台服务器需要备份且汇总到一

    2024年02月19日
    浏览(44)
  • 在Linux系统(服务器)使用阿里云盘服务快速上传下载文件

    使用集群服务器的时候,尤其是当服务器有多个节点时有些复杂,连接集群我们一般用xshell,传输文件我们一般使用Xftp,一般对于单个节点服务器来说是方便的,使用Xftp还可以可视化本地和服务器端的文件,但当有多个节点时,这就不适用了,他不能选择节点,有局限,连接

    2024年02月04日
    浏览(39)
  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(52)
  • linux系统删除文件之后服务器磁盘空间未释放处理

    一、通过rm 删除文件之后磁盘空间未释放,这是有进程仍在占用被删除的文件,要想真正的删除,只需要停止或重启进程,就会自动释放磁盘空间 二、应用进程很重要不能重启或停止,可以使用以下方法: 1.查看占用删除文件的进程号 使用lsof命令 lsof命令不存在,安装命令

    2024年02月06日
    浏览(53)
  • 【Linux后端服务器开发】基础IO与文件系统

    目录 一、基础IO 1. C语言文件读写 2. 标志位传参 3. C语言与系统调用关系 二、文件系统 1. 文件描述符 2. 输入输出重定向 文件调用 库函数接口: fopen、fclose、fwrite、fread、fseek 系统调用接口:open、close、write、read、lseek r/w/a :读/写/追加 若打开的文件不存在,“r”报错,“

    2024年02月15日
    浏览(54)
  • 云计算Linux运维——Linux系统管理——磁盘管理

    点关注不迷路 目录 1磁盘分区管理 一、硬盘基础知识 1、硬盘的表示方法 2、查看块设备 3、硬盘分区的表示方法 4、创建文件系统/格式化 5、操作磁盘的流程 二、管理磁盘分区工具 fdisk 1、使用格式 2、查看磁盘分区 三、磁盘分区案例 1、规划 2、创建分区 3、让内核识别硬盘

    2024年02月12日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包