| [System Environment] | |||||||||||||
仮想ハードディスクを圧縮する(Virtual PC 2004編)
|
|||||||||||||
|
|||||||||||||
| 解説 |
TIPS「仮想ハードディスクのデフラグに注意」では、Virtual PCやVirtual Serverで利用する仮想ディスク・ファイル(.VHDファイル)をデフラグする場合の注意点について解説した。ディスクをデフラグすると、ディスクの使用中の領域(および未使用領域)が1カ所にまとめられ、その結果ディスク・アクセスが集中化することになり、ディスク入出力のパフォーマンスが向上する。
だが物理的なディスクをデフラグする場合と違い、可変長サイズの仮想ディスクをデフラグすると、仮想ディスク・ファイルの実際のサイズが拡大してしまう。その理由については、前出のTIPSを参照していただきたいが、簡単にいうと、仮想ディスク中の使用済み領域(現在使用中の領域のほか、過去に1度でも使用したことがある領域)が拡大するからだ。デフラグを行うと、新しい領域への書き込みが起こり、結果として仮想ディスク・ファイルのサイズが拡大する。またデフラグではなくても、仮想マシンのゲストOS上でファイルの作成や削除などを繰り返していると、やはり使用済み領域が増え、結果的に、不要な領域を多く含んだ、巨大な仮想ディスク・ファイルになる。
これを解決し、仮想ディスク・ファイル中の未使用領域(ファイルとして割り当てられていない領域)を本当に解放して、ファイル・サイズを最小にするには、Virtual PC 2004 SP1/Virtual Server 2005 R2に用意されている「仮想ディスクの圧縮」という操作を行う。ここでいう「圧縮(compaction)」とは、具体的には、ファイル・システムで使用していない領域(1度データを書き込んだが、ファイル削除などでその後解放された領域)を仮想ディスク・ファイルから削除し、仮想ディスク・ファイルのサイズを小さくする(無駄な領域を省く)ことである。ZIPファイルやNTFSのファイル圧縮のように、データの内容そのものを圧縮(compression)するわけではないので、何分の1にも小さくなるわけではない。あくまでも仮想ディスク・ファイル中から無駄な領域を省くという機能のことを指す(日本語版では「圧縮」と呼んでいるが、この意味では「コンパクト化」と訳す方が望ましいかもしれない)。
本TIPSでは、Virtual PC 2004(SP1)における、仮想ディスクの圧縮方法について解説する。Virtual Server 2005 R2での方法については別TIPSの「仮想ハードディスクを圧縮する(Virtual Server 2005 R2編)」を参照していただきたい。
なおこの圧縮は、可変長サイズの仮想ディスク・ファイルにのみ適用可能な処理である。固定長サイズの仮想ディスク・ファイルでは、圧縮は行えないし、その必要もない。可変長サイズの仮想ディスク・ファイルでは、データの内容が0(仮想ディスクの初期値)ばかりのブロックは、実際には.VHDファイルに保存しない。そのため仮想ディスクの圧縮では、実際には、ゲストOS上で未使用のディスク領域部分に0を書き込み、その部分を.VHDファイルから除去する、という処理を行っている。
| 操作方法 |
手順1―ゲストOS上でのデフラグ
仮想ディスク・ファイルを圧縮するためには、最初に、Virtual PC 2004 SP1(以下VPC2004)で対象となる(.VHDファイルをマウントした)ゲストOSを起動し、ファイル・システムをデフラグしておくことが望ましい。MS-DOSでも標準のデフラグ・ツール(defrag.exeコマンド)を実行しておけばよいだろう。デフラグしなくても圧縮はできるが、使用済み領域が分散したままなので、アクセス効率の向上という目的はあまり望めない。またデフラグの前に、不要なファイルの削除やごみ箱を空にするといった操作も行っておくとよい。
手順2―未使用領域への0データの書き込み
仮想ディスクの圧縮では、ディスクの未使用領域(ファイル・データが書き込まれていない領域や、ファイルを削除済みの領域)に対して、0データを書き込んでおく必要がある。1つのブロック(VPC2004がアクセスする単位)の内容がすべて0ならば、その部分が.VHDファイルから解放されるからだ。
ディスクの未使用領域に0データを書き込むには、VPC2004に付属の「バーチャル・ディスク事前圧縮ユーティリティ(virtual disk precompactor。コマンド名はprecompact.exe)」を利用する。このツールの動作原理は非常に単純で、新しいファイルを次々と作成しながら、その内容として0データを書き込むだけである(0データはいくら書き込んでも無視され、仮想ディスク・ファイル・サイズは拡大しない)。そして空き領域いっぱいにファイルを作成したら、最後にそれらをすべて消去する。その結果、未使用領域の内容はすべて0になる。
このユーティリティは、VPC2004のインストール・フォルダ(デフォルトでは「C:\Program Files\Microsoft Virtual PC」)の中にある「Virtual Machine Additions」というフォルダに「Virtual Disk Precompactor.iso」という.ISOファイルとして用意されている。これはCD-ROMイメージのファイルなので、ゲストOSに仮想CD-ROMとしてマウントする。
![]() |
|||
| 仮想CD-ROMのマウント | |||
| 仮想CD-ROMイメージをマウントするには、VPC2004の[CD]−[ISO イメージのキャプチャ]で、.ISOファイルを指定する。 | |||
|
仮想CD-ROMをマウントすると、自動的に実行するかどうかを聞いてくるので、[はい]を選択し、事前圧縮ユーティリティを起動する。
![]() |
|||
| 事前圧縮ユーティリティの実行 | |||
| 仮想CD-ROMが自動起動に設定されていると、事前圧縮ユーティリティが起動する。 | |||
|
ただし特定のドライブだけを圧縮した場合や、自動起動を無効にしている場合は、手動で実行してもよい。この仮想CD-ROMの中にはprecompact.exeというファイルが入っているので、ダブルクリックすれば起動する(あらかじめこのファイルだけをコピーして抜き出しておき、ゲストOS上へコピー後、実行してもよい)。特定のドライブだけに対して事前圧縮を行うには、コマンド・プロンプト上で実行してもよい。「-SetDisks:<ドライブ名>」で、(複数の)任意のドライブに対して実行することができる。ヘルプは「precompact -?」で表示される。
C:\>d: |
手順3―圧縮ツールの起動
以上で事前圧縮は終了である。ゲストOSをシャットダウンして、次はVPC2004の管理画面で圧縮操作を行う。ただし、ゲストOSを起動したままでは(仮想ディスクが使用中の場合は)、圧縮することはできない。
VPC2004で仮想ディスク・ファイルを圧縮するには、[ファイル]メニューの[バーチャル ディスク ウィザード]を起動し、既存の.VHDファイルの編集を選択する。
![]() |
|||
| ディスク圧縮ウィザードの起動 | |||
| 仮想マシン(ゲストOS)を停止後、バーチャル・ディスク・ウィザードを起動して、ディスクの編集を選択する。 | |||
|
次に編集対象の.VHDファイルを指定する。差分ディスクや復元ディスクは指定できないので、必要ならば(元のファイルと結合して)容量可変の仮想ディスクに変換しておく。なお、ファイルに読み取りのみ(書込み禁止)の属性が付いているとエラーになるので、(たとえ書き込むつもりがなくても)読み取りのみの属性は外しておく。
![]() |
||||||
| 圧縮対象のファイルの指定 | ||||||
| 圧縮対処の仮想ディスク・ファイルを指定して先へ進む。 | ||||||
|
次の画面では、[圧縮する]を選択する。
![]() |
|||
| 圧縮の選択 | |||
| ウィザードでは、ファイルを圧縮するか、容量固定の仮想ディスク・ファイルに変換できる。 | |||
|
次にファイルの書き込み先を指定する。元のファイルを上書きしてもよいし、別のファイルとして新規に作成してもよい。途中でエラーが生じると、仮想ディスク・ファイルが使用できなくなる可能性があるので、別のファイルに出力後、元のファイルを削除してファイル名を変更するのがよいだろう。なお、たとえ別のファイルに書き出す場合でも、元のファイルに読み取りのみの属性が付いていると(実際には何も書き込まれないようであるが)エラーになるので、注意する。必要ならば圧縮前に一時的に読み取り属性を外し、最後にまた属性を元に戻せばよいだろう。
![]() |
||||||
| 圧縮後のファイルの保存先の指定 | ||||||
| 圧縮後は、新しいファイルに保存するか、元のファイルを上書きするかを選択できる。 | ||||||
|
以上でウィザードは終了である。最後に[完了]をクリックすれば、圧縮が行われる。圧縮操作を行ってもファイル・サイズがあまり小さくならないようであれば、その仮想ディスクには無駄な領域があまり存在していないか、削除したはずのファイルがゴミ箱などに残ったまま、もしくはシステムの復元やボリューム・シャドウ・コピーによる以前のバージョンのファイルなどが残ったままかもしれないので、ゲストOSの環境を確認するとよい。![]()
| 関連リンク | ||
| Microsoft Virtual PC 2004の製品ページ(マイクロソフト) | ||
| Microsoft Virtual Server 2005 R2の製品ページ(マイクロソフト) | ||
|
||||||||||||||||||||||||||||||||
| 「Windows TIPS」 |
ホワイトペーパー(TechTargetジャパン)
- WindowsTIPS (2010/3/19)
− [シャットダウン]ボタンの設定を変更する
− WINSサーバをインストールする
− WINSサーバをnetshコマンドで管理する - Windows 7のファイアウォール機能 (2010/3/18)
Win 7のファイアウォールの概要解説。ルールセットを切り替えるプロファイル機能が強化され、ドメインでもVPNでも、適切なルールが自動選択される - 第212話 プリンタ用紙 (2010/3/16)
致命的なディスク・クラッシュが起きる確率は、クラッシュによってもたらされる被害の大きさに比例する… - WindowsTIPS (2010/3/12)
− 不要なアドオンを無効化してIE8の起動を高速化する
− IE8のソース表示エディタを変更する
− RRASのNATでポートマッピングを定義する
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |













