一、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.集中管理日志 |
將服務器的日志文件發到統一-的日志文件服務器 |
便於日志信息的統- -收集、 整理和分析 |
杜絕日志信息的意外丟失、惡意篡改或刪除 |