Linux Install Memo

サーバー管理者によるLinux関連ソフトのインストールメモ

Home » □VPS(KVM)のディスク容量縮小方法

□VPS(KVM)のディスク容量縮小方法

KVMのVMのディスクイメージ、とくにLVMを「拡張」する方法はよくネット上にあるがこれを参考に「縮小」する方法でもいいのだけど、実際「時間がかかる」ので、別の方法でばっさりやったほうがいい。

何はともあれ、VMのディスクイメージをいじるならまずはコピー。
いくらぶっ飛ばしてもバックアップがあれば何とかなるしね。

で、サイズ変更には「resize2fs」や「pvresize」とかが使われるかとはおもうけど、実際これをやってしまうとえらい時間がかかる。

なので、拡張拡大するならまだしも、縮小削減するなら

・ゲストOSのディスクイメージを作業用イメージにコピー
 (以下、作業用イメージで作業…なのでゲストOSは再起動してもいい)

・ホストOSで作業イメージの該当パーティションをfsckしてmount
・中のデータをごっそりホストOSのどこかにコピー
・作業イメージをunmount
・作業イメージから該当パーティションを削除(lv)
・作業イメージに該当パーティションを再構築(lv)
・でもって作り直してLVMパーティションのサイズを変更(pv)
・改めて作業イメージをfsckしてmount
・コピーしたデータを作業イメージにコピー(戻す)
 (ここまでで新しいゲストOSのイメージの「素」ができた)

・ゲストOSを止めて、fsckしてmount
・コピー後に変更があったデータのみrsyncで再コピー
・ゲストOSをunmountして、新しい素イメージをfsckしてmount
・コピー後に変更があったデータのみrsyncで再コピー

この手順の方が、サイズを大幅に縮小する場合にかかる時間が短い…と思う。
というのも、実質60GBしか使っていない500GBを100GBに縮小するのに、大きくかかった時間は、

・作業イメージの生成(コピー) … 166分
・データを丸ごとコピーに68分(VMを動かしつつ)
・resize2fsに四時間くらい!!!
・データを丸ごと戻した場合 … 92分
・そのほか、e2fsckに10分くらいかかるかも。

※参考:E5450x2/16GB/WD_RED_2TBx2 RAID1のケチケチ環境にて。

なので、作業イメージの生成はしょうがないとしても、あとは事前に「素」となるディスクイメージを用意して、rsyncでちゃちゃっと差分を反映させる方がいい。

なんにしても、時間がかかる作業なので、ディスクIOが速い環境をそもそも構築するのがオススメ。:-)

Name of author

Name: admin

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です