linux cpu占用率如何看
242
2022-11-02
深入理解Linux文件系统与日志文件
inode节点与block
概述:
文件数据包括云信息与实际数据
文件存储在硬盘上,硬盘最小存储单位是"扇区",每个扇区存储512字节
inode(索引节点):用于存储文件元信息
block(块):连续的八个扇区组成一个block,是文件存取的最小单位4k
【一个文件必须占用一个inode,但至少占用一个block】
inode节点故障:磁盘空间显示未满,却无法创建文件,空间被inode节点占满
inode内容
inode包含文件的元信息
【每一个文件名对应一个节点号(一一对应,映射,便于查看),cp 文件后,新生成一个节点号;rm删除后,释放;mv移动后,节点号不变】
元信息:文件的字节数,拥有者的User ID,Group ID,读、写、执行权限,时间戳
stat命令查看某个文件的inode信息
总结:inode结点
元信息(文件属性:文件大小、权限、时间戳)
block块的大小
数据文件:编写文件的内容
linux系统文件三个主要的时间属性
ctime(change time):最后一次改变文件或目录(属性)的时间
atime(access time):最后一次访问文件或目录的时间
mtime(modify time):最后一次修改文件或目录(内容)的时间
目录文件结构
目录也是一种文件
文件名1 | inode号码 |
文件名2 | inode号码 |
每一行称为一个目录项 |
每一个inode都有一个号码,操作系统用inode号码来识别不同的文件
Linux系统内部不使用文件名,而使用inode号码来识别文件
对于用户,文件名只是inode号码便于识别的别称
inode的号码
用户通过文件名打开文件时,系统内部的过程:
系统找到这个文件名对应的inode号码
通过inode号码,获取inode信息
根据inode信息,找到文件数据所在的block,读取数据
【一般inode表会占用文件系统磁盘空间的1%,一个目录文件的内容就是一个该目录下所有文件目录项的列表】
ls -i 命令:查看文件名对应的inode号码
使用stat命令,查看文件inode信息中的inode号码: stat /etc/passwd
文件存储
硬盘分区后的结构
文件名 -----> | 目录项 | 目录块 |
元信息 -----> | inode | inode表区块 |
数据 ----> | block | block数据区 |
访问文件的流程
用户访问文件----系统查找文件对应的inode;通过inode号,获取inode信息---判断用户是否具备访问权限-----是:指向对应的数据block//否:返回Permission denied
inode节点的大小
消耗硬盘空间:每个inode节点的大小,一般是128字节或256字节;
inode节点总数,在格式化的时候就确定了,一般是每1kb或每2kb就设置一个inode。
【假定在一块1GB的硬盘中,每个inode节点大小为128字节,每1kb就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘12.8%】
df -i :查看每个硬盘分区对应的inode总数和已经使用的inode数量
inode的特殊作用
inode号码与文件名分离,系统中出现以下现象:
文件名包含特殊字符,导致无法正常删除文件,直接删除inode节点,来删除文件;
法一: find 文件位置 -inum inode号码 -exec rm -i {} \;
法二: find 文件位置 -inum inode号码 -delete
移动或重命名文件,只是改变文件名,不影响inode号码;
打开一个文件后,系统就以inode号码来识别这个文件,不考虑文件名;
文件数据被修改保存后,会生成一个新的inode号码。
cp命令与inode:
分配一个空闲的inode号
在inode表中生成新条目在目录中创建一个目录项
将名称与inode编号关联拷贝数据生成新的文件
rm命令与inode
链接数递减,从而释放的inode号可以被重用把数据块放在空闲列表中
删除目录项
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
链接文件
软链接(符号链接) | 硬链接 | |
删除原始文件后 | 失效 | 仍旧可用 |
使用范围 | 适用于文件或目录 | 只可用于文件 |
保存位置 | 与原始文件可以位于不同的文件系统中 | 必须与原始文件再同一文件系统(如一个Linux分区)内 |
分类:
硬链接:ln 源文件 目标位置
软链接: ln -s 源文件或目录 链接文件或目标位置
恢复误删除的文件(当场删,当场解除挂载,恢复)
EXT类型文件恢复
【.和.. inode节点开始】
编译安装extundelete软件包
安装依赖包
e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm
e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm
CentOs 7系统默认采用xfs类型的文件,xfs类型的文件可使用xfsdump 与xfsrestore 工具进行备份恢复
xfsdump 的备份级别有两种: 0表示完全备份; 1-9表示增量备份。xfsdump的备份级别默认为0。
恢复XFS类型的文件
xfsdump命令格式
xfsdump | -f 备份存放位置要备份的路径或设备文件
-f 指定备份文件目录
-L 指定标签session label
-M 指定设备标签media labe…
-s 备份单个文件,-s后面不能直接跟路径
xfsdump使用限制:
1.只能备份已挂载的文件系统
2.必须使用root的权限才能操作
3.只能备份XFS文件系统
4.备份后的数据只能让xfsrestore解析
5.不能备份两个具有相同UUID的文件系统(可用blkid命令查看)
案例:
1创建新的分盘,建立分区
2格式化分盘
3挂载到指定目录下
4准备工作.
5
6删除目录下的所有文件
7
8
日志文件
日志功能
用于记录系统程序运行中发生的各种事件
通过阅读日志有助于诊断和解决系统故障
日志文件分类
内核及系统日志:由系统服务rsyslog统一进行管理,日志格式基本相似
用户日志:记录系统用户登陆及退出系统的相关信息
出现日志:有各种应用程序独立管理的日志文件,记录格式不统一
保存位置及介绍
默认位于:/var/log目录下
主要日志文件介绍:
内核及公共消息日志 | /var/log/messages |
计划任务日志 | /var/log/cron |
系统引导日志 | /var/log/dmesg |
邮件系统日志 | /var/log/maillog |
用户登录日志 | /var/log/lastlog /var/log/secure /var/log/wtmp /var/run/btmp |
日志消息的级别
级号 | 消息 | 级别 | 说明 |
0 | EMERG | 紧急 | 会导致主机系统不可用的情况 |
1 | ALERT | 警告 | 必须马上采取措施解决的问题 |
2 | CRIT | 严重 | 比较严重的情况 |
3 | ERR | 错误 | 运行出现错误 |
4 | WARNING | 提醒 | 可能会影响系统功能的事件 |
5 | NOTICE | 注意 | 不会影响系统但值得注意 |
6 | INFO | 信息 | 一般信息 |
7 | DEBUG | 调试 | 程序或系统调试信息等 |
日志记录的一般格式
公共日志/var/log/messages文件的记录格式
时间标签:消息发出的日期和时间
主机名:生成消息的计算机的名称
子系统名称:发出消息的应用程序的名称
消息:消息的具体内容
程序自己维护日志记录,:#记录客户访问事件
error_log :#记录错误事件
用户日志分析
/var/log/lastlog | 最近的用户登录事件 |
/var/log/wtmp | 用户登录,注销及系统开,关机事件 |
/var/log/utmp | 当前登录的每个用户的详细信息 |
/var/log/secure | 与用户验证相关的安全性事件 |
分析工具 | users , who ,w, last ,lastb |
文本查看、grep过滤检索、Webmin管理套件中查看
awk、sed、等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具
日志管理策略
及时做好本分和归档
延长日志保存期限
控制日志访问权限
日志中可能会包含各类敏感信息,如账户、口令等
集中管理日志
将服务器的日志文件发到统一的日志文件服务器
便于日志信息的统一收集、整理和分析
杜绝日志信息的意外丢失、恶意篡改或删除
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~