linux文件系統和日志分析


一、Linux文件系統

1.inode與block

1.概述:

(1)文件數據包括元信息與實際信息

 

(2)文件存儲在硬盤上,硬盤最小存儲單位是“扇區”,每個扇區存儲512字節

 

(3)block:

   *.連續的八個扇區組成一個block(4k)

   *.是文件存取的最小單位

 

 (4)inode:(索引節點)

   *.中文譯名為索引節點,也叫   i    節點

   *.用於存儲文件元信息

 

2.inode和biock的關系

                             元信息     →   inode

                              數據        →   block

*.文件數據包括實際數據與元信息(類似文件的屬性)文件數據存儲在 塊 中,存儲文件源信息(比如文件的創建者、創建日期、文件大小、文件權限等)的區域就叫做inode、因此目標也是一種文件,結構乳下圖所示:

文件名1 inode號碼1
文件名2 inode號碼2
文件名3 inode號碼3
........ .........

*.每個inode都有一個號碼,操作系統用inode號碼來識別不同的文件,Linux系統內部不使用文件名,而使用inode號碼來識別文件,對於系統來說,文件名是inode號碼便於識別的別稱文件名和inode號碼是  一  一 對應關系,每個inode號碼對應一個文件名

 

查看文件名對應inode號碼有兩種方式

1 查看文件名對應的inode號碼
ls -i
2 查看文件inode信息中的inode號碼
stat 文件名

 

3.inode包含文件的元信息

* 文件的字節數

* 文件擁有者的User ID

* 文件的Group ID

* 文件的讀、寫、執行權限

* 文件的時間戳等

 

4.Linux系統文件三個主要的時間屬性

* ctime(change time)  最后一次改變文件或目錄屬性的時間

*  atime (access time) 最后一次訪問文件或目錄的時間

*  mtime (modify time) 最后一次修改文件或目錄內容的時間

 

5.用戶通過文件名打開文件時,系統內部的過程

* 系統找到這個文件名對應的inode號碼

*  通過inode號碼,獲取inode信息

*  根據inode信息,找到文件數據所在的block,讀出數據

 

6.硬盤分區后的結構

                                          文件名   →   目錄項      目錄塊

                                          元信息   →   inode        inode 表區塊

                                          數據       →    block        biock  數據區

7.訪問文件的簡單流程

 

                                                                                                                                                       是  → 指定對應的數據biock                                                                                                                                           

用戶訪問文件----------通過文件名→系統查找文件對應的inode→判斷用戶是否具備訪問權限------|

                                                                            否 → 返回permission

                                                                                                                                                                            denied

 

8.inode的大小

* inode也會消耗硬盤空間:每個inode號的大小一般是128字節或256字節

* 格式化文件系統時確定inode的總數

* 使用df -i命令可以常看每個硬盤分區的inode總數和已經使用的數量

9.inode特點

由於inode 號碼與文件名分離,導致Linux系統具備一下幾種特有的現象

* 文件名包含特殊字符,可能無法正常刪除,直接刪除inode,能夠起到刪除文件的作用

1 刪除inode號的方法
2 【root@cocalhost~]#find ./ -inum 68201002 -exec rm -i {}\;
3 【root@cocalhost~】#find./ inum 68201002 -delete

* 移動文件或重命名文件,只是改變文件名,不影響inode號(這里指的是非掛載磁盤)

* 打開一個文件以后,系統就以inode號碼來識別這個文件,不在考慮文件名

* 文件數據被修改保存后,會生成一個新的inode號碼

 

 

 

 

 

 

10.硬連接和軟件

* 為文件或目錄建立鏈接文件

* 鏈接文件的分類和對比

操作和范圍 軟鏈接 硬鏈接
刪除原始文件后 失效 仍然可用
使用范圍 適用於文件或目錄 只可用於文件
保存位置 與原始文件可以位於不同文件系統中 必須與原始文件在同一個文件系統(如一個Linux分區)內

* 軟鏈接的格式

1 硬鏈接
ln  源文件  目標位置
2 軟鏈接
ls [-s]   源文件或者目錄...      鏈接文件或者目標位置

11.恢復誤刪的文件(EXT類型)

*1 大概步驟

(1)編譯安裝extundelete軟件包

(2)安裝依賴包

*    e2fsprogs-libs-1.41.12- 18. el6.x86_ 64.rpm

*   e2fsprogs-devel-1 41.12-18.el6.x86_ 64.rpm

(3)配置、編譯及安裝、模擬刪除並執行恢復操作

*  extundelete-0.2.4.tar.bz2

*2 詳細步驟如下添加新磁盤,具體步驟可以參考本文第三段:磁盤管理的檢測並確認新硬盤

缺新磁盤添加成功

對磁盤進行分區,更改類型

對新建的分區進行格式化,類型為ext3

掛載並查看

安裝e2fsprogs-devel 和e2fsprogs-libs程序

 從網上下載安裝e2fsprogs-devel 和e2fsprogs-libs程序

