BTRFSのサイズ変更

1. SUSE Linux Enterprise Server上のBTRFS LVMパーティションのサイズ変更

SUSE Linux Enterprise Serverのインストールを管理していると、BTRFSのルートファイルシステムがファイル、キャッシュ、またはスナップショットによって満杯になることがあります。 スナップショットの手動削除は推奨されないため、最適な方法はパーティションのサイズを変更することです。

BTRFSパーティションのサイズを変更するには、この手順中にパーティションがマウントされたままである必要があります。

以下の手順は、新しいディスク(例えば、/dev/sdb)をボリュームグループに追加することでBTRFS LVMパーティションのサイズを変更する方法を示しています。

プロシージャ:BTRFS LVMパーティションのサイズ変更*
  1. ルートファイルシステムデバイスと新しいディスクを特定するために、`lsblk`コマンドを使用してディスク情報を確認します:

    lsblk
  2. 新しく追加したディスクに物理ボリュームを作成します:

    pvcreate /dev/sdb
  3. ルートファイルシステムが使用している現在のボリュームグループをスキャンします:

    vgscan
  4. 新しく作成した物理ボリュームでボリュームグループを拡張します:

    vgextend system /dev/sdb
  5. 拡張されたボリュームグループを使用して論理ボリュームを拡張します:

    lvextend -l +100%FREE /dev/system/root
  6. BTRFSのルートファイルシステムのサイズを変更します:

    btrfs filesystem resize max /
  7. 結果を確認して、システムのルートファイルシステムが新しい容量に正常にサイズ変更されたことを確認します:

    lsblk

2. SL Micro上のBTRFSルートボリュームのサイズ変更

SLE Micro 5.5またはSL Micro 6のインストールを管理していると、BTRFSルートボリュームがディスクスペース不足になり、サイズ変更が必要になることがあります。

標準コマンド`btrfs fi resize max /`を使用してルートボリュームのサイズを変更しようとすると、次のエラーが発生します:

ERROR: unable to resize '/': Read-only file system

これは、ルートボリュームがSLE Microシステムで読み取り専用でマウントされているために発生します。 オンラインで操作を正常に完了するには、代わりに`/.snapshots`マウントポイント(読み書きでマウントされています)をターゲットにする必要があります。

パーティションテーブルの変更は、システムに損傷を与える可能性があります。

パーティションテーブルに変更を加える前に、必ず完全なバックアップを取ってください。

以下の手順は、ルートパーティションがデバイス上の最後のパーティションである単一ディスクのサイズを変更する方法を示しています(例:/dev/sda3)。 レイアウトにさらにパーティションが含まれている場合、操作がより複雑になる可能性があり、SUSE Customer Centerにサポートを求める必要があるかもしれません。

プロシージャ:BTRFSルートボリュームのサイズ変更
  1. 環境に適したハイパーバイザーまたはストレージツールを使用して、既存のディスクを新しいサイズに変更してください。

  2. サイズ変更するデバイスを再スキャンしてください。 例えば、`/dev/sda`を再スキャンするには、以下のコマンドをルートユーザーとして実行します:

    echo 1 > /sys/block/sda/device/rescan
  3. コマンド`growpart`を使用してルートパーティションのサイズを変更します。 この例では、`/dev/sda`のパーティション3のサイズを変更します:

    growpart /dev/sda 3
  4. BTRFSファイルシステムのサイズを変更します。 読み取り専用エラーを回避するために、必ず`/.snapshots`を使用し、`/`は使用しないでください:

    btrfs fi resize max /.snapshots
  5. ファイルシステムをチェックして、新しいサイズが正常に適用されたことを確認してください:

    btrfs fi show /