iNode:索引節點(index node)
iNode是用來存儲數據屬性信息的,iNode包含的屬性包括:
文件大小
屬組
歸屬的用戶組
讀寫權限
文件類型
修改時間
指向文件實體的指針功能(iNode節點和block的對應關系)
但是,iNode不包括文件名
iNode小結:
-
磁盤分區格式化為ext4文件系統后會生成一定數量的iNode和block
-
iNode是索引節點,作用是存放文件的屬性信息以及文件的索引(指向文件的實體block)
-
ext3/ext4文件系統的block存放的是文件的實際內容
-
Block的大小一般有1k,2k,4k,其中引導分區為1k,其他分區為4k
-
inode是一塊磁盤存儲空間,centos6非啟動分區iNode默認大小256字節,centos5是128字節
-
iNode是一串數字,不同的文件對應的iNode在文件系統里是唯一的。
-
iNode號相同的文件,互為硬鏈接文件(硬鏈接就是文件的又一個入口)
-
一個文件被創建后至少要占用一個iNode和一個block
-
如果一個文件很大,可能占多個block
-
如果文件很小,也要至少占一個block,并且剩余空間不可以使用,浪費了
-
iNode大小和總量查看:
dumpe2fs /dev/sda3|egrep -i “block size|inode size”
dumpe2fs /dev/sda3|egrep -i “block count |inode count”
-
查看iNode的總量和使用量命令df -i
-
生成和指定iNode大小,mkfs.ext4 -b 2048 -I 256 /dev/sdb
block
Block 小結:
Block 是用來存儲實際數據的。
理解:可以把iNode理解為一本書的目錄,block理解為書的每一頁。
- 磁盤讀取數據是按block為單位讀取的。
- 一個文件可能占多個block,每讀取一個block就會消耗一次磁盤I/O
- 如果要提升磁盤I/O性能,那么就要盡可能一次讀取數據多。
- 一個block只能存放一個文件的內容,無論內容有多小,如果block為4K,那么存放1k的文件,剩余的就浪費了。
- Block并非越大越好,block太大對于小文件存放就會浪費磁盤空間,
- 大文件(大于16K)一般設置block大一點,小文件(小于1k)一般設置小一點。
- Block太大例如4K,文件都是0.1k,太浪費磁盤空間。
- Block太大例如1k,文件都是1000K,消耗磁盤IO
- 文件較大時,block設置大點會提升磁盤訪問效率
- ext3/ext4文件一般設置成4k.
原創文章,作者:zhaobenshan,如若轉載,請注明出處:http://www.www58058.com/81685
文件的inode與block對應關系有命令查看嗎?