Linux文件系统与日志分析

inode 与 block 详解

        inode 和 block 概述

                格式化的时候被确定的inode、block 

                 inode的内容

                        inode:i节点(索引号:依靠某个指针或依靠某个目录找到要的那些数据)

                                元数据(mate data):

                                        xfs:占512字节(不是固定的,可调节的,但是不能调太小)

                                        ext4:占256字节(不是固定的,可调节的,但是不能调太小)

                        block:块(管理文件的最小管理单元)

                                下面这些都可以称为块:

                                    xfs文件系统(在操作系统层面管理文件的):4096(输入输出大小)

                                      该文件如果不足4096,那么文件系统会给该文件分配多大的空间还是4096

                                        (例如:10000字节:

                                                3块:

                                                        4096

                                                        4096

                                                        4096(10000-8192:实际第3块占的)

                                                        (注:每个文件独占一个块,不管占完还是没有都是独占)

                                    磁盘IO:1024

                                    扇区IO(硬盘在管理文件时候的最小IO单元):512(磁盘在管理文件的时候最小输入输出的大小)

                                        文件后面没有带单位的数字后的大小默认是字节

                        硬链接与软链接

                                硬链接

                                        把磁盘上所存的文件在操作系统层面起一个名字,对应的磁盘上的文件就是一种链接,就是硬链接

                                        在操作系统里每个文件至少要有一个硬链接

                                软链接

                                        也称为符号链接,它并不指向文件本身,而是指向一个含有文件路径名的字符串,因此软连接和原文件本质上是不同的文件,具有不同的inode号。

                                创建方式

                                        硬链接:通过给文件创建一个新的名称来创建,使用1n命令,无需添加任何选项。

                                        软连接:通过创建一个指向原文件路径的链接文件来创建,使用1n-s命令。

                                        链接数与文件删除:硬链接:创建硬链接时,原文件的链接数会递增。只有当链接数为零时,文件才会被删除。软连接:软连接的创建和删除对原文件的链接数没有影响。如果删除原文件,软连接将失效。

                                跨文件系统与分区

                                        硬链接:不能跨文件系统或分区创建

                                        软连接:可以跨文件系统或分区创建,甚至可以链接到远程的文件系统上的文件。

                                目录链接

                                        硬链接:不支持对目录创建硬链接

                                        软连接:可以创建指向目录的软连接

                                相互关系与依赖性

                                        硬链接:与原文件是平级关系,不存在依赖,

                                        软连接:依赖于原文件,如果原文件被移动、重命名或删除,软连接可能会失效

                                路径

                                        硬链接:创建的是相对于当前工作目录的路径,

                                        软连接:创建的是相对于软连接文件的路径,可以是绝对路径或相对路径。

                                使用场景与灵活性

                                        硬链接:由于硬链接与原文件是同一文件的两个名称,因此它们共享相同的文件内容和属性。这提供了数据冗余性,但灵活性较低。

                                        创建文件硬链接:ln文件地址链地址

        恢复误删除的文件

                EXT:

                        安装其依赖软件:yumyinstalle2fsprogs-devel e2fsprogs-libs gcc

                        解压拖拽过来的压缩包:tar xvfextundelete-0.2.4.tar.bz2

                        解压后进入压缩包内:cdextundelete-0.2.4

                        配置:./configure--prefix=/usr/local/extundelete

                        执行脚本,指定安装参数安装路径

                        编译:make

                        编译安装:make instal1

                        创建一个软链接:ln-s /usr/local/extundeletr/bin/ /usr/bin/退出:cd

                        格式ext3:mkfs-t ext3 /dev/sdbl

                        挂载:mount /dev/sdbl/data

                        进入data下:cd /data/

                        查看:ls(lost+found:有备份功能)模拟误删环境:echo a>aecho a>becho a>cecho a>d查看:ls

                        误删a,b:rm -rf ab

                        查看:ls

                        切换:cd

                        查看进程:fuser -mv/dev/sdbl

                        取消进程:kill-9进程号

                        切换:cd

                        取消挂载:umount /data/

                        使用解压包恢复:extundelete /dev/sdbl --restore-all

                        进入开头为RE的文件:cd RECOVEREDFILES

                        查看恢复文件:ls

                        查看内容:cat 文件名

                        现在的操作系统创建时间不显示是已经被废弃了,但是保留了这个属性

                        atime(access time)最近访问:是查看文件信息

                        mtime(modify time)最近更改:是文件信息

                        ctime(change time)最近改动:是文件属性的时间

xfs 类型文件备份和恢复

        所需工具:yumyinstall xfsdump xfsrestore格式化为xfs:mkfs -t xfs-f /dev/sdbl

        挂载:mount /dev/sdbl /aaa

        测试:

                进入aaa:cd /aaa

                填写数据:echo a>a echo b>b echo c>c

                切换:cd

                备份文件:xfsdump -f /bbb/sdb1-1 /aaa

                xfsdump -f备份位置 备份文件

                切换:cd

                误删后恢复文件:xfsrestore -f 备份位置 备份文件

                xfsdump 的备份级别有两种:

                0 表示完全备份;

                1-9 表示增量备份。

                xfsdump 的备份级别默认为 0。

                xfsdump 的命令格式为: xfsdump -f 备份存放位置要备份路径或设备文件

        常用的备份参数包括以下几种:

                -f:指定备份文件目录;

                -L:指定标签 session label;

                -M:指定设备标签 media label;

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

主要日志文件

        日志数据主要包括以下三种类型:

                内核及系统日志:这种日志数据由系统服务 rsyslog 统一管理,根据其主配置文件/etc/rsyslog.conf 中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中有相当一部分程序会把自己的日志文件交由 rsyslog 管理,因而这些程序使用的日志记录也具有相似的格式。

                用户日志:这种日志数据用于记录 Linux 操作系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。

                程序日志:有些应用程序会选择由自己独立管理一份日志文件(而不是交给 rsyslog服务管理),用于记录本程序运行过程中的各种事件信息。由于这些程序只负责管理自己的日志文件,因此不同程序所使用的日志记录格式可能会存在较大的差异。

        常见的一些日志文件:

        /var/log/messages:记录 Linux 内核消息及各种应用程序的公共日志信息,包括启动、I/0 错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息

                /var/log/cron:记录 crond 计划任务产生的事件信息

                /var/log/dmesg:记录 Linux 操作系统在引导过程中的各种事件信息

                /var/log/maillog:记录进入或发出系统的电子邮件活动

                /var/log/lastlog:记录每个用户最近的登录事件

                /var/log/secure:记录用户认证相关的安全事件信息

                /var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件

                /var/log/btmp:记录失败的、错误的登录尝试及验证事件

        查看:tail messages

        查看wtmp:w

日志文件分析

        内核及系统日志

                0 EMERG(紧急):会导致主机系统不可用的情况。

                1 ALERT(警告):必须马上采取措施解决的问题。

                2 CRIT(严重):比较严重的情况。

                3 ERR(错误):运行出现错误。

                4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。

                5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。

                6 INFO(信息):一般信息。

                7 DEBUG(调试):程序或系统调试信息等

        用户日志

                查询当前登录的用户情况——users、who、w 命令

                w 命令用于显示当前系统中的每个用户及其所运行的进程信息,比 users、who 命令的输出内容要丰富一些。

                查询用户登录的历史记录——last、lastb 命令

                lastb 命令用于查询登录失败的用户记录

        程序日志

                用户在非常规的时间登录,或者用户登录系统的 IP 地址和以往的不一样。

                用户登录失败的日志记录,尤其是那些一再连续尝试进入失败的日志记录。

                非法使用或不正当使用超级用户权限。

                无故或者非法重新启动各项网络服务的记录。

                不正常的日志记录,如日志残缺不全,或者是诸如 wtmp 这样的日志文件无故缺少了中间的记录文件

        systemctl stop firewalld:多主机之间通信会有防火墙拦截,(注:还没学防火墙之前)可以提前关闭,为防火墙添加允许的安全策略,仅允许指定的流量访问

        防火墙不能关闭,找到该程序用的端口,然后在防火墙里把这个端口开启,允许访问指定的端口,相应的流量就可以进入了

内核安全机制

        setenforce 0(注:做实验时要关闭,不关闭,有些程序无法正常运行),保证多个主机之间通信不会受到影响

        每一个程序在运行的时候它都对应了一个文件,是这个程序的文件,叫配置文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值