conohaVPSでイメージファイルが肥大する問題の対策・対処法

linux

この記事を読むのに必要な時間は約 6 分です。

皆様こんにちは。

サーバーのバックアップ、とられていますか?

このブログ「うさマガ」は今日現在Conoha VPSを使用して運用しています。

そしてブログのデータはバックアップなどの目的でファイルを保管しているのですが、大規模障害の対策として、サーバーのイメージファイルも保管することがあります。

しかし、conoha VPSを使用しているとイメージバックアップ取得後の挙動に少々気になる点があります。

その内容を対策を備忘録代わりに記載していきます。

イメージファイルの容量が肥大化する

conoha VPSでは、ワンボタンでサーバーのイメージファイルを取得できる機能があります。
その機能は非常に強力で、簡単にイメージファイルを作成できます。

しかし、2回目を作成しようとすると、作成するイメージファイルが想定していたファイルサイズより多きくなってしまいます。これだとあっという間にディスク空き容量が消えてしまいます。

原因はディスクの未使用領域に不要なデータが存在すると、その領域まで広げてイメージファイルを作成するためのようです。(私が調べた限りではそう感じました)

ddコマンドでゼロ埋めを実施

というわけで、ddコマンドでゼロ埋めファイルを作成して圧縮イメージを作成する際にサイズを小さく抑えることを目標にします。

ddコマンドの書式

ddコマンドはディスク操作やバックアップをする際に使用するコマンドになります。

書式は以下の通りです。

dd if=<入力ファイル> of=<出力ファイル> [オプション]

【解説】
if (input file): 読み込む入力ファイルやデバイスを指定。
of (output file): 書き込む出力ファイルやデバイスを指定。
※オプションを追加してブロックサイズやデータの転送量などを制御。
 ここではオプションの説明は省略します

今回のconohaVPSでの操作ですが、自分のコンソールの表示結果から説明していきます。

dfコマンドにてディスク空き容量を確認

dfコマンドにてディスク容量を確認します。
なお、-hオプションを使用することで空き容量の単位を分かりやすくします。

# df -h
ファイルシス      サイズ  使用  残り 使用% マウント位置
devtmpfs         4.0M     0  4.0M    0% /dev
tmpfs            1.8G   96K  1.8G    1% /dev/shm
tmpfs            732M   25M  707M    4% /run
/dev/vda2         99G   36G   59G   39% /
tmpfs            366M  4.0K  366M    1% /run/user/xxxx

この結果を見ると、/dev/vda2の空き容量が残り59Gであることがわかります。

ですので、この空き容量に対して、ddコマンドを使用してゼロ埋めを実施、無駄なスペースを無くしていきます。

コマンドは次の通りです。

# dd if=/dev/zero of=/tmp/tmpzero.tmp bs=G count=58

このコマンドは、0x00を出力する/dev/zeroから、tmpzero.tmpに対して58GBの0x00を書き込むという意味です。また、of=に指定しているファイル名はわかりやすければ任意のファイル名で良いです。

そして、count値にディスクの空き容量を入れていきます。余裕を見て1G少ない値を入力します。

作成されたゼロ書きデータを削除する

上記の状態のままですと、ゼロ書きされたファイルがディスクを圧迫していますので、tmpフォルダにあるtmpzero.tmpのファイルを削除します。

# rm tmpzero.tmp

このコマンドを実施することで、ゼロ書きされたファイルは削除されます。

イメージファイルを作成するときはddでメンテナンスを

というわけで、今回イメージファイル作成時に引っかかった疑問が解消できるよう、コマンドの説明を行なっていきましたがいかがでしたか?

この問題を解決するにあたって以下のサイトを参考にさせていただきました。ありがとうございました。

XserverVPS イメージサイズの縮小方法
https://vps.xserver.ne.jp/support/manual/man_server_image_size_reduce.php

ConoHa VPSで「イメージ保存容量」がどんどん増えていってしまう
https://neachi.net/entry/conohavps-storage-capacity

コメント

Amazon プライム対象
タイトルとURLをコピーしました