Linuxでresize2fsコマンドの役割は何ですか

Linuxでresize2fsコマンドの役割は何ですか

論理ボリュームを拡張または縮小するときにresize2fsコマンドが実行する操作lvextendおよびlvreduceコマンドを使用する機能は同じですか、それとも異なりますか?

答え1

実際には4つの異なる動作がありますresize2fs(そのうちの1つはマイナーです)。これは、ファイルシステムがマウントまたはマウント解除されているかどうか、縮小または拡張されているかどうかによって異なります。

  1. インストール、拡張

    ここでresize2fsオンラインでサイズを変更してみてください。ある程度これはカーネルにタスクを実行するように指示するだけです。その後、カーネルは新しく利用可能なストレージに追加のファイルシステムメタデータを書き込み始めます。この場合、ファイルシステムは引き続き使用できます。

    実際、古いext3ファイルシステムはオンラインサイズ変更をサポートしていない可能性があります。拡張するには、古いファイルシステムをアンマウントする必要があります。

  2. 未インストール、拡張

    今回はresize2fsカーネルの代わりに作業を行います。ほとんどの場合、新しく利用可能なストレージに追加のファイルシステムメタデータを書き込むことが含まれます。

  3. 設置、縮小

    この操作はサポートされていません。エラーを印刷するだけです。これはマイナーな行動です。

  4. インストールされていない、縮小

    これは最も時間がかかり、最も危険でもあります(まだかなり安全ですが)。可能であれば(たとえば、十分なスペースがある場合)、ファイルresize2fsシステムに最初のファイルのみを使用させます。サイズ保存されたバイト数。ファイルシステムのメタデータとデータを移動してこれを行います。完了すると、ファイルシステムが使用するブロックデバイス(論理ボリューム)の末尾に未使用のストレージスペースが作成されます。

lvextendそしてlvreduce論理ボリュームのサイズを変更します。オプションが提供されている場合は、ファイルシステムのサイズを変更する-rこともできます。残念ながら、lvreduce誤って誤ったサイズを提供すると、データが失われる可能性があります(同じサイズを知らせることによって-r)。resize2fs

関連情報