Categories: linux

Linuxでファイルシステムサイズを拡張・縮小する!resize2fsコマンドの使い方と注意点を解説

Linuxでディスクの容量を拡張したり、不要な領域を縮小したりしたい場合、パーティションサイズの変更に加えて「ファイルシステムのサイズ変更」も必要です。そこで使われるのが「resize2fs」コマンドです。resize2fsはext2/ext3/ext4ファイルシステム専用のユーティリティで、安全にファイルシステムのサイズを拡張・縮小できる便利なツールです。この記事では、resize2fsの基本的な使い方から注意点、実際の操作例まで、わかりやすく解説します。

resize2fsとは?

resize2fsは、Linuxにおいてext2、ext3、ext4形式のファイルシステムのサイズを拡張・縮小するためのコマンドです。このコマンドは、e2fsprogsというパッケージに含まれており、パーティションサイズを変更した後にファイルシステムのサイズも一致させる目的で使用されます。

主な特徴

  • 対応ファイルシステム:ext2 / ext3 / ext4
  • 拡張にも縮小にも対応
  • オンライン(マウント中)で拡張が可能(縮小はアンマウントが必要)
  • GUIではなくCUI(ターミナル)で操作するため柔軟性が高い

このコマンドは、パーティションのサイズを変更しただけではファイルシステムのサイズは変わらない、という点を補完するための非常に重要なツールです。


resize2fsの基本的な構文

resize2fsの基本的な構文は以下のとおりです。

resize2fs [デバイス名] [新しいサイズ]
  • [デバイス名]:変更対象となるパーティション(例:/dev/sda1)
  • [新しいサイズ]:新しいサイズ(省略時は最大サイズまで拡張)

サイズの単位

サイズの指定には以下のような単位が使えます。

  • K:キロバイト
  • M:メガバイト
  • G:ギガバイト
  • s:セクタ
  • b:512バイトブロック

例:

resize2fs /dev/sda1 10G

このコマンドは、/dev/sda1のファイルシステムを10GBに変更します。


実行前に確認すべきポイント

resize2fsを使う前に、いくつかの確認が必要です。

1. 対象がext2/ext3/ext4かどうか

resize2fsはこれらのフォーマットにしか対応していません。対象のファイルシステム形式を確認するには、以下のコマンドを使用します。

df -T /dev/sda1

2. e2fsckでファイルシステムチェック

縮小を行う場合や、安全性を確保したい場合には、事前にファイルシステムの整合性をチェックしておきましょう。

e2fsck -f /dev/sda1

ファイルシステムを拡張する手順

ステップ1:パーティションのサイズを拡張

fdiskparted、またはlvextendなどを使って、物理的にパーティションサイズを拡張します。

例(LVMの場合):

lvextend -L +10G /dev/mapper/vg0-root

ステップ2:resize2fsでファイルシステムを拡張

resize2fs /dev/mapper/vg0-root

マウント中のファイルシステムであっても、ext4ならオンラインで拡張可能です。


ファイルシステムを縮小する手順

ファイルシステムの縮小は拡張よりも慎重に行う必要があります。

ステップ1:ファイルシステムのアンマウント

umount /dev/sda1

ステップ2:fsckで整合性チェック

e2fsck -f /dev/sda1

ステップ3:resize2fsで縮小実行

resize2fs /dev/sda1 5G

ファイルが存在するサイズ以下に縮小しようとするとエラーが出るので注意しましょう。


resize2fsの出力例と解説

resize2fs 1.46.5 (30-Dec-2021)
Resizing the filesystem on /dev/sda1 to 2621440 (4k) blocks.
The filesystem on /dev/sda1 is now 2621440 (4k) blocks long.

このように、ブロック数単位でサイズ変更されたことが表示されます。ブロックサイズは通常4KBです。


注意点とトラブル回避法

バックアップは必須!

サイズ変更はリスクを伴う操作です。重要なデータは必ずバックアップを取ってから行いましょう。

実行中は割り込み禁止

resize2fs実行中に強制終了すると、ファイルシステムが破損する可能性があります。途中で止めないよう注意しましょう。

パーティションサイズと整合性を取る

resize2fsで拡張しても、パーティションサイズより大きくすることはできません。fdiskpartedでの操作と合わせて使いましょう。


まとめ

resize2fsは、Linuxのファイルシステムを安全に拡張・縮小するために欠かせないコマンドです。特にext4形式のファイルシステムでは、マウント状態でもサイズ変更が可能な点が魅力です。ですが、実行前のfsckやアンマウント、サイズ指定の正確さ、そしてバックアップの確保など、安全に使うためには慎重な準備が求められます。

ファイルシステムのサイズ変更は、一歩間違えると大切なデータを失う可能性もあります。resize2fsの使い方を正しく理解し、万全の体制で操作に臨みましょう。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。