演習 - VM ディスクのサイズの変更
いくつかのアップロード ファイルの大きさを小さく見積もったために、アップロード ディスクの領域が不足しているとしましょう。 領域を、64 GB から 128 GB の 2 倍にすることを決定しました。
ここでは、前のユニットで学習した手順を実践します。
データ ディスクのサイズを変更する
ディスクのサイズを変更するには、ディスクの ID または名前が必要です。 この場合、名前 (*uploadDataDisk1) は既にわかっていますが、わからない場合や他のユーザーがディスクを作成した場合は、az disk list
を実行して名前を見つけることができます。
az disk list
コマンドを実行し、リソース グループのマネージド ディスクの一覧を出力します。 同じリソース グループに VM が複数ある場合、この一覧には他のディスクも含まれる場合があります。az disk list \ --query '[*].{Name:name,Gb:diskSizeGb,Tier:sku.tier}' \ --output table
uploadDataDisk1 という名前のディスクがあります。
Name Tier ---------------------------------------------------------- ------- support-web-vm01_OsDisk_1_a7c59897dfda42dfab2edf4933e713a6 Premium uploadDataDisk1 Premium
次の
az vm deallocate
のコマンドを実行し、VM を停止し、割り当てを解除します。 このコマンドは VM を削除はしませんが、VM を仮想ディスクが変更できる状態にします。az vm deallocate --name support-web-vm01
az disk update
コマンドを実行し、ディスクのサイズを 128 GB に変更します。az disk update --name uploadDataDisk1 --size-gb 128
az vm start
コマンドを実行し、VM を再起動します。az vm start --name support-web-vm01
まだ完了ではありません。 VM 上のオペレーティング システムは、追加の領域をまだ使用できません。 この状況には、次のセクションで対処します。
ディスク パーティションを拡張する
最後の手順では、利用可能な領域を OS に伝えます。 既に行ったパーティション分割とフォーマットの手順と同様に、このプロセスは、物理的なオンプレミス ディスクを拡張するために従うプロセスと同一です。
VM に対して固定のパブリック IP アドレスを予約することも可能ですが、VM は割り当てが解除され再起動されたときに、既定で新しいパブリック IP アドレスを受け取ります。 次の
az vm show
コマンドを実行し、Bash 変数を VM の新しいパブリック IP アドレスに変更します。ipaddress=$(az vm show --name support-web-vm01 -d --query [publicIps] -o tsv)
以前実行したように、VM で SSH を使用し
lsblk
を実行し、現在の状態を理解します。ssh azureuser@$ipaddress lsblk
ディスク
sdc/sdc1
のサイズがまだ 64 GB であることを確認できます。NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 7G 0 disk └─sdb1 8:17 0 7G 0 part /mnt sdc 8:32 0 128G 0 disk └─sdc1 8:33 0 64G 0 part /uploads sda 8:0 0 30G 0 disk ├─sda14 8:14 0 4M 0 part ├─sda15 8:15 0 106M 0 part /boot/efi └─sda1 8:1 0 29.9G 0 part /
ディスクの初期化のために既に行ったのと同様に、次の
az vm extension set
コマンドを実行し、事前に作成しておいた Bash スクリプトを実行することで VM 上の OS に新しい領域が利用可能であることを通知します。az vm extension set \ --vm-name support-web-vm01 \ --name customScript \ --publisher Microsoft.Azure.Extensions \ --settings '{"fileUris":["https://raw.githubusercontent.com/MicrosoftDocs/mslearn-add-and-size-disks-in-azure-virtual-machines/master/resize-data-disk.sh"]}' \ --protected-settings '{"commandToExecute": "./resize-data-disk.sh"}'
コマンドを実行しながら、必要に応じて、別のブラウザー タブで Bash スクリプトを調べることができます。
まとめると、スクリプトでは次のことが行われます。
- ディスク
/dev/sdc1
のマウントを解除します。 - パーティション 1 のサイズを 128 GB に変更します。
- パーティションの整合性を確認します。
- ファイル システムのサイズを変更します。
- ドライブ
/dev/sdc1
をマウント ポイント/uploads
にマウントし直します。
- ディスク
構成を確認するには、VM で再度 SSH を使用し
lsblk
を実行します。ssh azureuser@$ipaddress lsblk
今回は、ディスク
sdc/sdc1
が拡張され、増やしたディスク サイズに対応できることをご確認いただけます。NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 7G 0 disk └─sdb1 8:17 0 7G 0 part /mnt sdc 8:32 0 128G 0 disk └─sdc1 8:33 0 119.2G 0 part /uploads sda 8:0 0 30G 0 disk ├─sda14 8:14 0 4M 0 part ├─sda15 8:15 0 106M 0 part /boot/efi └─sda1 8:1 0 29.9G 0 part /
最終的な検証手順として SSH 経由で VM でオペレーティング システムの
df
ユーティリティを実行し、OS でそれを正しく表示できることを証明します。ssh azureuser@$ipaddress df -h
ドライブのサイズが 128 GB であることを確認できます。
Filesystem Size Used Avail Use% Mounted on udev 1.7G 0 1.7G 0% /dev tmpfs 345M 9.3M 335M 3% /run /dev/sda1 29G 1.9G 28G 7% / tmpfs 1.7G 0 1.7G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup /dev/sda15 105M 3.2M 102M 3% /boot/efi /dev/sdb1 6.8G 16M 6.4G 1% /mnt /dev/sdc1 118G 60M 112G 1% /uploads tmpfs 345M 0 345M 0% /run/user/1000