创建一个文件后,会同时创建一个inode和一个block,inode存放的是文件的属性信息,但是不包括文件名,并存放所对应数据所在的block块的地址的指针;block存放文件的数据,每个block最多存放一个文件,而当一个block存放不下的情况下,会占用下一个block。
linux里文件的文件名、文件属性、文件内容是分别存储的:文件名存放在目录项(即dentry)中,文件属性存放在inode中,一般情况下,每个inode占用2048byte,即256字节的磁盘空间文件内容存放在数据块中。
block块可以用mkfs.ext4 -b来制定快的大小,每个block块最多可存放一个文件,所以一般block块的大小设置要根据我们的应用了设置,如果这个服务器较多用来存放一些多的小文件,那就可以把block块的大小设置的小一些,不至于浪费空间,而当存放的都是大数据时就需要把block设置的大些,这样可以减少对磁盘block的读取次数,也可以减少inode的记录负担。
block越大,inode越少,适合存储大文件的文件系统;block越小,inode越多,适合存储文件多而小的文件系统。
mkfs.ext4 -b 1024 -i 1024 /dev/sde //定义inode号与block size号一致,对小文件来说更优。整个系统所能存储的文件数较少
mkfs.ext4 -b 1024 -i 4096 /dev/sde //改变block size,使4个block与1个inode相对应,这种好处是对大文件来说节省空间,节省inode数量,整个系统所能存储的文件数较多