自宅で動かしている仮想マシン上の開発サーバーのディスク容量が手狭になってきたため、ディスクを拡張することにしました。
さて、仮想ディスクの容量を増やし、拡張しようとしたところ…
sudo resize2fs /dev/sda2
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/sda2
Couldn't find valid filesystem superblock.
ファイルシステムの情報が記述されている部分が見つからないぞ!!!というエラーが…
最初、「もしかしてファイルシステムが壊れたのでは…」と思いましたが、データの読み書きは問題なくできるし、fsckしても特に変化はありませんでした。
色々調べてみたところ、こちらの記事を発見。
resize2fs: Bad magic number in super-blockとなった時の対応方法 – Qiita
実はCentOS 7から、デフォルトのファイルシステムがextからxfsという新しいものになっており、従来のresize2fsではこのxfsが認識できないためエラーになるようです。
ファイルシステムの種類を df -T コマンドで確認してみると…
$ df -T
ファイルシス タイプ 1K-ブロック 使用 使用可 使用% マウント位置
...省略...
/dev/sda2 xfs 18863104 7708416 11154688 41% /
...省略...
※拡張後に表示しています。
自分の環境もおもいっきりxfsでした。
ということで、xfs版resize2fsである “xfs_growfs”コマンドで拡張してみます。
基本的な使い方であれば、コマンドの書式はresize2fsと同様です。
sudo xfs_growfs /dev/sda2
meta-data=/dev/sda2 isize=512 agcount=4, agsize=524224 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2096896, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2096896 to 4718336
バッチリ拡張できました!
ということで、xfsの容量拡張でお困りの場合は参考にしてみてください。