將extundelete-0.2.4.tar拖入Linux中

使用tar命令進行解壓

編譯並安裝

將安裝程序的bin目錄軟連接到環境變量的目錄下

創建文件並刪除進行測試

 12.xfs類型文件備份和恢復

1.Centos 7系統默認采用xfs類型的文件,xfs類型的文件可使用xfsdump 與xfsrestore 工具進行備份恢復。

   xfsdump的備份級別有兩種: 0表示完全備份; 1-9表示增量備份。xfsdump的備份級別默認為0。

2..xfsdump的命令格式

    xfsdump -f 備份存放位置 要備份的路徑或設備文件

3.xfsdump命令常用的選項

 

-f 指定備份文件目錄
-L 指定標簽session label
-M 指定設備標簽media label
-S 備份單個文件,-s后面不能直接跟路徑

4.xfsdump使用限制

只能備份已掛載的文件系統
必須使用root的權限才能操作
只能備份XFS文件系統
備份后的數據只能讓xfsrestore解析
不能備份兩個具有相同UUID的文件系統(可用blkid命令查看)

5.演示備份和恢復的具體步驟

將前面使用的分區sdb1進行解掛並格式化為xfs格式后重新掛載,也可以重新創建然后類型修改為xfs類型,具體步驟參考上一個實驗。

在掛載目錄創建文件用於后面測試用

查看程序是否安裝,指定備份目錄和需要備份的磁盤

創建文件並且刪除進行測試

二、日志文件

日志保存位置默認位於:/var/log目錄下

1.日志的功能

用於記錄系統、程序運行中發生的各種事件
通過閱讀日志,有助於診斷和解決系統故障

 

2.日志文件的分類

1.內核及系統日志

由系統服務rsyslog統一進行管理,日志格式基本相似
主配置文件/etc/rsyslog.conf

2.用戶日志

記錄系統用戶登錄及退出系統的相關信息

3..程序日志

由各種應用程序獨立管理的日志文件,記錄格式不統一

3.主要日志文件分類

1.內核及公共消息日志:

/var/log/messages: 記錄Linux內核消息及各種應用程序的公共日志信息,包括啟動、I0錯誤、網絡錯誤、程序故障等。
對於未使用獨立日志文件的應用程序或服務,一般都可以從該日志文件中獲得相關的事件記錄信息。

2..計划任務日志

/var/log/ cron: 記錄crond計划任務產生的事件信息。

3..系統引導日志

/var/ log/ dmesg: 記錄Linux系統在引導過程中的各種事件信息。

4.郵件系統日志:

/var/log/maillog:記錄進入或發出系統的電子郵件活動。

5..用戶登錄日志

/var/log/secure: 記錄用戶認證相關的安全事件信息。
/var/log/lastlog: 記錄每個用戶最近的登錄事件。二進制格式
/var/log/wtmp: 記錄每個用戶登錄、注銷及系統啟動和停機事件。二進制格式
/var/ run/btmp: 記錄失敗的、錯誤的登錄嘗試及驗證事件。二進制格式

6.日志配置文件和日志消息等級

vim /etc/rsyslog.conf #查看rsyslog.conf配置文件
* . info;mail.none;authpriv.none;cron.none /var/log/messages
*.info #表示info等級及以上的所有等級的信息都寫到對應的日志文件里
mail.none #表示某事件的信息不寫到日志文件里(這里比如是郵件)

Linux系統內核日志消息的優先級別(數字等級越小,優先級越高,消息越重要):

級別 消息 級別 具體描述
0 EMERG 緊急 會導致主機系統不可用的情況
1 ALERT 警告 必須馬上采取措施解決的問題
2 CRIT 嚴重 比較嚴重的情況
3 ERR 錯誤 運行出現錯誤
4 WARNING 提醒 可能影響系統功能,需要提醒用戶的重要事件
5 NOTICE 注意 不會影響正常功能,但是需要注意的事件
6 INFO 信息 一般信息
7 DEBUG 調試 程序或系統調試信息等

7..日志記錄的一般格式

 

8.分析工具

users、who、 W、last、 lastb
last命令用於查詢成功登錄到系統的用戶記錄

lastb命令用於查詢登錄失敗的用戶記錄

9..程序日志分析:由相應的應用程序獨立進行管理

access_log ——記錄客戶訪問事件
error_log ——記錄錯誤事件

10.代理服務:/var/log/squid/

access.log、cache.log
分析工具
文本查看、grep過來檢索、Webmin管理套件中查看
awk、sed等文本過濾、格式化編輯工具
Webalizer、Awstats等專用日志分析工具

 

11.日志管理策略

及時做好備份和歸檔
延長日志保存期限
控制日志訪問權限
日志中可能會包含各類敏感信息,如賬戶和口令等
*1.集中管理日志
將服務器的日志文件發到統一-的日志文件服務器
便於日志信息的統- -收集、 整理和分析
杜絕日志信息的意外丟失、惡意篡改或刪除


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM