- blogs:
- cles::blog

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

NFS 上に VMWare の VM イメージのバックアップをとったのですが、作成時のディスクサイズが分からなくて試行錯誤したのでメモ。
まず、バックアップした vmdk ファイルは Thin Provisioning なので「実容量」=「VM上で認識される容量(作成時のディスクサイズ)」にはなりません。正攻法としては VMWare Player や ESXi のホストでVMにマウントしてみれば確実なのですが、容量が容量なので今回はNFS に置いた状態でなんとかディスクサイズを知る方法が欲しかったということになります。
† .vmdk ファイルを眺めて・・・・
ESXi で VM を作成すると、vmdk ファイルは通常、hoge.vmdk と hoge-flat.vmdk という2つセットで作成されます。
このうち、-flat.vmdk でない方にディスクの定義がテキストで格納されています。例えば以下のような感じです。
これを眺めていて、ディスク容量のヒントになりそうな値が書いてあることに気づきました。
おそらく 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が必要です→https://blog.cles.jp/item/8356
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110212)
3 . 年次の人間ドックへ(109766)
4 . 2023 年分の確定申告完了!(1つめ)(109355)
5 . 三菱鉛筆がラミーを買収(109229)