zoukankan      html  css  js  c++  java
  • 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锁权限

  • 相关阅读:
    CodeForces 706C Hard problem
    CodeForces 706A Beru-taxi
    CodeForces 706B Interesting drink
    CodeForces 706E Working routine
    CodeForces 706D Vasiliy's Multiset
    CodeForces 703B Mishka and trip
    CodeForces 703C Chris and Road
    POJ 1835 宇航员
    HDU 4907 Task schedule
    HDU 4911 Inversion
  • 原文地址:https://www.cnblogs.com/990114-jhc/p/11354726.html
Copyright © 2011-2022 走看看