Linux 檔案系統與日誌分析的相關知識
Linux 檔案系統與日誌分析的相關知識
一、indoe和block概述
1、檔案資料
包括元資訊與實際資料
檔案儲存在硬碟上,硬碟最小儲存單位是扇區,每個扇區儲存512位元組
檔案資料儲存在塊中。儲存檔案元資訊(比如檔案的建立者、建立日期、檔案大小、檔案許可權等)的區域叫做inode。因此,一個檔案必須佔用一個inode,並且至少佔用一個block。
inode不包含檔名。檔名是存放在目錄當中的。Linux系統中一切皆為檔案,因此目錄也是一種檔案
2、block(塊)
連續的八個扇區組成一個block(塊)
是檔案存取的最小單位
作業系統讀取硬碟的時候是一次性連續讀取多個扇區,即一個塊一個塊的讀取
3、inode(索引節點)
中文譯名為“索引節點”,也叫i節點
用於儲存檔案元資訊
每個inode都有一個號碼,作業系統用inode號碼便於識別的別稱,檔名和inode號碼是一一對應關係,每個inode號碼對應一個檔名,所有,當使用者在Linux系統中試圖訪問一個檔案時,系統會先根據檔名去查詢他對應的inode號碼;通告inode號碼,獲取inode資訊;根據inode資訊,看該使用者是否具有訪問這個檔案的許可權;如果有,就指向相對應的資料block,並讀取資料
4、inode的內容
檔案的位元組數
檔案擁有者的User ID
檔案的group ID
檔案的讀、寫、執行許可權
檔案的時間戳
5、檢視inode號的方式
ls -i 檔名
stat 檔名
inode號刪除
find ./ -inum 52305140 -exec rm -i {} \
find ./ -inum 52305140 -delete
6、Linux系統檔案三個主要時間屬性
ctime(change time)
最後一次改變檔案或目錄的時間
atime(access time)
最後一次訪問檔案或目錄的時間
mtime(modify time)
最後一次修改檔案或目錄的時間
7、inode的內容
目錄檔案的結構:目錄也是一種檔案;目錄檔案的結構
檔名1 | inode號碼1 |
---|---|
檔名2**** | inode號碼2 |
… | … |
每個inode都有一個號碼,作業系統用inode號碼來識別不同的檔案
Linux系統內部不使用檔名,而使用inode號碼來識別檔案
對於使用者,檔名只是inode號碼便於識別的別稱
8、inode的號碼
使用者通過檔名開啟檔案時,系統內部的過程
通過找到這個檔名對應的inode號碼
通過inode號碼,獲取inode資訊
根據inode,找到檔案資料所在block,讀出資料
9、inode的大小
inode也會消耗硬碟空間:每個inode的大小一般是128位元組或256位元組
格式化檔案系統時確定inode的總數
使用df -i命令可以查詢每個硬碟分割槽的inode總數和已經使用的數量
10、inode的特殊作用
由於inode號碼與檔案分離,導致一些Unix/Linux系統具有以下的現象
當檔名包含特殊字元,可能無法正常刪除檔案,直接刪除inode,也可以刪除檔案
移動或重新命名檔案時,值改變檔名,不影響inode號碼
開啟一個檔案後,系統通過inode號碼來識別該檔案,不再考慮檔名
二、檔案儲存小結
1、硬碟分割槽後的結構
2、訪問檔案的簡單流程
三、節點耗盡故障處理
使用fdisk建立分割槽、dev/sdb1
fdisk/dev/sdb
mkfs.ext4 /dev/sdb1
mkdir /fff
mount /dev/sdb1 /fff
模擬inode節點耗盡故障
for ((i=1;i=25688;i++))do touch /fff/abc$i;done
df -i
df -hT
刪除檔案
rm -rf /fff/*
df -i
四、EXT型別檔案恢復
extundelete是一個開源的Linux資料恢復工具,支援ext3、ext4檔案系統(ext4只能在centos6版本恢復)
#使用fdisk建立分割槽/dev/sdc1,格式化ext3檔案系統
fdisk /dev/sdb
mkfs.ext3 /dev/sdb1
mkdir /111
mount /dev/sdb1 /111
df -hT
安裝依賴包
yum -y install e2fsprogs-devel e2fsprogs-libs
編譯安裝extundelete
cd /111
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4
tar jxvf extundelete -0.2.4.tar.bz2
cd extundelete-0.2.4/
./configure --prefix=/usr/local/extundelete && make && make install
ln -s /usr/local/extundelete/bin/* /usr/bin/
模擬刪除並執行恢復操作
cd /test
echo a>a
echo a>b
echo a>c
echo a>d
ls
extundelete /dev/sdb1 --inode 2 檢視檔案系統/dev/sdc1下存在哪些檔案,i節點是從2開始的,2代表該檔案系統最開始的目錄
rm -rf a b
extundelete /dev/sdb1 --inode 2
cd ~
umount /111
extundelete /dev/sdb1 --restore-all --------------恢復/dev/sdb1檔案系統下的所有內容
在當前目錄下會出現一個RECOVERED_FILES/目錄,裡面儲存了已經恢復的檔案
ls RECOVERED_FILES/
五、xfs型別檔案備份和恢復
CentOS 7系統預設採用xfs型別的檔案,xfs型別的檔案可使用xfsdump與xfsrestore工具進行備份恢復。
xfsdump的備份級別有兩種:0表示完全備份;1-9表示增量具備。xfsdump的備份級別預設為0
xfsdump的命令格式為:
xfsdump -f備份存放位置 要備份的路徑或裝置檔案
xfsdump命令常用選項
-f:指定備份檔案目錄
-L:指定票錢session label
-M:指定裝置標籤media label
-s:備份單個檔案,-s後面不能直接跟路徑
xfsdump使用限制:
①只能備份已掛在的檔案系統
②必須使用root的許可權才能操作
③只能備份xfs檔案系統
④備份後的資料只能讓xfsrestore解析
⑤不能備份兩個具有相同UUID的檔案系統
操作步驟:
使用fdisk建立分割槽/dev/sdb
partprobe /dev/sdb
mkfs.xfs /dev/sdb1
mkdir /data
mount /dev/sdb1 /data
cd /data
cp /etc/passwd ./
mkdir test
touch test.txt
使用xfsdump命令備份整個分割槽
rpm -qa | grep xfsdump
yum install -y xfsdump
xfsdump -f /opt/dump_sdb1 /dev/sdb1[-L dump_sddb1 -M sdb1]
模擬資料丟失並使用xfsrestore命令恢復檔案
cd /data
rm -rf ./*
ls
xfsrestore -f /opt/dump_sdb1 /data/
六、日誌檔案
1、日誌的功能
用於記錄系統、程式執行中發生的各種事件
通告閱讀日誌,有助於診斷和接解決系統故障
2、日誌檔案的分類
①核心及系統日誌
遊戲廳服務rsyslog同一進行管理,日誌格式基本相似
主配置檔案/etc/rsyslog.conf
②使用者日誌
記錄系統使用者登入及退出系統的相關資訊
③程式日誌
3、日誌儲存位置
預設位於:/var/log目錄下
4、主要日誌檔案介紹
核心及公共訊息日誌 | /var/logmessages |
---|---|
計劃任務日誌 | /var/log/cron |
系統引導日誌 | /var/log/dmesg |
郵件系統日誌 | /var/log/maillog |
使用者登入日誌 | /var/log/lastlog;/var/log/secure;/var/log/wtmp**;/var/run/btmp**** |
補充:
核心及公共訊息日誌:
記錄Linux核心訊息及各種應用程式的公共日誌資訊,包括啟動、IO錯誤、網路錯誤、程式故障等。對於未使用獨立日誌檔案的應用程式或服務,一般都可以從該日誌檔案中獲得相關的時間記錄資訊
計劃任務日誌:
記錄crond計劃任務產生的時間資訊
系統引導日誌:
記錄Linux系統在引導過程中的各種時間資訊
郵件系統日誌:
記錄進入或發出系統的電子郵件活動
使用者登入日誌:
/var/log/lastlog:記錄使用者認證相關的安全事件資訊
/var/log/secure:記錄每個使用者最近的登入時間。二進位制格式
/var/log/utmp:記錄每個使用者登入、登出及系統啟動和停機時間。二進位制格式
/var/run/btmp:記錄失敗的、錯誤的登入嘗試及驗證時間。二進位制格式
分析工具
users、who、w、last、lastb
last命令用於查詢成功登入到系統的使用者記錄
lastb命令用於查詢登入失敗的使用者記錄
七、核心及系統日誌
1、有系統服務rsyslog統一管理
①軟體包
rsyslog-7.4.7-16.e17.x86_64
②主要程式
/sbin/rsyslogd
③檢視rsyslogconf配置檔案
vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info-----------------表示info登記以上的所有等級的資訊都寫到對應的日誌檔案裡
2、日誌訊息的級別
Linux系統核心日誌訊息的優先順序別(數字等級越小,優先等級越高,訊息越重要)
級號 | 訊息 | 級別 | 說明 |
---|---|---|---|
0 | EMERG | 緊急 | 會導致主機系統不可用的情況 |
1 | ALERT | 警告 | 必須馬上採用措施解決的問題 |
2 | CRIT | 嚴重 | 比較嚴重的情況 |
3 | ERR | 錯誤 | 執行出現錯誤 |
4 | WARNING | 提醒 | 可能會影響系統功能的時間 |
5 | NOTICE | 注意 | 不會影響系統但值得注意 |
6 | INFO | 資訊 | 一般資訊 |
7 | DEBUG | 調式 | 程式或系統調式等資訊 |
八、程式日誌分析
1、有相應的應用程式獨立進行管理
web服務:/var/log/httpd/
access_log ---------記錄客戶訪問事件
error_log ----------記錄錯誤事件
代理服務:/var/log/squid/
access.log、cache.log
分析工具
文字檢視、grep過濾檢索、Webmin管理套件中檢視
awk、sed等文字過濾、格式化編輯工具
Webalizer、Awstats等專用日誌分析工具
2、日誌管理策略
及時做好備份和歸檔
延長日誌儲存期限
控制日誌訪問許可權
日誌中可能會包含各類敏感資訊,如賬戶、口令等
集中管理日誌
將伺服器的日誌檔案發到統一的日誌檔案伺服器
便於值資訊的統一收集、整理和分析
資訊 | 一般資訊 |
| 7 | DEBUG | 調式 | 程式或系統調式等資訊 |
八、程式日誌分析
1、有相應的應用程式獨立進行管理
web服務:/var/log/httpd/
access_log ---------記錄客戶訪問事件
error_log ----------記錄錯誤事件
代理服務:/var/log/squid/
access.log、cache.log
分析工具
文字檢視、grep過濾檢索、Webmin管理套件中檢視
awk、sed等文字過濾、格式化編輯工具
Webalizer、Awstats等專用日誌分析工具
2、日誌管理策略
及時做好備份和歸檔
延長日誌儲存期限
控制日誌訪問許可權
日誌中可能會包含各類敏感資訊,如賬戶、口令等
集中管理日誌
將伺服器的日誌檔案發到統一的日誌檔案伺服器
便於值資訊的統一收集、整理和分析
杜絕日誌資訊的以外丟失、惡意篡改或刪除
相關文章
- Linux檔案系統與日誌分析Linux
- Linux--檔案系統與日誌分析Linux
- linux檔案系統和日誌分析Linux
- 日誌系統相關
- Linux 日誌檔案系統如何工作Linux
- linux系統配置及相關檔案Linux
- Linux 檔案系統相關的基本概念Linux
- 在Linux中,有哪些系統日誌檔案?Linux
- Linux系統定時清空日誌內容和刪除日誌檔案教程。Linux
- Linux 查詢 日誌 相關命令Linux
- 在Linux中,某個賬號登陸linux後,系統會在哪些日誌檔案中記錄相關資訊?Linux
- Android測試日誌檔案抓取與分析Android
- Linux系統日誌分為哪幾種?日誌檔案包括幾列內容?Linux
- 作業系統相關知識總結作業系統
- Linux系統常見的日誌檔案及優先順序別!Linux
- linux系統相關概念與配置Linux
- Python - 基礎知識專題 - 配置檔案與日誌管理(正在寫作)Python
- Linux系統中五款好用的日誌分析工具Linux
- CAP 與 Raft 相關知識Raft
- Linux系統級日誌系統Linux
- 【linux】Linux程式相關知識學習整理Linux
- ELK日誌分析系統
- 檔案包含漏洞相關知識總結-千鋒教育
- 如何系統的學習伺服器相關知識?伺服器
- linux 日誌log檔案 截斷Linux
- Linux磁碟管理與檔案系統(關於磁碟方面)Linux
- tempdb日誌檔案暴增分析
- Linux檔案管理相關命令Linux
- Springboot日誌相關Spring Boot
- 系統日誌及資料庫相關資訊收集資料庫
- linux與使用者賬號有關的系統檔案Linux
- 【Linux入門教程】4 使用者管理、系統效能分析、系統日誌及日誌分析、訊號機制與訊號處理Linux
- 座標系相關知識科普
- 分散式檔案系統(HDFS)與 linux系統檔案系統 對比分散式Linux
- 標準IO和系統IO的相關知識積累
- Redis的相關知識Redis
- /proc的相關知識
- 樹莓派Linux——檔案系統認知樹莓派Linux