Linux檔案系統與日誌分析

无敌小鲁班發表於2024-04-25

inode與block

inode和block概述

檔案資料包括元資訊與實際資料
檔案儲存在硬碟上,硬碟最小儲存單位是“扇區”,每個扇區儲存512位元組

block(塊)
連續的八個扇區組成一個block
是檔案存取的最小單位
inode(索引節點)
中文譯名為“索引節點”,也叫i節點
用於儲存檔案元資訊

inode的內容

inode包括檔案的元資訊
檔案的位元組數
檔案擁有者的User ID
檔案的Group ID
檔案的讀、寫、執行許可權
檔案的時間戳

Linux系統檔案三個主要的時間屬性
ctime(change time)
最後一次改變檔案或目錄(屬性)的時間
atime(access time)
最後一次訪問檔案或目錄的時間
mtime(modify time)
最後一次修改檔案或目錄(內容)的時間
目錄檔案的結構
1、目錄也是一種檔案
2、目錄檔案的結構
每個inode都有一個號碼,作業系統用inode號碼來識別不同的檔案
Linux系統內部不使用檔名,而使用inode號碼來識別檔案
對於使用者,檔名只是inode號碼便於識別的別稱

inode號碼

使用者通過檔名開啟檔案時,系統內部的過程
1、系統找到這個檔名對應的inode號碼
2、通過inode號碼,找到inode資訊
3、根據inode資訊,找到檔案資料所在的block,讀出資料
檢視inode號碼的方法
ls -i命令:查案檔名對應的inode號碼
ls -i aa.txt
stat命令:檢視檔案inode資訊中的inode號碼
stat aa.txt

inode的大小

inode也會消耗硬碟空間
1、每個inode的大小
2、一般是128位元組或256位元組
格式化檔案系統時確定inode的總數
使用df -i命令可以檢視每個硬碟分割槽的inode總數和已經使用的數量

inode的特殊作用

由於inode號碼與檔名分離,導致一些Unix/Linux系統具有以下的現象
1、當檔名包含特殊字元,可能無法正常刪除檔案,直接刪除inode,也可以刪除檔案
2、移動或重新命名檔案時,只改變檔名,不影響inode號碼
3、開啟一個檔案後,系統通過inode號碼來識別該檔案,不再考慮檔名

inode點數耗盡的實驗

1、正常對一塊磁碟分割槽、格式化、掛載
2、df -i /掛載點  檢視該掛載點的inode點的可用數量
3、vi 一個shell檔案,具體內容如下:
vi kill.sh
#! /bin/bash
i=1
while [$i  -le  19916]
do
touch /backup/file$!
let  i++
done
4、然後再df  -i查詢下inode可用數量還有沒有
5、確認inode數量沒有後,我們再touch一個新檔案,看看會是什麼結果

恢復XFS型別的檔案

xfsdump命令格式
xfsdump -f 備份存放位置 要備份的路徑或裝置檔案
xfsdump備份級別(預設為0)
0:完全備份
1-9:增量備份
xfsdump常用選項:
在這裡插入圖片描述
xfsestore命令格式
xfsrestore -f 恢復檔案的位置 存放恢復後檔案的位置
模擬刪除並執行恢復操作

日誌檔案

日誌的功能
1、用於記錄系統、程式執行中發生的各種事件
2、通過閱讀日誌,有助於診斷和解決系統故障
日誌檔案的分類
核心及系統日誌
由系統服務rsyslog同一進行管理,日誌格式基本相似
使用者日誌
記錄系統使用者登入及退出系統的相關資訊
程式日誌
由各種應用程式獨立管理的日誌檔案,記錄格式不統一
在這裡插入圖片描述

日誌儲存位置
預設位於:/var/log
主要日誌檔案介紹
核心及公共訊息日誌:/var/log/messages
計劃任務日誌:/var/log/cron
系統引導日誌:/var/log/dmesg
郵件系統日誌:/var/log/mailog
使用者登入日誌:
/valr/log/lastlog
/valr/log/secure
/valr/log/wtmp
/valr/log/btmp

核心及系統日誌

由系統服務rsyslog統一管理
軟體包:rsyslog-7.4.7-16.el7.x86_64
主要程式:/sbin/rsyslog
配置檔案:/etc/rsyslog.conf
日誌訊息的級別
在這裡插入圖片描述
日誌記錄的一般格式
時間標籤+主機名+子系統名+訊息欄位

使用者日誌分析

儲存了使用者登入/退出系統等相關資訊
/var/log/lastlog:最近的使用者登入事件
/var/log/wtmp:使用者登入、登出及系統開/關機事件
/var/run/utmp:當前登入的每個使用者的詳細資訊
/var/log/secure:與使用者驗證相關的安全性事件
分析工具
users、who、w、last、lastb

程式日誌分析

由相應的應用程式堵路進行管理
Web服務:/var/log/httpd
access_log、error_log
代理服務:/var/log/squid/
access_log、cache.log
FTP服務:/var/log/xferlog
分析工具
1、文字檢視、grep過濾檢索、Webmin管理套件中檢視
2、awk、sed等文字過濾、格式化編輯工具
3、Webalizer、Awstats等專用日誌分析工具

日誌管理策略

及時做好備份和歸檔
延長日誌儲存期限
控制日誌訪問許可權
日誌中可能會包含各類敏感資訊,如賬戶、口令等
集中管理日誌
1、將伺服器的日誌檔案發到統一的日誌檔案伺服器
2、便於日誌資訊的統一收集、整理和分析
3、杜絕日誌資訊的意外丟失、惡意篡改或刪除

相關文章