仮想マシンのディスクサイズ縮小 (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ファイルを選択して再登録します。
再登録が終了したら新しいディスクサイズは正常に仮想マシンの設定に表示されます。
仮想マシンを起動しログインしますとディスクの管理にて未割り当ての部分が消えたこと、または新しいディスクサイズを確認できます。
お疲れ様でした!