- クラウド技術
AWS Windows ServerのルートボリュームのEBSの容量を縮小する方法
- #AWS
ネットでEBSの容量を縮小する方法について検索すると、Linuxに関する記事はたくさんありますが、Windows Severに関する記事はあまりありませんでしたので、今回はWindows ServerのルートボリュームのEBSの容量を縮小する方法について紹介します。
Windows Server パーティションの縮小
【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc. 詳細はこちらから>
今回は100GBのEBSを30GBに縮小する例を紹介します。まずは、Windows Serverのパーティションを縮小する必要があります。
スタートメニューの検索欄に「diskmgmt.msc」と入力し実行します。
縮小したいパーティションを右クリックし、「ボリュームを縮小」を選択します。縮小できるディスクを全部縮小すると新たにデータを書き込めなくなるので、ある程度余裕を持たせて縮小します。
縮小後のEBSボリュームの作成
その後、縮小後のEBSボリュームを作成します。
縮小後のEBSの容量は上記の割り当て済みのディスク容量より大きい必要があります。また、アベイラビリティーゾーンはWindows Serverと同じになるように設定する必要があります。
作業用Linuxの作成とEBSのアタッチ
EBSを作成できたら、EBSのデータを同期するための作業用LinuxのEC2を作成します。今回作成した作業用LinuxのEC2は「Amazon Linux2023」を利用しています。アベイラリティゾーンもWindows Serverと同じアベイラリティゾーンに設定する必要があります。作業用LinuxのEC2を作成後、元のEBSと縮小後のEBSをアタッチします。元のEBSのデバイス名を/dev/sdfに、縮小後のEBSのデバイス名を/dev/sdgに設定します。
データ同期
EBSを作業用LinuxのEC2にアタッチしたら、EC2にssh接続して、データ同期を行います。同期用のコマンドは下記を参照してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
[ec2-user@ ~]$ sudo su - [root@ ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS xvda 202:0 0 8G 0 disk tqxvda1 202:1 0 8G 0 part / tqxvda127 259:0 0 1M 0 part mqxvda128 259:1 0 10M 0 part /boot/efi xvdf 202:80 0 100G 0 disk mqxvdf1 202:81 0 21.9G 0 part xvdg 202:96 0 30G 0 disk [root@ ~]# fdisk -l -u /dev/sdf Disk /dev/sdf: 100 GiB, 107374182400 bytes, 209715200 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x198c5123 Device Boot Start End Sectors Size Id Type /dev/sdf1 * 2048 45873151 45871104 21.9G 7 HPFS/NTFS/exFAT [root@ ~]# fdisk -l -u /dev/sdg Disk /dev/sdg: 30 GiB, 32212254720 bytes, 62914560 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes [root@ ~]# dd if=/dev/sdf of=/dev/sdg bs=512 count=1 1+0 records in 1+0 records out 512 bytes copied, 0.00732727 s, 69.9 kB/s [root@ ~]# dd if=/dev/sdf1 of=/dev/sdg1 bs=1M 22398+0 records in 22398+0 records out 23486005248 bytes (23 GB, 22 GiB) copied, 834.983 s, 28.1 MB/s [root@ ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS xvda 202:0 0 8G 0 disk tqxvda1 202:1 0 8G 0 part / tqxvda127 259:0 0 1M 0 part mqxvda128 259:1 0 10M 0 part /boot/efi xvdf 202:80 0 100G 0 disk mqxvdf1 202:81 0 21.9G 0 part xvdg 202:96 0 30G 0 disk mqxvdg1 202:97 0 21.9G 0 part [root@ ~]# fdisk -l -u /dev/sdg Disk /dev/sdg: 30 GiB, 32212254720 bytes, 62914560 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x198c5123 Device Boot Start End Sectors Size Id Type /dev/sdg1 * 2048 45873151 45871104 21.9G 7 HPFS/NTFS/exFAT |
Windows Serverに縮小後のEBSボリュームをアタッチ
データ同期が完了したら、Windows Serverに縮小後のEBSボリュームをアタッチします。デバイス名をルートボリュームの /dev/sda1に設定します。アタッチ後、Windows Serverを起動して、接続できることを確認します。
*縮小前の元のEBSと作業用LinuxのEC2は削除して大丈夫です。
Windows Serverに接続できたら、節「Windows Serverパーティションの縮小」と同じようにスタートメニューの検索欄に「diskmgmt.msc」と入力し実行します。
下記画像のように、総容量が縮小後のEBSになっています。また、一部の未割当領域があることが確認できます。
未割当領域を割り当てるため、割り当てたいパーティションを右クリックし、「ボリュームを拡張」を選択します。
設定は全部デフォルトで、「Next」を選択し、ボリュームを拡張します。
拡張したら、下記画像のように領域が全部割り当て済みになります。これで縮小後のEBSが完全に使用可能となります。
【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>