日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux文件系统与日志分析(inode、inode节点耗尽故障处理、文件备份和恢复、日志文件管理)

發布時間:2024/2/28 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux文件系统与日志分析(inode、inode节点耗尽故障处理、文件备份和恢复、日志文件管理) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux文件系統與日志分析

  • 一、inode和block概述
    • 1.文件和扇區
    • 2.塊(block)
    • 3.文件數據
  • 二、inode(索引節點)
    • 1.inode的內容
    • 2.inode的號碼
    • 3.inode的大小
    • 3.inode的特殊作用
    • 4.通過刪除inode號刪除文件
  • 三、模擬inode節點耗盡故障處理
    • 演示
  • 四、EXT類型文件恢復
  • 五、xfs 類型文件備份和恢復
  • 六、系統日志
    • 1.日志文件
      • 1.1 日志的功能
      • 1.2 日志的分類
      • 1.3 系統日志默認保存位置
      • 1.4常見的一些日志文件
    • 2.內核及系統日志
      • 2.1 查看rsyslog.conf配置文件
      • 2.2 日志消息的級別
      • 2.3 日志記錄的一般格式
    • 3.用戶日志分析
    • 4.程序日志分析
    • 5.日志管理策略

一、inode和block概述

1.文件和扇區

  • 文件是存儲在硬盤上的,硬盤的最小存儲單位叫做“扇區”(sector),每個扇區存儲512字節。

2.塊(block)

  • 一般連續八個扇區組成一個“塊”(block),一個塊是4K大小,是文件存取的最小單位。
  • 操作系統讀取硬盤的時候,是一次性讀取多個扇區,即一個塊一個塊的讀取的。

3.文件數據

  • 文件數據包括實際數據與元數據(類似文件屬性)。
  • 文件數據存儲在“塊”中,存儲文件元信息(比如文件的創建者、創建日期、文件大小、文件權限等)的區域就叫做inode。

二、inode(索引節點)

  • 一個文件必須占用一個 inode,并且至少占用一個 block。
  • inode不包含文件名。文件名是存放在目錄當中的。Linux 系統中一切皆文件,因此目錄也是一種文件。
  • 每個inode都有一個號碼,操作系統用inode號碼來識別不同的文件。Linux系統內部不使用文件名,而使用inode號碼來識別文件。對于系統來說,文件名只是inode號碼便于識別的別稱,文件名和inode號碼是一一對應關系,每個inode號碼對應一個文件名。

1.inode的內容

■inode包含文件的元信息

  • 文件的字節數
  • 文件擁有者的User ID
  • 文件的Group ID
  • 文件的讀、寫、執行權限
  • 文件的時間戳

■用stat命令可以查看某個文件的inode信息

- 示例:stat aa.txt


■ Linux系統文件三個主要時間屬性

  • ctime(change time) #最后一次改變文件或目錄(屬性)的時間
  • atime(access time) #最后一次訪問文件或目錄的時間
  • mtime(modify time) #最后一次修改文件或目錄(內容)的時間

■目錄文件的結構

  • 目錄也是一種文件
  • 目錄文件的結構

■每個inode都有一個號碼,操作系統用inode號碼來識別不同的文件

■Linux系統內部不使用文件名,而使用inode號碼來識別文件

■對于用戶,文件名只是inode號碼便于識別的別稱

2.inode的號碼

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

  • 系統找到這個文件名對應的inode號碼
  • 通過inode號碼,獲取inode信息
  • 根據inode信息,找到文件數據所在的block,讀出數據

■查看inode號碼的方法

  • ls -i命令:查看文件名對應的inode號碼
ls -i aa.txt

  • stat命令:查看文件inode信息中的inode號碼
stat aa.txt

3.inode的大小

■inode也會消耗硬盤空間

  • 每個inode的大小一般是128字節或256字節

■格式化文件系統是確定了inode的總數

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

