データ置き場として使っていたLinuxマシンのディスクが一杯になってしまい、ディスクの容量自体を拡張したのですが、ファイルシステムへ反映させて拡張した領域を使えるようにするまでに一悶着あったのでメモ程度に。
前提条件
- マシン環境: VMware ESXi上の仮想マシン
- OS: Rocky Linux 9.6
- LVMを使用していない
- パーティションを直に切って、XFSで運用
- データ用ディスクとして、1ディスクに1パーティションのみとしていた
- /dev/sdbに、/dev/sdb1というパーティションが存在していただけ
- ブート用ディスクは別に存在している (今回は出てきません)
- 300GB -> 600GBに増強
- root権限で入って操作しました。 必要に応じて各コマンドにsudoを付けてください。
やったこと
- ESXi上でディスク容量の変更
- パーティションの拡張
- ファイルシステムの拡張
1. ESXi上でディスク容量の変更
詳細は省略します。
ESXiのWebコンソールから容量を打ち直しただけです。
2. パーティションの拡張
先にパーティションを拡張して、ディスク全体を使えるようにしてやりました。
拡張はgrowpartで行いましたので、入っていない場合は先にdnfでインストールします。
dnf install cloud-utils-growpart
今回のパーティションは/dev/sdb1なので、1番目のパーティションを拡張します。
特に何も指定しなかったので最大容量まで引き上げられているはずです。
growpart /dev/sdb 1
3. ファイルシステムの拡張
XFSを拡張して、増強した容量を全て使えるようにします。
xfs_growfsコマンドを使用します。マウントポイントを引数で渡す、という感じに指示されていますのでマウントポイントを調べて渡しました。
xfs_growfsコマンドを使用します。マウントポイントを引数で渡す、という感じに指示されていますのでマウントポイントを調べて渡しました。
xfs_growfs /mnt/disk1
※マウントポイントではなく、デバイス名(/dev/sdb1)でも動くようです。当方ではそれでも通りました・・・。
色々調べた限りでは、3のファイルシステムの拡張だけで行ける、という感じで書かれているサイト様が多かったのですが、当方ではダメだったのでgrowpartで拡張する作業を挟みました。
参考資料
- 第13章 XFS ファイルシステムのサイズの拡大 (RHEL8 ドキュメント)