indoe与block解析

 

 

1.indoe与block

indoe用于指向block块的指针(代表着原信息)

block 块用来存储实际数据,每块block块大小为4KB(代表块信息)

创建一个文件后,会同时创建一个inode和一个block,inode存放的是文件的属性信息,但是不包括文件名,并存放所对应数据所在的block块的地址的指针。

block存放文件的数据,每个block最多存放一个文件,而当一个block存放不下的情况下,会占用下一个block。

一般情况下,每个inode占用1024 byte,即128字节的磁盘空间文件内容存放在数据块中。

每个block块最多可存放一个文件,所以一般block块的大小设置要根据我们服务器的应用了设置,如果这个服务器较多用来存放一些多的小文件,那就可以把block块的大小设置的小一些,不至于浪费空间,而当存放的都是大数据时就需要把block设置的大些,这样可以减少对磁盘block的读取次数,也可以减少inode的记录负担。

block越大,inode越少,适合存储大文件的文件系统;block越小,inode越多,适合存储文件多而小的文件系统。
系统运行时,inode和block会在修改后内存与磁盘做一个同步,我们用ls -li列出来的内容这是内存中的暂存,所以有时候系统非正常的关机会导致block和inode的不同步问题。
2.系统内部打开文件的步骤
(1.)系统找到这个文件名对应的inode号码
(2.)通过inode号码获取inode信息
(3.)根据inode信息找到文件数据所在的block,读取数据
3.查看文件的inode号码:
ls -i 文件名
stat 文件名
4.删除指定inode号对应的文件
格式:find ./ -inum inode 号 -exec rm -i {}\;
ll -i 查看文件的inode号,将其删除
5.查看文件系统的inode 和block信息
df -i   设备名 (挂载的情况下,查询inode总数和已用数量)
非挂载情况查询:(只能查询ext4文件系统)
dumpe2fs -h 设备名 
tune2fs -l 设备名
6.格式化时可指定文件系统的inode数量及block大小
mkfs.ext4 -N 10000 -b 1024 /dev/sdb1
-N 指定inode数量
-b 指定biock块大小,单位是KB
7.inode耗尽导致磁盘故障
(1.)删除不使用的文件
(2.)将文件进行备份,格式化文件系统并指定inode的数量
nkdir /backup
mv /test/* /backup/
umount /dev/sdb1
mkfs.ext4 -N 10000 /dev/sdb1
8.Linux文件链接
(1.)硬链接 :ln 源文件  目标文件
硬链接指向inode,新生成的硬链接文件的inode号与源文件的inode号相同,不可针对目录进行硬链接,必须在同一个文件系统内。删除一个文件名,不影响另一个的访问
(2.)软连接 :ln -s 源文件或目录  目标文件或目录
软连接指向文件名,新生成的软连接文件的inode号与源文件不同,目录也可以生成软连接,当源文件移动或重命名时,软链接会报错
(3.)硬链接与软连接的对比

9.日志文件

(1.)内核及系统日志

大部分日志文件存放于 /var/log/message目录下

主配置文件目录:/etc/rsyslog.conf

常见格式及含义:

(2.)用户日志

记录Linux系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、进程操作等

(3.)程序日志

某些应用程序选择由自己独立管理一份日志文件,用于记录程序自己进程过程中的事件信息

常见日志文件及查看方式:

日志消息的级别

10.对于日志文件的保护

chattr +a 日志文件  ,为该日志文件加a锁,将内容只可追加不可删除或修改

chattr +a -R  递归式追加a锁  ,将整个目录做a锁权限

 

 

 

posted @ 2019-08-19 20:35  Joshua¥A¥  阅读(304)  评论(0编辑  收藏  举报