Linuxファイルシステムとログファイル
記事ディレクトリ
iノードとブロックの概要
ファイルデータにはメタ情報と実際のデータが含まれます。
ファイルはハードディスクに保存されます。ハードディスクの最小ストレージユニットは「セクター」です。各セクターには512バイトの
ブロック(ブロック)が保存され
ます。8つの連続したセクター
が最小のファイルストレージであるブロックを形成します。ユニット
iノード(インデックスノード)
中国語の翻訳は「インデックスノード」であり、iノードとも呼ばれ、
ファイルのメタ情報を格納するために使用されます。
iノードには、
ファイルのメタ情報が含まれています。ファイルのバイト数
。ファイル所有者のユーザーID(ファイル名を含まない)
。ファイルのグループID
。ファイルの読み取りおよび書き込み実行権限
。ファイルのタイムスタンプ
...
statコマンドを使用して、ファイルのiノード情報を表示できます。
[root@localhost opt]# touch aa.txt
[root@localhost opt]# stat aa.txt
文件:"aa.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:33567187 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2020-07-02 03:01:28.719405830 +0800
最近更改:2020-07-02 03:01:28.719405830 +0800
最近改动:2020-07-02 03:01:28.719405830 +0800
创建时间:-
## Linuxシステムファイルの3つの主な時間属性
ctime(変更時間)
ファイルまたはディレクトリ(属性)が最後に変更された
時間atime(アクセス時間)
ファイルまたはディレクトリに最後にアクセスされた時間
mtime(変更時間)
ファイルまたは最後の時間カタログ(内容)時間
カタログファイルの構造
ディレクトリも一種のファイルです
。ディレクトリファイルの構造です。
各iノードには番号があります。オペレーティングシステムはiノード番号を使用してさまざまなファイルを識別します
。Linuxシステムはファイル名を使用しませんが、iノード番号を使用してファイルを識別します。
ユーザーの場合、ファイル名は単なるiノード番号です。識別しやすいニックネーム
iノード番号
ユーザーがファイル名でファイルを開くと、
システムの内部プロセス1.システムはファイル名に対応するiノード番号を見つけます
2. iノード番号からiノード情報を取得します
3. iノード情報に従ってファイルデータが配置されているブロックを見つけ、それを読み出しますデータ
iノード番号を確認する方法
ls -iコマンド:ファイル名に対応するiノード番号を表示します
[root@localhost opt]# ls -i aa.txt
33567187 aa.txt
[root@localhost opt]# stat aa.txt
文件:"aa.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:33567187 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2020-07-02 03:01:28.719405830 +0800
最近更改:2020-07-02 03:01:28.719405830 +0800
最近改动:2020-07-02 03:01:28.719405830 +0800
创建时间:-
ハードディスクパーティション後の構造
iノードのサイズ
iノードもハードディスク領域を消費し
、各iノードのサイズは
通常128バイトまたは256バイトです。
ファイルシステムをフォーマットするときにiノードの総数を決定します。iノード
の総数と各ハードディスクパーティションで使用されている
iノードの数を表示するには、df -iコマンドを使用します。iノードの特別な機能
です。iノード番号はファイル名から分離されているため、一部のUnix / Linuxシステムには次の現象があります
ファイル名に特殊文字が含まれている場合、ファイルは正常に削除されない可能性があります。iノードを直接削除するか、ファイルを削除できます。ファイルを
移動または名前を変更する場合は、iノード番号に影響を与えずにファイル名を変更します。
ファイルを開いた後、システムはiノード番号を使用してファイルを識別します、ファイル名を考慮しない
リンクファイル
ファイルまたはディレクトリのリンクファイルを作成するリンク
ファイルのカテゴリ
ソフトリンク(シンボリックリンクとも呼ばれます) | ハードリンク | |
---|---|---|
元のファイルを削除した後 | 失敗 | まだ利用可能です |
使用範囲 | ファイルまたはディレクトリに適しています | ファイルにのみ使用できます |
位置を保存 | 元のファイルとは異なるファイルシステムに配置できます | 元のファイルと同じファイルシステム(Linuxパーティションなど)にある必要があります |
ハードリンク
通常、ファイル名とiノード番号は1対1で対応しており、各iノード番号はファイル名に対応しています。
ただし、Linuxシステムでは、複数のファイル名が同じiノード番号を指すことができます。つまり、異なるファイル名を使用して同じコンテンツにアクセス
できます。lnコマンドはハードリンクを作成できます。コマンドの基本的な形式は
lnソースファイルターゲットです。
ディレクトリをハードリンクすることはできません。
このコマンドを実行すると、ソースファイルとターゲットファイルのiノード番号が同じになり、両方がポイントします。同じiノード。
iノード情報の「リンクの数」は1増加します。
ファイルに複数のハードリンクがある場合、ファイルの内容を変更するとすべてのファイル名に影響しますが、1つのファイル名を削除しても他のファイル名には影響しません。ファイル名にアクセスして削除すると、iノード情報の「リンクの数」が1つ減ります。
ソフトリンク
ソフトリンクは、別のファイルを再度作成することであり、このファイルにより、データの読み取りは、接続されているファイルのファイル名を指すようになります。
ソフトリンク作成コマンドの基本的な形式は、
ln [-s]ソースファイルまたはディレクトリ...リンクファイルです。またはターゲットの場所
誤って削除したファイルを復元する
XFSタイプのファイルを回復する
xfsdumpコマンドの形式
xfsdump -fバックアップの保存場所のパスまたはバックアップするデバイスファイル
xfsdumpバックアップレベル(デフォルトは0)
0:完全バックアップ
1-9:増分バックアップ
xfsdumpの一般的に使用されるオプション:-f、-L、-M、-s
xfsrestore -f復元されたファイルの場所を格納する復元されたファイルの場所
xfsdumpの使用制限。
バックアップできるのはマウントされたファイルシステムのみ
です。操作するにはroot権限を使用する必要があります。バックアップできるの
はXFSファイルシステムのみ
です。バックアップ後のデータはxfsrestoreでのみ分析でき
ます。同じUUIDを持つ2つのファイルシステムはバックアップできません。
EXTタイプのファイルを回復する
extundeleteパッケージをインストールする
[root@localhost ~]# yum -y install e2fsprogs*
[root@localhost ~]# yum -y install wget
[root@localhost ~]# cd /opt
[root@localhost opt]# wget http://nchc.dl.sourceforge.net/project/extundel/extundelete-0.2.4.tar.bz2
[root@localhost opt]# ls
data extundelete-0.2.4.tar.bz2
ディスクをext4フォーマットにフォーマットする
[root@localhost ~]# mkfs.ext3 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242624 blocks
262131 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost opt]# mkdir data
[root@localhost opt]# mount /dev/sdb1 /opt/data
[root@localhost opt]# cd data/
[root@localhost data]# ls
lost+found
[root@localhost data]# touch aa bb cc dd
[root@localhost data]# ls
aa bb cc dd lost+found
[root@localhost data]# rm -rf aa bb
[root@localhost data]# ls
cc dd lost+found
[root@localhost data]# cd ~
[root@localhost ~]# umount /opt/data/
[root@localhost ~]# extundelete /dev/sdb1 --restore-all
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 160 groups loaded.
Loading journal descriptors ... 28 descriptors loaded.
Searching for recoverable inodes in directory / ...
0 recoverable inodes found.
Looking through the directory structure for deleted files ...
0 recoverable inodes still lost.
No files were undeleted.
[root@localhost opt]# mount /dev/sdb1 /opt/data
[root@localhost ~]# cd RECOVERED_FILES/
[root@localhost RECOVERED_FILES]# ls
aa cc
[root@localhost RECOVERED_FILES]# cp a /opt
[root@localhost RECOVERED_FILES]# ls /opt
aa bb cc dd lost+found
ログファイル
ログ機能
システムおよびプログラムの動作中に発生するさまざまなイベントを記録するために使用されます。
ログを読み取ることにより、システム障害の診断と解決に役立ちます
。ログファイルの分類
カーネルとシステムの分類
- カーネルおよびシステムログは
システムサービスrsyslogによって均一に管理され、ログ形式は基本的に類似しています - ユーザーログ
システムユーザーのログインとログアウトに関する情報を記録します - プログラムログ
さまざまなアプリケーションによって独立して管理されるログファイル。レコード形式は均一ではありません。
ログファイルの保存場所
デフォルトの場所:/ var / logディレクトリ
メインログファイルの概要
カーネルとパブリックメッセージログ | / var / log / messages |
スケジュールされたタスクログ | / var / log / cron |
システムブートログ | / var / log / dmesg |
メールシステムログ | / var / log / maillog |
ユーザーログインログ | / var / log / lastlog、/ var / log / secure、/ var / log / wtmp、/ var / log / btmp |
カーネルとシステムログは
、システムサービスrsyslogdによって均一に管理されます
パッケージ:rsyslog-7.4.7-16.el7.x86_64
メインプログラム:/ sbin / rsyslogd
構成ファイル:/etc/rsyslog.conf
ログメッセージのレベル
rsyslogdサービスで管理されるログファイルは、Linuxシステムで最も重要なログファイルです。これらのファイルは、カーネル、ユーザー認証、メール、スケジュールされたタスクなど、Linuxシステム
での最も基本的なシステムメッセージを記録します。Linuxカーネルでは、ログメッセージの重要度に応じて異なる、それを異なる優先度に分割します(数値が小さいほど、優先度が高いほど、メッセージの重要性が高くなります)
レベル | 説明 |
---|---|
0 EMERG(緊急) | ホストシステムが利用できなくなります |
1アラート(警告) | すぐに解決しなければならない問題 |
2 CRIT(深刻) | より深刻な状況(一部の機能は使用できません) |
3 ERR(エラー) | 実行エラー |
4警告 | システム機能に影響を与える可能性のあるイベント |
5通知(注) | システムには影響しませんが、注目に値します |
6 INFO(情報) | 一般情報 |
7 DEBUG(デバッグ) | プログラムまたはシステムのデバッグ情報など(メンテナンス中に使用される場合があります) |
カーネルとほとんどのシステムメッセージはパブリックログファイル/ var / log / messagesに記録されますが、他のいくつかのプログラムメッセージは独自の独立したログファイルに記録されます。
ログメッセージは特定のストレージデバイスに記録するか、直接送信することもできます指定ユーザーへ
ユーザーログ
保存ディレクトリ
は、ユーザーのログイン、ログアウト、およびその他の関連情報を保存します
/var/log/lastlog:最近的用户登录事件
/var/log/wtmp:用户登录,注销及系统开,关机事件
/var/log/utmp:当前登录的每个用户的详细信息
/var/log/secure:与用户验证相关的安全性事件
プログラムログ分析
対応するプログラムによって
Webサービスを個別に管理します:/ var / log / httpd /
- Access_log、error_log
プロキシサービス:/ var / log / squid / - access.log、cache.log
FTPサービス:/ var / log / xferlog
分析ツール
- テキストビュー、grepフィルター検索、webmin管理スイートでの表示
- awk、sed、その他のテキストフィルタリング、フォーマット編集ツール
- webalizerやawstatsなどの特別なログ分析ツール
ログ管理戦略
タイムリーなバックアップとアーカイブを作成
するログの保存期間を延長する
ログのアクセス権を制御する
- ログには、アカウント、パスワードなどのさまざまな機密情報が含まれる場合があります。
ログの一元管理 - サーバーのログファイルを統合ログファイルサーバーに送信する
- ログ情報の収集、分類、分析の統合を促進
- 偶発的な損失、悪意のある改ざん、またはログ情報の削除を防止