目次
Linuxファイルシステム
Linux ディスクのマウント 1 (ハードディスク パーティション)_Linux ディスクのフォーマットとマウント - CSDN ブログ
ファイルシステムの種類
Linux システム内のすべてはファイルです
したがって、カーネルを含め、Linux のすべてを変更できます。
ハードディスクはハードディスク ファイルにマップされ、/dev ファイルに保存されます。
システムの実行ステータスは /proc ファイルに保存されます
ファイルシステムとは何ですか
ファイル システムは、ファイルのデータ構造と編成です
。オペレーティング システムでファイル情報の管理と保存を担当するソフトウェア構造は、ファイル管理システム (略してファイル システム) と呼ばれます。ファイル システムには、ファイル内のデータと
、ファイル システム構造。すべての Linux ユーザーおよびプログラムを参照。ファイル、ディレクトリ、ソフト リンクなどがファイル システムに保存されます。Linux ファイルシステムの種類
RHEL 4 は ext2 ファイル システムを使用します
RHEL 5 は ext3 ファイル システムを使用します
RHEL 6 は ext4 ファイル システムを使用します
RHEL 7 は xfs ファイル システムを使用します
RHEL 8 は xfs ファイル システムを使用します
ext2 ファイルシステム
最大 16TB のパーティションと最大 2TB の単一ファイルをサポート
ログ機能なし(サーバーの突然の停電やクラッシュによりデータが失われる可能性があります)
ext3 ファイルシステム
最大 16TB のパーティションと最大 2TB の単一ファイルをサポート
ext2 と比較して、オペレーティング システムがクラッシュした場合にシステムの信頼性を確保するためにログ機能が追加されています。
でも性能は物足りない
ext4 ファイルシステム
32ビットファイルシステムです
ext3 と比較してパフォーマンスが向上し、サポートされるストレージ容量は最大 1EB パーティションと 1 つのファイル サイズ 16TB に達します。
無制限の数のサブディレクトリ、エクステント連続データ ブロックの概念、マルチブロック割り当て、遅延割り当て、永続的割り当て、高速 FSCK、ログ検証、ログなしモード、inode 拡張などが追加されました。
xfs ファイル システム
これは、最大 18EB のストレージ領域をサポートする 64 ビット ファイル システムですが、そのパフォーマンスは ext4 と同様です。
ext4と比較して、最大の変更点は大容量化(クラウドコンピューティングやビッグデータの大容量化に対応)
Linuxでファイルを保存する方法
Linux では、ファイルの内容を直接ハードディスクに書き込むのではなく、ファイルを 2 つの部分に分割して保存します。
inode を介してファイルのアクセス許可と属性情報を保存し、ブロックを介して実際のファイルの内容を保存します
inode はファイル属性とポインタを記録します
各ファイルは独立した i ノード テーブルを占有し、このテーブルのデフォルトは 128 バイトです。
i ノードはデータの文字列であり、さまざまなファイルに対応する i ノードはファイル システム内で一意です。
ポインタ:ポインタを介してブロックを指します (4 バイトを占有)
ファイル属性:ファイル権限 (一般権限、特殊権限、非表示権限)、所有者、グループ、ファイル サイズ、ファイルの最終アクセス時刻、ファイル変更時刻などが含まれます。
ブロック
実際にデータを格納するデータブロック(サイズは通常1k、2k、4k)
ファイルが大きい場合、複数のブロックが存在し、複数のブロックが端から端まで接続されます (最初のブロックの終わりが 2 番目のブロックを指すポインターとして使用され、2 番目のブロックの終わりが順番に 3 番目のブロックを指すポインタとしても使用されます)
予防
ファイルが作成されると、少なくとも 1 つの i ノードと 1 つのブロックを占有します。
ファイルの i ノードは 1 つだけですが、ブロックは複数あります。リンク ファイルを作成することでファイルの i ノードを増やすことができます (デフォルトでは、フォルダーは 2 つの i ノードを占有します)。
ブロックサイズが1kの場合
ファイルのサイズが 1.2k の場合、直接 2 ブロックを占有します。
ファイルのサイズが 0.8k の場合、残りの 0.2k は他のファイルで使用できません (つまり、1 つのブロックには 1 つのファイルのデータしか保存できません)。
VFS仮想ファイルシステム
VFS は、さまざまなファイル システムに統合されたオペレーティング インターフェイスとプログラミング インターフェイスを提供するため、ユーザーはシステム コールを行うときにシステムの基礎となるファイル システムを気にする必要がなくなり、システム コール命令を特定のファイル システムで読み取れる命令に変換できます。
ファイルフォーマットコマンド
mkfs形式ファイルシステム
ハードディスク パーティションをフォーマットすると、Linux システムはハードディスクにデータを書き込む方法を認識できるようになります。
ファイルをフォーマットする前に、lsblkコマンドを使用してディスクパーティションの状態を確認してください。ディスクパーティションが表示されない場合は、
システムの再起動が必要です
mkfs.filesystem1 device1 device1 を filesystem1 としてフォーマットする
mkfs -t ファイル システム 2 デバイス 2 デバイス 2 をファイル システム 2 としてフォーマットします
コマンド例
mkfs.xfs /dev/sdb5 sdb5 を xfs ファイル システムにフォーマットします
mkfs -t xfs /dev/sdb1 sdb1 を xfs ファイル システムとしてフォーマットします
lsblk -f ディスク ファイル システムを表示します
ディスクマウントコマンド
ディスクをフォーマットした後、ディスクをマウントする必要があります。
デバイスファイルをディレクトリ(マウントポイント)に関連付ける行為をマウントといいます。
このデバイスは、デバイス ファイルがマウント ポイントにマウントされた後にのみ使用できます。
mount 一時マウント コマンド
デバイス 1 をマウント マウント ポイント 1 は デバイス 1 をマウント ポイント 1 にマウントします
mount -o rw,remount /sysroot は、 読み取りおよび書き込み可能な方法で /sysroot を再マウントします。
-t はマウントするファイルの種類を指定します
-o は、指定されたマウントされたファイル システムが再マウントされることを示します
rw は読み取り/書き込みモードでマウントします
ro は読み取り専用としてマウントされます
remount すでにマウントされているファイルシステムを再マウントします
defaults は、すべてのオプション (auto、nouser、rw、suid) にデフォルト値を使用します。
auto では -a を使用したマウントが可能になります
nouser は一般ユーザーにマウントを許可しません
suid は suid ビットと guid ビットを確認します
コマンド例 (最初にマウントディレクトリ mkdir ディレクトリを作成する必要があります)
/dev/sdb1 を /media/sdb1 ディレクトリにマウントします
/dev/sdb5 を /media/sdb5 ディレクトリにマウントします
取付上の注意事項
MBR パーティションの場合、拡張パーティションはマウントできません。マウントできるのはプライマリ パーティションと論理パーティションのみです。
デバイス ファイルが将来の内容を含むディレクトリにマウントされると、ディレクトリ内の元のファイルは非表示になり、デバイスがアンマウントされると、ファイルの内容が戻ります。
マウント ディレクトリは /media ディレクトリのサブディレクトリである必要はなく、任意のディレクトリを使用できますが、FHS プロトコルに準拠するために、/media ディレクトリにマウントすることをお勧めします。
umount ファイルシステムをアンマウントします
マウントポイントからデバイスの関連付けを解除する
umount デバイスファイル名/マウントディレクトリ デバイス のファイルシステムをアンマウントします
-v 実行時に詳細情報を表示します
-r はファイルシステムを読み取り専用で再マウントしようとします
vim /etc/fstab が永続的にマウントされる
mount コマンドによるマウントは一時的にのみ有効となり、再起動するとマウント ポイントが消えます。
再起動後にコンピュータが自動的にデバイス ファイルをマウントできるように、/etc/fstab ファイルを編集してデバイス ファイルを永続的にマウントする必要があります。
/etc/fstab ファイルのコンテンツ形式
/dev/sdb1 device コマンド (絶対パス - ハードディスク番号も可)
/media/sdb1 デバイスのマウント ポイント (絶対パス)
xfs マウントされたファイル システム形式
デフォルトの権限 (デフォルトがデフォルトです)
0 (自動バックアップを有効にしません。1 または 2 は自動バックアップを有効にすることを意味します。数値が小さいほど優先度が高くなります)
0(自動検証をオンにしません。1または2の場合、自動検証をオンにすることを意味します。数値が小さいほど優先度が高くなります)
ハードディスクに対応するハードディスク番号 (UUID、つまりハードディスクの GUID) を確認します。
blkid /dev/sdb1 - ハードディスクに対応するハードディスク番号を確認します(表示結果に Type がない場合は、パーティションがまだフォーマットされていないことを意味します)