困った!
家で実験に使っている Windows Server 2008 R2 のディスク容量が枯渇してしまってWindows Updateできなくなってしまいました。
この Windows Server は VMware ESXi 5.5 上に構築している仮想マシンなので、VMware と Windows の機能を使ってCドライブのディスク容量を拡張してみました。
環境
今回ディスク容量の拡張を試した僕の環境は、VMware ESXi 5.5 をインストールしたマシン上にデプロイした Windows Server 2008 R2 の仮想マシンです。ディスク容量は 20GB、ActiveDirectoryとIISを動かしており、冗長化はしていないシングルのサーバです。
今回は同じ環境上に作業用の Windows VM を 1台、この VM群を操作するための端末(Windows 7 professional 64bit)、およびこれにインストールした VMware vSphere Client 5.5 を使います。
準備するもの
- vSphere Client
- 拡張するのとは別の作業用 Windows VM (今回は Windows 7 professional 64bit を使用)
概要
つぎのような手順です。
- vSphere Client から Windows Server 2008 R2 の仮想ディスクの容量を拡張
- 作業用 Windows VM に 1 を追加
- 作業用 Windows VM から 1 を拡張
- 作業用 Windows VM から 1 を取り外し
ターゲットである Windows Server 2008 R2 のディスクに対して拡張したいサイズを vSphere Client で設定したら(物理的なサイズの拡張に相当)、別の Windows マシンからそれをディスク上に設定する(論理的なサイズの拡張に相当)する、という流れです。
手順
1. 対象の Windows Server 2008 R2 をシャットダウン
Windows へログオンし、通常の手順でシャットダウンします。
2. vSphere Client から Windows Server 2008 R2 の仮想ディスクの容量を拡張
vSphere Client から「設定の編集」コマンドを選びます。
「仮想マシンのプロパティ」から、拡張したいハードディスク(以降「ターゲット」)のサイズを増やします。
今回は 20GB から 50GB に拡張してみました。
このあと必要になるので、このタイミングで「ディスクファイル」欄の内容を確認しておきます。
今回は「[SATA_7.2K_160GB_01] WindowsServer2008R2/WindowsServer2008R2.vmdk」でした。
最初の[]内がストレージの名前、続きがパスとファイル名です。
3. 作業用 Windows VM にターゲットのディスクを追加
シャットダウン済みの作業用 Windows VM (今回は Windows 7 professional 64bit を使用)にターゲットのディスクを追加します。
vSphere Client から「設定の編集」コマンドを選び、「追加..」を押下します。
追加したいのはハードディスクなので、「ハードディスク」を選びます。
「既存の仮想ディスクを使用」を選択します。
さきほど確認した「ディスクファイル」欄の内容どおりにディスクファイルを参照します。
とくに問題なければ「終了」を押下します。
追加したディスクが表示されていればOKです。
4. 作業用 Windows VM からターゲットのディスクを拡張
作業用 Windows VM を起動し、Administrator権限を持つユーザでログオンします。
コマンドプロンプトなどから diskpart コマンドを起動し、管理者権限での動作を許可します。
list volume コマンドで認識している Volume の一覧を確認します。
今回、ターゲットは Volume 3, 4 で認識されていました。
このタイミングでは、ディスク容量は拡張前のサイズで表示されます。
Microsoft DiskPart バージョン 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: WIN7PROX64
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 D GSP1RMCPRXF UDF DVD-ROM 3168 MB 正常
Volume 1 システムで予約済み NTFS Partition 100 MB 正常 システム
Volume 2 C NTFS Partition 31 GB 正常 ブート
Volume 3 E システムで予約済み NTFS Partition 100 MB 正常
Volume 4 F NTFS Partition 19 GB 正常 ページ ファイル
拡張の対象は Volume 4 なので、これを選択し、拡張します。
DISKPART> select volume 4
ボリューム 4 が選択されました。
DISKPART> extend
DiskPart はボリュームを正常に拡張しました。
再度 list volume で確認すると、Volume 4 のサイズが増えています。
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 D GSP1RMCPRXF UDF DVD-ROM 3168 MB 正常
Volume 1 システムで予約済み NTFS Partition 100 MB 正常 システム
Volume 2 C NTFS Partition 31 GB 正常 ブート
Volume 3 E システムで予約済み NTFS Partition 100 MB 正常
* Volume 4 F NTFS Partition 49 GB 正常 ページ ファイル
DISKPART>
exit コマンドでプロンプトを抜けます。
5. 作業用 Windows VM から 1 を取り外し
作業用 Windows VM はもう使わないので、シャットダウンします。
正常なシャットダウンを確認したら、vSphere Client を用いて作業用 Windows VM からターゲットのディスクを取り外します。
対象のハードディスクを選んで「削除」ボタンを押下します。
表現が「削除」なのでぞっとしますが、削除オプションが「仮想マシンから削除」であればディスクファイルが削除される訳ではないので、「OK」ボタンを押下します。
6. 結果確認
Windows Server 2008 R2 を起動し、ディスク容量を確認します。
狙ったとおり、拡張することができました。