BLOGTIMES
2016/03/19

vmdk ファイルのサイズを確認する

  esxi 
このエントリーをはてなブックマークに追加

NFS 上に VMWare の VM イメージのバックアップをとったのですが、作成時のディスクサイズが分からなくて試行錯誤したのでメモ。

まず、バックアップした vmdk ファイルは Thin Provisioning なので「実容量」=「VM上で認識される容量(作成時のディスクサイズ)」にはなりません。正攻法としては VMWare Player や ESXi のホストでVMにマウントしてみれば確実なのですが、容量が容量なので今回はNFS に置いた状態でなんとかディスクサイズを知る方法が欲しかったということになります。

.vmdk ファイルを眺めて・・・・

ESXi で VM を作成すると、vmdk ファイルは通常、hoge.vmdk と hoge-flat.vmdk という2つセットで作成されます。
このうち、-flat.vmdk でない方にディスクの定義がテキストで格納されています。例えば以下のような感じです。

# Extent description RW 52428800 VMFS "hoge-flat.vmdk" (中略) ddb.geometry.cylinders = "3263" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" (省略)

これを眺めていて、ディスク容量のヒントになりそうな値が書いてあることに気づきました

おそらく ddb.geometry.cylinders はシリンダ数ddb.geometry.heads はヘッド数ddb.geometry.sectors はセクタ数のことだと思われます。ディスクの総セクタ数は「シリンダ数×ヘッド数×セクタ数」で表せるので、上記の例だと 3263 * 255 * 63 = 52420095 となります。この値は実データの入っている -flat.vmdk の行の脇に書いてある値(この例では 52428800 )と非常に近い値なので、おそらくこの値が -flat.vmdk の総セクタ数であると考えられます。

ディスク容量は総セクタ数×512B(セクタの容量)で求められるので、求められた値を 1024^3 で割れば GiB 単位の容量が求められます。面倒なので Google さんに計算してもらうと 25GiB*1 とディスクの容量を調べることができました。

意外となんとかなるもんです。


トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/8356
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン