■[Linux Tips, VMware Tips] vmdkファイルの移動


シンプロビジョニングとは、ファイルのサイズを一定量で定義するが

実際のディスクサイズは随時必要分だけ確保するという技術である。

 

例えば4GBのディスクを作成するとして、使っている量が1GBとする。

この場合、見方によっては4GB確保されるが、実際の量は恒久的に

4GBに向かって増えていくと言うことになる。

 

VMwareなどでシンプロビジョニングを利用した場合、ファイルのコピー

などで無駄な処理を省くことができる。

 

シンプロビジョニングでは、定義したディスクサイズと実際に使ってる

サイズが異なる。これはlsコマンドで取得するディスク量とduコマンドで

取得するサイズで見分けることが出来る。

 

ls:元々定義した容量

du:そのうち、使用している容量

 

仕組みとしては前述の例の場合、下記のようなイメージになる。

4GBのうち1GBを使用としているとする。

 

↓    ここだけコピーできればいい

 

使用していないブロックは0となっている。

コピーを行う際は、ここをスキップするか否かで転送速度に影響する。

 

また、これはディスク容量を確保してしまうため、0のブロックも

ファイルとしてコピーしてしまい、容量不足になる可能性もある。

 

上記の対策を行ったコマンドが下記となっています。

# cd 移動元; tar -Scf - .| (cd 移動先; tar -xvpf -)

 

「-S」オプションが重要で、0部分をスキップするオプションです。

これによりシンプロビジョニングの味覚補領域をスキップする為

コピー元とコピー先で同じ状態でコピーされます。

 

コレをやらないと、シンプロビジョニングの使用領域サイズ

ではなく、最初に定義した最大サイズでコピーされてしまします。

 

余談ですが、vmdkは20GB前後で作ることが多いと思いますので、

表示上仮想マシンが50台で最小構成のRHELだから2GBx50=100GB

くらいかなあと思ったら、20GBx50=1TBとかなったりして

バックアップ先ディスクオーバーしちゃったよ!どういうこと!?

サイズ比較したはずなのにおかしい!?

 

ということになっちゃったりします。

ご注意を。。。 (いそいそ     ←その対応をしているらしい

コメント(2)

  1. ど。

    シンプロビジョニングは便利かもしれないけど
    基本はやっぱりシックプロビジョニングがいいかもね。
    VMのデフォルトでシックだし、一応性能的な話でもシックのほうが
    よかったはず。

    VMはバックアップ系が悩ましいよね。
    取れる構成、取れない構成があるのが、、。
    VMotionとかHAとかFTとかも制約が結構きついんで、スケールアウトには気をつけないといけなかったり。。

    最近VMの教育受けた人でした。

  2. Nanako Schattener

    せんきゅー、講習の感想参考になったー。

    性能は確かにシックの方が良いし、万一ディスクがパンクしたときのことを考えると
    シンはあぶないっちゃあぶないんだけど、バックアップ・リストアタイムが大きく
    変わってくるのとどっちとるかだよね。

    HAあたりになると、ホスト側にシステムとして組み込んでミドルウェアレベルで
    HAするかとか、どこまでVMにやらせるかにもなってくるね。

    ちなみに、4.1u1のESXiだとデータストアがNASの場合、HDDはシンしか
    選べなくなっていたりする。

コメントする