1. HOME
  2. ブログ
  3. ブログ
  4. テックブログ
  5. テックブログ
  6. 仮想マシンのディスクサイズ縮小 (Windows版)

Article

記事一覧

テックブログ

仮想マシンのディスクサイズ縮小 (Windows版)

こんにちは、お疲れ様です!
技術部のホルトベッカです!

今回はWindows Server 2019を使っている仮想マシンのディスクサイズを縮小したいです。
縮小の場合はOS上とESXi上の操作が行うためそれぞれのログイン情報を準備します。
作業を始まる前は仮想マシンのフルバックアップを取ります。又は仮想マシンのスナップショットを削除します。

> Part 1 – OSの操作

対象の仮想マシンにリモートデスクトップに接続し、左下のWindowsボタンを右クリックして「ディスクの管理」を開きます。

変更したいディスクを右クリックし、「縮小」をクリックします。

テスト用のWindowsに100GBのディスクを使用しています。これから20GBを削って、80GBのディスクに変更したいです。

→縮小後


ディスク管理の画面以外にdiskpartでもディスクのサイズを削ることはできます。
Windowsボタンをクリックして、「cmd」を打って、コマンドプロンプトを開きます。

次は下記コマンドを使用します:

C:\Users\Administrator>diskpart
Microsoft DiskPart バージョン 10.0.17763.1911
Copyright (C) Microsoft Corporation.
コンピューター: WIN-3RO6L8FPTTP
DISKPART> list volume
  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0     D                       DVD-ROM         0 B  メディアなし
  Volume 1         システムで予約済み    NTFS   Partition    549 MB  正常         システム
  Volume 2     C                NTFS   Partition     99 GB  正常         ブート
DISKPART> select volume 2
ボリューム 2 が選択されました。
DISKPART> shrink desired 20480
ボリュームは、次の方法で正常に縮小されました:   20 GB
DISKPART>

> Part 2 – SSHの操作

OS内にディスクサイズを変更した後に仮想マシンをシャットダウンします。
SSHでESXiのホストにログインし対象仮想マシンのディスクファイルが保存されているディレクトリに移動します(cd /vmfs/volumes/データストア名/仮想マシン名/)。

[root@vm38:~] cd /vmfs/volumes/SSD1TB_2/shrink_test/
[root@vm38:/vmfs/volumes/5de152e0-a8e9f38d-7b83-00262d0d96e0/shrink_test] ls -la
total 121752768
drwxr-xr-x    1 root     root         73728 Sep 21 04:14 .
drwxr-xr-t    1 root     root         77824 Sep 21 04:01 ..
-rw-------    1 root     root     17179869184 Sep 21 04:14 shrink_test-9d90306e.vswp
-rw-------    1 root     root     107374182400 Sep 21 04:46 shrink_test-flat.vmdk
-rw-------    1 root     root          8684 Sep 21 04:15 shrink_test.nvram
-rw-------    1 root     root           529 Sep 21 04:14 shrink_test.vmdk
-rw-r--r--    1 root     root             0 Sep 20 05:26 shrink_test.vmsd
-rwxr-xr-x    1 root     root          3049 Sep 21 04:15 shrink_test.vmx
-rw-------    1 root     root             0 Sep 21 04:14 shrink_test.vmx.lck
-rwxr-xr-x    1 root     root          3022 Sep 21 04:15 shrink_test.vmx~
-rw-r--r--    1 root     root        553446 Sep 20 09:14 vmware-1.log
-rw-r--r--    1 root     root        305455 Sep 20 09:17 vmware-2.log
-rw-r--r--    1 root     root        321650 Sep 21 04:11 vmware-3.log
-rw-r--r--    1 root     root        283928 Sep 21 04:40 vmware.log
-rw-------    1 root     root     115343360 Sep 21 04:14 vmx-shrink_test-2643472494-1.vswp
[root@vm38:/vmfs/volumes/5de152e0-a8e9f38d-7b83-00262d0d96e0/shrink_test] 

これから「仮想マシン名.vmdk」のファイルを編集します。
作業開始前に仮想マシンのフルバックアップを実行していない場合は*.vmdkと*-flat.vmdkファイルを
バックアップします。.vmdkファイルをファイルエディターで開いて(*-flat.vmdkのファイルは編集しません) 「Extended description」の項目を探します。こちらの項目に現在のディスクサイズが512byteのブロックの数字で書いてあります。
100GBの場合は 209715200 (100*1024*1024*1024/512) です。今回は80GBに縮小したいため、数字を 167772160 (80*1024*1024*1024/512)に変更してからファイルを保存します。

# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=63d92ada
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"

# Extent description
RW 167772160 VMFS "shrink_test-flat.vmdk"

> Part 3 – ウェブ管理画面の操作

最後はESXiのウェブ管理画面にログインします。
ディスクサイズは正常に変更されても仮想マシンの設定を確認すると新しいサイズはまだ反映されていません。

仮想マシンの登録解除と再登録が必要です。
対象の仮想マシンを選択して、「アクション」ボタンから「登録解除」をクリックします。


次は仮想マシンの一覧から「仮想マシンの作成/登録」を選択して、下記画面の様に仮想マシンのvmxファイルを選択して再登録します。

再登録が終了したら新しいディスクサイズは正常に仮想マシンの設定に表示されます。

仮想マシンを起動しログインしますとディスクの管理にて未割り当ての部分が消えたこと、または新しいディスクサイズを確認できます。

お疲れ様でした!

この記事が気に入ったら
いいね ! してください

Twitter で