#chiroito ’s blog

Java を中心とした趣味の技術について

OSが起動したままマウントしてる XFS のサイズを増やしてみた

/ の領域が足りなくなってきてしまったけど、仮想マシンからデタッチして、他の仮想マシンにアタッチ・マウントしてからサイズ増やして、また戻してからマウントするの面倒臭いなと2ヶ月ぐらい思っていたら、growpartというツールでマウントしたままパーティション情報変えられるようだったので試してみた。

今のサイズはこんな感じ

# df
ファイルシス   1K-ブロック      使用    使用可 使用% マウント位置
(略)
/dev/sda3          9753600   8619504   1134096   89% /
(略)

growpartを使うにはcloud-utils-growpart というパッケージを入れるだけです。

# yum install cloud-utils-growpart
読み込んだプラグイン:langpacks, ulninfo
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ cloud-utils-growpart.noarch 0:0.29-2.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package                   アーキテクチャー
                                       バージョン         リポジトリー     容量
================================================================================
インストール中:
 cloud-utils-growpart      noarch      0.29-2.el7         ol7_latest       26 k

トランザクションの要約
================================================================================
インストール  1 パッケージ

総ダウンロード容量: 26 k
インストール容量: 61 k
Is this ok [y/d/N]: y
Downloading packages:
cloud-utils-growpart-0.29-2.el7.noarch.rpm                 |  26 kB   00:03     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : cloud-utils-growpart-0.29-2.el7.noarch          1/1 
  検証中                  : cloud-utils-growpart-0.29-2.el7.noarch          1/1 

インストール:
  cloud-utils-growpart.noarch 0:0.29-2.el7                                      

完了しました!

インストールが終わったらパーティションサイズを増やして、XFS ファイルシステムのサイズも拡張します。 パーティションサイズを増やすにはgrowpart <デバイス> <パーティション番号>を実行します。今回は/dev/sda3のパーティションが対象なのでデバイスは/dev/sda、パーティション番号は3を指定します。

# growpart /dev/sda 3
CHANGED: partition=3 start=1443840 old: size=19527680 end=20971520 new: size=40499167,end=41943007

# xfs_growfs /
meta-data=/dev/sda3              isize=256    agcount=6, agsize=478976 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2440960, 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 2440960 to 5062395

これだけで完了です。dfしてみると容量が増えてるのが確認できます。

[root@localhost ~]# df
ファイルシス   1K-ブロック      使用    使用可 使用% マウント位置
(略)
/dev/sda3         20239340   8820276  11419064   44% /
(略)