RHEL7.2 如何設定block
[root@localhost ~]# mkfs.xfs -b size=1024 /dev/sdb1 -f
meta-data=/dev/sdb1 isize=256 agcount=4, agsize=24064 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=1024 blocks=96256, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=1024 blocks=2564, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
注:
[root@localhost ~]# mkfs.ext4 -b 1024 /dev/sdb1
Linux檔案系統由三部分組成 :檔案名,inode,block(真正存資料)
inode:檔案資料都儲存在"塊"中,那麼很顯然,我們還必須找到一個地方儲存檔案的元資訊,比如檔案的建立者、檔案的建立日期、檔案的大小等等。這種儲存檔案元資訊的區域就叫做inode,中文譯名為"索引節點"。
inode的内容
inode包含檔案的元資訊,具體來說有以下内容:
檔案的位元組數
檔案擁有者的User ID
檔案的Group ID
檔案的讀、寫、執行權限
檔案的時間戳,共有三個:ctime指inode上一次變動的時間,mtime指檔案内容上一次變動的時間,atime指檔案上一次打開的時間。
連結數,即有多少檔案名指向這個inode
檔案資料block的位置
[root@localhost ~]# stat a.txt
File: ‘a.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 36433003 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-02-24 08:45:42.182854288 -0500
Modify: 2016-02-24 08:45:42.182854288 -0500
Change: 2016-02-24 08:45:42.182854288 -0500
[root@localhost ~]# ll a.txt
-rw-r--r-- 1 root root 0 Feb 24 08:45 a.txt
inode的大小
inode也會消耗硬碟空間,是以硬碟格式化的時候,作業系統自動将硬碟分成兩個區域。一個是資料區,存放檔案資料;另一個是inode區(inode table),存放inode所包含的資訊。
16G
1 G = 1024 MB =1024 1024 KB
1 G = 1000 MB =1000 1000 KB
檢視每個硬碟分區的inode總數和已經使用的數量,可以使用df指令。
[root@localhost ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/rhel-root 10485760 138134 10347626 2% /
devtmpfs 500087 404 499683 1% /dev
tmpfs 503976 6 503970 1% /dev/shm
tmpfs 503976 563 503413 1% /run
tmpfs 503976 13 503963 1% /sys/fs/cgroup
/dev/sr0 0 0 0 - /mnt
/dev/sda1 204800 327 204473 1% /boot
tmpfs 503976 17 503959 1% /run/user/42
tmpfs 503976 1 503975 1% /run/user/0
使用ls -i指令,可以看到檔案名對應的inode号碼:
[root@localhost ~]# ls -i a.txt
36433003 a.txt
檢視目錄的inode号
[root@localhost ~]# ll -di /etc/
16777345 drwxr-xr-x. 136 root root 8192 Feb 24 08:03 /etc/
擴充:linux中ctime,mtime,atime的差別
ctime:“改變時間(change time)”
mtime :“修改時間(modification time)”
改變和修改之間的差別在于是改檔案的屬性還是更改它的内容。chmod a-w myfile,那麼這是一個改變;
echo foo >> myfile,那麼這是一個修改。
改變是檔案的索引節點發生了改變;修改是文本本身的内容發生了變化。
atime :“通路時間(access time)”
通路時間是檔案最後一次被讀取的時間。是以閱讀一個檔案會更新它的通路時間。但是它的改變時間和修改時間并沒有變。
ls -lc filename 列出檔案的 ctime
ls -lu filename 列出檔案的 atime
ls -l filename 列出檔案的 mtime
執行個體:
web伺服器中小檔案很多,導緻硬碟有空間,但無法建立檔案。
inode數被用光了。
/dev/mapper/rhel-root 10485760 138138 10347622 2% /
本文轉自信自己belive51CTO部落格,原文連結: http://blog.51cto.com/11638205/2048928,如需轉載請自行聯系原作者