3.inode的特殊作用

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

  • 文件名包含特殊字符,可能無法正常刪除。這時直接刪除 inode,能夠起到刪除文件的作用;
  • 移動文件或重命名文件,只是改變文件名,不影響 inode 號碼;
  • 打開一個文件以后,系統就以 inode 號碼來識別這個文件,不再考慮文件名。
  • 文件數據被修改保存后,會生成一個新的 inode 號碼。

4.通過刪除inode號刪除文件

find ./ -inum 52305140 -exec rm -i {} \; find ./ -inum 50464299 -delete

演示:

命令二同理不演示了

三、模擬inode節點耗盡故障處理

步驟總匯

1、使用fdisk創建分區/dev/sdb1,分區大小30M即可 fdisk /dev/sdb mkfs.ext4 /dev/sdb1 #這邊我們用ext4類型的文件系統進行模擬 mkdir /test mount /dev/sdb1 /mnt df -i2、模擬inode節點耗盡故障 for ((i=1; i<=7680; i++));do touch /test/file$i;done 或者 touch {1..7680}.txt df -i df -hT 3、刪除文件恢復 rm -rf /test/* df -i df -hT

演示

1.使用fdisk創建分區/dev/sdb1,格式化并掛載



2.模擬inode節點耗盡故障

3.刪除恢復文件

四、EXT類型文件恢復

extundelete 是一個開源的 Linux 數據恢復工具,支持 ext3、ext4文件系統。(ext4只能在centos6版本恢復)1、使用fdisk創建分區/dev/sdb1,格式化ext3文件系統 fdisk /dev/sdb mkfs.ext3 /dev/sdb1 mkdir /test mount /dev/sdb1 /test df -hT2、安裝依賴包 yum -y install e2fsprogs-devel e2fsprogs-libs3、編譯安裝 extundelete cd /test 切換到test目錄中 wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2 #官網下載源 tar jxvf extundelete-0.2.4.tar.bz2 #解壓tar包 cd extundelete-0.2.4/ #切換到解壓出來的目錄中 ./configure --prefix=/usr/local/extundelete && make && make install #指定安裝目錄,開始安裝 ln -s /usr/local/extundelete/bin/* /usr/bin/ #創建軟連接,讓系統識別命令4、模擬刪除并執行恢復操作 cd /test echo a>a echo a>b echo a>c echo a>d ls extundelete /dev/sdb1 --inode 2 #查看文件系統/dev/sdb1下存在哪些文件,i 節點是從 2 開始的,2 代表該文件系統最開始的目錄。rm -rf a b extundelete /dev/sdb1 --inode 2 cd ~ umount /test extundelete /dev/sdb1 --restore-all #恢復/dev/sdb1 文件系統下的所有內容 #在當前目錄下會出現一個RECOVERED_FILES/目錄,里面保存了已經恢復的文件 ls RECOVERED_FILES/

演示:
1.用fdisk創建分區/dev/sdb1,格式化ext3文件類型并掛載

2.安裝依賴包

3.編譯安裝 extundelete


4.模擬刪除并恢復文件





五、xfs 類型文件備份和恢復

  • CentOS 7 系統默認采用 xfs類型的文件,xfs 類型的文件可使用 xfsdump 與 xfsrestore 工具進行備份恢復。
  • xfsdump 的備份級別有兩種:0 表示完全備份;1-9 表示增量備份。xfsdump 的備份級別默認為 0。
xfsdump 的命令格式為: xfsdump -f 備份存放位置 要備份的路徑或設備文件 xfsdump使用限制: 1.只能備份已掛載的文件系統 2.必須使用root的權限才能操作 3.只能備份XFS文件系統 4.備份后的數據只能讓xfsrestore解析 5.不能備份兩個具有相同UUID的文件系統(可用 blkid命令查看) xfsdump命令常用的選項: -f 指定備份文件目錄 -L 指定標簽 session label -M 指定設備標簽 media label -s 備份單個文件,-s 后面不能直接跟路徑

