CentOS(Linux)のパーティションサイズ変更(失敗談)

GcgateインフラチームTK見習いです。

つい最近の私が作業した。Linuxサーバのディク容量を再設定を記述します。
まずは今回実施したパーティション再設定の経緯ですが OS(CentOS)インストール時のパーティションの設定が間違っていたためです。
(汗)・・・今回の作業はOS(CentOS)インストール時の設定に問題がなければ発生しなかったのですが。
サーバのディスクサイズの変更や、パーティションの細分化が発生した際にも使用できる手順なので記述します。

①.パーティションについて簡単に説明。
  Windowsでのパーティションとは、物理的なHDDを複数の論理的HDD分けて「ドライブ」として使用されています。
  Linux環境ではWindows環境での(ドライブ)といった概念はありません。
  全て「/」(/root)から始まるディレクトリ構成です。「/」(/root)のパーティションを分割してそれぞれに
  割り当てて使用しています。

  パーティションを分割する理由
  パーティションを分割することで1つのパーティションを各ブロックごとに分割することで、
  1部のブロックが破壊された場合、障害の範囲を最小限にすることができます。
  但し、最適なサイズでパーティションを割り当てる必要があります。

②. パーティションのディスクサイズ変更(今回実施した作業。)
  サーバにCentOSをインストール後、パーティションの設定に誤りがあることに気づきパーティションの再設定する作業が発生。
  未使用の領域を残さずに作成したため。拡張するには他のパーティションを縮小させ、未使用の領域から対象のディレクトリの
  パーティションを拡張する作業を実施しました。

  1-0.バックアップを実施。

  1-1.現状のパーティション状況を確認
   #df -h
   #fdisk -l /(ディレクトリ)

  1-2.論理ボリュームサイズの変更(縮小)
   # lvreduce -L 20Gb /dev/mapper/vg_tri1gcgate-lv_home
   希望するサイズに変更しサーバを再起動。

  1-3.論理ボリュームサイズの変更(拡張)
   1-2の作業でディスクに空きができたので、パーティションを拡張する。
   # lvextend -L +80Gb /dev/mapper/vg_tri1gcgate-lv_root
   パーティションを拡張してから、ファイルシステムを拡大する。
   # resize2fs /dev/vg_hoge/lv_home 80Gb
   希望するサイズに変更されるのを確認したら、サーバを再起動する。

再起動後、パーティションサイズを確認。
しかしパーティションサイズの変更操作が機能しなかった。(失敗しました。)
パーティションサイズの変更に失敗する原因としてよくあるのが、ファイルシステムが壊れるだそうです。(作業後に調べました。)
Linuxのファイルシステムを確認ツールはfsckで確認。(この作業に時間を消費してしまいました。)
fsck はファイルシステム固有のツールのフロントエンドとして利用されるそうです。

fsckはファイルシステムで実行しなければならないためブートシステムからチェックしなければならいからです。
私が未熟のため、OSを再インストールして設定したほうがよかった気もしますが、勉強になりました。

【今回の作業反省点。】
CentOS、初期状態のパーティション設定では/(root)のサイズは大きいサイズで設定されていないことを認識しておきます。
今回はアプリインストール直後のパーティションサイズ変更でしたが、パーティションサイズを変更する作業は失敗する可能性があるので、ディスクを増設しパーティションサイズを変更するとき以外では使用しないように、事前に防ぐことを心がけようと思いました。