linux系統中的文件或目錄的屬性主要包括:引索節點(indoe)、文件類型、權限屬性、連接數、所歸屬的用戶和用戶組、最近修改時間。
索引節點indoe index node
CentOS5 inode的默認大小是128字節,centos6 默認大小是256字節。inode的大小在文件系統格式化後固定不變,無法更改,格式化前可以指定inode的大小。但一般不會去改。查看inode大小命令:
一個文件至少佔用一個inode和一個block。block是實習存放內容的地方。block分大了,會浪費磁盤空間,分小了,影響磁盤讀取性能,一般生產環境設置block大小爲4K
問100M的磁盤空間,寫入1K文件,1M的文件。分別能寫多少??
inode 存放文件屬性信息,默認大小128byt 256byt(C6)
block 是存放文件的實際內容,默認大小1K(boot)或4K(非系統分區默認4K)
一個文件至少佔用1個inode和1個block
知道這3點信息,剩下的就是數學方程式解決了。
2.硬鏈接(hard link)與軟鏈接(symbolic),之前有提到,創建鏈接的命令時ln,默認不帶參數是創建硬鏈接,參數-s是創建軟鏈接。
硬鏈接是指通過索引節點(inode)來鏈接,多個文件名指向同一個索引節點的情況是允許的,這種就成爲硬鏈接。
軟鏈接,類似於window中的快捷方式。
實戰演練:模擬磁盤空間被佔滿,刪除相關文件。
yum install httpd -y ##安裝httpd服務
/etc/init.d/httpd start
lsof -i :80
dd if=/dev/zero of=/dev/sdc bs=8K count=10 ##創建小的文件系統 80K
ls -l /dev/sdc
mkfs -t ext3 /dev/sdc
[root@mode ~]# mkdir /app/log -p
[root@mode ~]# mount -o loop /dev/sdc /app/log
[root@mode ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.6G 2.6G 3.8G 41% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 760M 0 760M 0% /dev/shm
/dev/sdc 73K 14K 55K 21% /app/log
[root@mode httpd]# cd /etc/httpd/conf ##修改日誌存放的路徑 讓web服務往/app/log寫日誌
[root@mode conf]# vi httpd.conf
[root@mode conf]# /etc/init.d/httpd restart
####516行路徑改成/app/log……
[root@mode conf]# tail -f /app/log/access_log
##跟蹤文件變化,此時瀏覽器中輸入Linux的IP地##址,能打開Apache的網站,而且這個日誌文件會有變化,不斷出刷新網站,該文件也會不斷增加。
for n in `seq 100000`;do curl -s 192.168.1.10 >/dev/null;done
##訪問10萬次,來填滿日誌文件
[root@mode conf]# df -h ##查看磁盤信息 發現sdc盤已經滿了 就此我們的環境就模擬完成
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.6G 2.6G 3.8G 41% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 760M 0 760M 0% /dev/shm
/dev/sdc 73K 73K 0 100% /app/log
我們模擬了一個被充滿的磁盤sdc,模擬環境也是運維中的重要部分,下面我們就來驗證怎麼去徹底刪除文件,來釋放磁盤空間。
[root@mode conf]# cd /app/log/
[root@mode log]# rm -f access_log
[root@mode log]# df -h|grep sdc
/dev/sdc 73K 73K 0 100% /app/log
##在刪除了access_log 文件後,我們查看磁盤信息,發現sdc依然是滿的,並沒有釋放
[root@mode log]# /etc/init.d/httpd restart
[root@mode log]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.6G 2.6G 3.8G 41% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 760M 0 760M 0% /dev/shm
/dev/sdc 73K 14K 55K 21% /app/log
##在重啓服務後,在看sdc盤,我們發現一部分的空間已經釋放了。
博文轉載:http://oldboy.blog.51cto.com/2561410/612351