步驟如下:

1、使用fdisk創建分區/dev/sdb1,格式化xfs文件系統 fdisk /dev/sdb partprobe /dev/sdb mkfs.xfs [-f] /dev/sdb1 mkdir /data mount /dev/sdb1 /data/ cd /data cp /etc/passwd ./ mkdir test touch test/a2、使用 xfsdump 命令備份整個分區 rpm -qa | grep xfsdump yum install -y xfsdump xfsdump -f /opt/dump_sdb1 /dev/sdb1 [-L dump_sdb1 -M sdb1]3、模擬數據丟失并使用 xfsrestore 命令恢復文件 cd /data/ rm -rf ./* lsxfsrestore -f /opt/dump_sdb1 /data/

演示:
1.使用fdisk創建分區/dev/sdb1,格式化xfs文件系統并掛載




2.使用 xfsdump 命令備份整個分區


六、系統日志

1.日志文件

1.1 日志的功能

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

1.2 日志的分類

■內核及系統日志

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

■用戶日志

  • 記錄系統用戶登錄及退出系統的相關信息
  • 主配置文件/var/log/secure

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

1.3 系統日志默認保存位置

系統日志文件都默認放在目錄/var/log/下

1.4常見的一些日志文件

內核及公共消息日志: /var/log/messages:記錄Linux內核消息及各種應用程序的公共日志信息,包括啟動、To錯誤、網絡錯誤、程序故障等。 對于未使用獨立日志文件的應用程序或服務,一般都可以從該日志文件中獲得相關的事件記錄信息。#計劃任務日志: / var/ log / cron:記錄crond計劃任務產生的事件信息。#系統引導日志: /var/log/dmesg:記錄Linux系統在引導過程中的各種事件信息。#郵件系統日志: /var/ log/maillog:記錄進入或發出系統的電子郵件活動。#用戶登錄日志: /var/log/security:記錄用戶認證相關的安全事件信息。 /var/log/lastlog:記錄每個用戶最近的登錄事件。二進制格式 /var/log/wtmp:記錄每個用戶登錄、注銷及系統啟動和停機事件。二進制格式 /var/run/btmp:記錄失敗的、錯誤的登錄嘗試及驗證事件。二進制格式

2.內核及系統日志

■由系統服務 rsyslog 統一進行管理

  • 軟件包:rsyslog-7.4.7-16.el7.x86_64、
  • 主要程序:/sbin/rsyslogd
  • 配置文件:/etc/rsyslog.cont

2.1 查看rsyslog.conf配置文件

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

2.2 日志消息的級別

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

2.3 日志記錄的一般格式

3.用戶日志分析

■保存了用戶登錄、退出系統的相關信息

  • /var/log/lastlog:最近的用戶登錄事件
  • /var/log/wtmp:用戶登錄、注銷及系統開、關機事件
  • /var/run/utmp:當前登錄的每個用戶的詳細信息
  • /var/log/secure:與用戶驗證相關的安全性事件

■分析工具

  • users、 who、w 、last、lastb
  • last命令用于查詢成功登錄到系統的用戶記錄
  • lastb命令用于查詢登錄失敗的用戶記錄

4.程序日志分析

■由相應的應用程序獨立進行管理

■Web服務:Nar/log/httpd/

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

■代理服務:/var/log/squid/

  • access.log、cache.log

■分析工具

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

5.日志管理策略

■及時作好備份和歸檔

■延長日志保存期限

■控制日志訪問權限

  • 日志中可能會包含各類敏感信息,如賬戶、口令等

■集中管理日志

  • 將服務器的日志文件發到統一的日志文件服務器
  • 便于日志信息的統一收集、整理和分析
  • 杜絕日志信息的意外丟失、惡意篡改或刪除

總結

以上是生活随笔為你收集整理的Linux文件系统与日志分析(inode、inode节点耗尽故障处理、文件备份和恢复、日志文件管理)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。