仮想ハードディスクの可変と固定を比較してみる

パソコン気づいたこと

VirtualBoxで仮想マシンを作成するとき、仮想ハードディスクの設定で、可変サイズと固定サイズが選択できました。

可変サイズは設定したサイズを上限に、使用した分だけのファイルサイズとなり、固定サイズは設定したサイズの仮想ハードディスクファイルが作られます。

ホストマシンの環境に寄りますが、固定サイズで仮想ハードディスクを作成した方がパフォーマンスが良いとの事ですが、仮想マシンのクローンを作成したりする事を考えると、10GBでもホストマシンの容量を圧迫してしまいますね。

どの程度違いがあるのでしょうか?
インストールしたLubuntu20.04で簡単に比較してみました。

Windows10 Home ver.1909にインストールした、VirtualBox 6.1.8 r137981 (Qt5.6.2)の仮想マシンにLubuntu20.04LTSをインストールして作業しました。

スポンサーリンク

仮想ハードディスクの比較

Oracle VM VirtualBox マネージャー

VirtualBox仮想マシンを、仮想ハードディスクのサイズ20GBで、可変サイズ固定サイズで2つ作成しました。それ以外の設定は全て同じです。

仮想ハードディスクの初期サイズ

仮想ハードディスク(可変)
仮想ハードディスク(固定)

VirtualBoxで20GBの仮想ハードディスクを、可変サイズと固定サイズで作成した場合の初期ファイルサイズです。まだ、OSはインストールしていません。

当然、固定サイズで作成した仮想ハードディスクは、ファイルサイズも20GBとなっております。対して、可変サイズで作成した仮想ハードディスクは、2MB程度で収まってます。

1ファイル20GBって中々のサイズですよね。

Lubuntu20.04LTSをインストールした状態

仮想ハードディスク(可変)
仮想ハードディスク(固定)

Lubnutu20.04LTSをインストールした後の、仮想ハードディスクのサイズです。

固定サイズで作成した仮想ハードディスクは、インストール後もサイズは変わらず、可変サイズで作成した方は、約5GBのファイルサイズに増えました。

ディスクのパフォーマンスを簡易テストする

仮想マシンのLubuntu20.04LTSを起動し、簡単なコマンドで可変サイズ固定サイズでディスクのパフォーマンスに違いがあるか見てみます。

QTerminalの起動

Lubuntu20.04LTS

まずは、端末QTerminalを起動します。
メニューから「システムツール」→「QTerminal」となります。

hdparmコマンドで読み込み速度を計測

sudo hdparm -t /dev/sda

QTerminalで上記コマンドを入力します。パスワードを要求されますので、ログイン時のパスワードを入力してください。

/dev/sda:
 Timing buffered disk reads: 1414 MB in  3.00 seconds = 471.11 MB/sec

と表示されると、1秒当たりの読み込み速度は471.11MBとなりました。

ddコマンドで書き込み速度を計測

dd if=/dev/zero of=/tmp/testimg bs=1M count=1024

先ほどと同様にQTerminalで上記コマンドを入力します。

1073741824 bytes (1.1 GB, 1.0 Gib) copied, 0.952386 s, 1.1 GB/s

1秒当たりの書き込み速度は1.1GBとなりました。

可変サイズと固定サイズで比較してみる

可変サイズ固定サイズ
読み込み書き込み読み込み書き込み
1回目544.26MB/s974MB/s395.06MB/s374MB/s
2回目562.63MB/s1,100MB/s472.75MB/s377MB/s
3回目555.13MB/s1,000MB/s473.90MB/s404MB/s
平均554.01MB/s1,025MB/s447.24MB/s385MB/s

と、私の方法が間違っているのか、可変サイズの方が読み込みも書き込みも速い結果となってしまいました。

固定サイズの方がパフォーマンスが良いとの事だったはずですが・・・

可変サイズのハードディスクファイルは使用した分だけ(固定サイズを上限として)物理ハードディスクの領域を消費しますが、スペースを開放しても自動的に縮小はしません。

固定サイズのハードディスクファイルはシステムによっては作成に時間はかかるかもしれませんが、使用すると高速です

VirtualBox仮想マシン新規作成のインストーラーから

まとめ

予想と違う結果となりました。

簡易的なベンチマークではなく、fioなどもう少し詳しく計測すると、今回と違った結果となるのでしょうか?

しかし、OSの実験的な用途であれば、上記の結果を見る限り、仮想ハードディスクを可変サイズにしたせいで困る、と言うことは無いと思うので、ファイルサイズでメリットのある可変サイズで良いと思います。

でも、なんで固定サイズの方がリードもライトも遅いのかなぁ~

コメント

タイトルとURLをコピーしました