チュートリアル - Azure CLI を使用した Azure ディスクの管理Tutorial - Manage Azure disks with the Azure CLI

Azure Virtual Machines (VM) では、オペレーティング システム、アプリケーション、およびデータを格納するためにディスクを使用します。Azure virtual machines (VMs) use disks to store the operating system, applications, and data. VM を作成するときは、予測されるワークロードに適したディスクのサイズと構成を選択する必要があります。When you create a VM, it is important to choose a disk size and configuration appropriate to the expected workload. このチュートリアルでは、VM ディスクのデプロイと管理方法を示します。This tutorial shows you how to deploy and manage VM disks. 内容は次のとおりです。You learn about:

  • OS ディスクと一時ディスクOS disks and temporary disks
  • データ ディスクData disks
  • Standard ディスクと Premium ディスクStandard and Premium disks
  • ディスクのパフォーマンスDisk performance
  • データ ディスクの接続と準備Attaching and preparing data disks
  • ディスクのサイズ変更Resizing disks
  • ディスクのスナップショットDisk snapshots

既定の Azure ディスクDefault Azure disks

Azure 仮想マシンを作成すると、2 つのディスクが仮想マシンに自動的に接続されます。When an Azure virtual machine is created, two disks are automatically attached to the virtual machine.

オペレーティング システム ディスク - オペレーティング システム ディスクは、最大 2 TB までサイズを変更でき、VM のオペレーティング システムをホストします。Operating system disk - Operating system disks can be sized up to 2 TB, and hosts the VMs operating system. OS ディスクには既定で /dev/sda というラベルが付けられています。The OS disk is labeled /dev/sda by default. OS ディスクのディスク キャッシュ構成は、OS パフォーマンスの向上のために最適化されています。The disk caching configuration of the OS disk is optimized for OS performance. この構成のため、アプリケーションまたはデータ用に OS ディスクを使用しないでくださいBecause of this configuration, the OS disk should not be used for applications or data. アプリケーションとデータ用には、このチュートリアルの後半で説明するデータ ディスクを使用してください。For applications and data, use data disks, which are detailed later in this tutorial.

一時ディスク - 一時ディスクは、VM と同じ Azure ホストに配置されているソリッド ステート ドライブを使用します。Temporary disk - Temporary disks use a solid-state drive that is located on the same Azure host as the VM. 一時ディスクは、パフォーマンスが高く、一時的なデータ処理などの操作に使用される場合があります。Temp disks are highly performant and may be used for operations such as temporary data processing. ただし、VM を新しいホストに移動すると、一時ディスクに格納されているデータは削除されます。However, if the VM is moved to a new host, any data stored on a temporary disk is removed. 一時ディスクのサイズは VM のサイズによって決まります。The size of the temporary disk is determined by the VM size. 一時ディスクには /dev/sdb のラベルが付けられており、 /mnt というマウント ポイントがあります。Temporary disks are labeled /dev/sdb and have a mountpoint of /mnt.

Azure データ ディスクAzure data disks

アプリケーションのインストールとデータの格納を行うために、データ ディスクを追加できます。To install applications and store data, additional data disks can be added. 耐久性と応答性の高いデータ ストレージが望ましい状況では、必ず、データ ディスクを使用する必要があります。Data disks should be used in any situation where durable and responsive data storage is desired. 仮想マシンのサイズによって、VM に接続できるデータ ディスクの数が決まります。The size of the virtual machine determines how many data disks can be attached to a VM. 各 VM vCPU に、4 つのデータ ディスクを接続できます。For each VM vCPU, four data disks can be attached.

VM ディスクの種類VM disk types

Azure では、Standard と Premium の 2 種類のディスクを提供しています。Azure provides two types of disks, standard and Premium.

Standard ディスクStandard disk

Standard Storage では、HDD が使用されており、高パフォーマンスでありながらコスト効率にも優れたストレージを提供します。Standard Storage is backed by HDDs, and delivers cost-effective storage while still being performant. Standard ディスクは、コスト効率が重視される、開発およびテストのワークロードに最適です。Standard disks are ideal for a cost effective dev and test workload.

Premium ディスクPremium disk

Premium ディスクは、SSD ベースの高性能で待機時間の短いディスクによってサポートされています。Premium disks are backed by SSD-based high-performance, low-latency disk. 実稼働ワークロードを実行する VM に最適です。Perfect for VMs running production workload. Premium Storage は、DS シリーズ、DSv2 シリーズ、GS シリーズ、FS シリーズの VM をサポートしています。Premium Storage supports DS-series, DSv2-series, GS-series, and FS-series VMs. ディスク サイズを選択するときは、値を切り上げて 1 つ上の種類にします。When you select a disk size, the value is rounded up to the next type. たとえば、ディスク サイズが 128 GB 未満の場合、ディスクの種類は P10 です。For example, if the disk size is less than 128 GB, the disk type is P10. ディスク サイズが 129 ~ 512 GB の場合、サイズは P20 です。If the disk size is between 129 GB and 512 GB, the size is a P20. 512 GB を超えた場合、サイズは P30 です。Over, 512 GB, the size is a P30.

Premium ディスクのパフォーマンスPremium disk performance

Premium SSD のサイズPremium SSD sizes  P4P4 P6P6 P10P10 P15P15 P20P20 P30P30 P40P40 P50P50 P60P60 P70P70 P80P80
ディスク サイズ (GiB)Disk size in GiB 3232 6464 128128 256256 512512 1,0241,024 2,0482,048 4,0964,096 8,1928,192 16,38416,384 32,76732,767
ディスクあたりの IOPSIOPS per disk 120120 240240 500500 1,1001,100 2,3002,300 5,0005,000 7,5007,500 7,5007,500 16,00016,000 18,00018,000 20,00020,000
ディスクあたりのスループットThroughput per disk 25 MiB/秒25 MiB/sec 50 MiB/秒50 MiB/sec 100 MiB/秒100 MiB/sec 125 MiB/秒125 MiB/sec 150 MiB/秒150 MiB/sec 200 MiB/秒200 MiB/sec 250 MiB/秒250 MiB/sec 250 MiB/秒250 MiB/sec 500 MiB/秒500 MiB/sec 750 MiB/秒750 MiB/sec 900 MiB/秒900 MiB/sec

上記の表は、ディスクあたりの最大 IOPS を割り出していますが、複数のデータ ディスクをストライピングすることによって、より高いレベルのパフォーマンスを実現できます。While the above table identifies max IOPS per disk, a higher level of performance can be achieved by striping multiple data disks. たとえば、Standard_GS5 VM では、最大 80,000 IOPS を実現できます。For instance, a Standard_GS5 VM can achieve a maximum of 80,000 IOPS. VM あたりの最大 IOPS の詳細については、Linux VM のサイズに関するページを参照してください。For detailed information on max IOPS per VM, see Linux VM sizes.

Azure Cloud Shell を起動するLaunch Azure Cloud Shell

Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。It has common Azure tools preinstalled and configured to use with your account.

Cloud Shell を開くには、コード ブロックの右上隅にある [使ってみる] を選択します。To open Cloud Shell, select Try it from the upper right corner of a code block. https://shell.azure.com/powershell に移動して、別のブラウザー タブで Cloud Shell を起動することもできます。You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/powershell. [コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けてから、Enter キーを押して実行します。Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

ディスクを作成して接続するCreate and attach disks

データ ディスクの作成および接続は、VM の作成時や、既存の VM に対して実行することができます。Data disks can be created and attached at VM creation time or to an existing VM.

VM の作成時にディスクを接続するAttach disk at VM creation

az group create コマンドでリソース グループを作成します。Create a resource group with the az group create command.

az group create --name myResourceGroupDisk --location eastus

az vm create コマンドを使用して VM を作成します。Create a VM using the az vm create command. 次の例では、myVM という名前の VM を作成し、azureuser という名前のユーザー アカウントを追加します。さらに、まだ SSH キーが存在しない場合は SSH キーを生成します。The following example creates a VM named myVM, adds a user account named azureuser, and generates SSH keys if they do not exist. --datadisk-sizes-gb 引数は、追加のディスクを作成してこの仮想マシンに接続するように指定するために使用します。The --datadisk-sizes-gb argument is used to specify that an additional disk should be created and attached to the virtual machine. 複数のディスクを作成して接続するには、ディスク サイズ値をスペースで区切ったリストを使用します。To create and attach more than one disk, use a space-delimited list of disk size values. 次の例では、どちらも 128 GB のデータ ディスクを 2 つ備えた VM が作成されます。In the following example, a VM is created with two data disks, both 128 GB. ディスク サイズが 128 GB であるため、両方のディスクが P10 として構成され、ディスクあたり最大 500 IOPS を実現します。Because the disk sizes are 128 GB, these disks are both configured as P10s, which provide maximum 500 IOPS per disk.

az vm create \
  --resource-group myResourceGroupDisk \
  --name myVM \
  --image UbuntuLTS \
  --size Standard_DS2_v2 \
  --generate-ssh-keys \
  --data-disk-sizes-gb 128 128

既存の VM にディスクを接続するAttach disk to existing VM

新しいディスクを作成して既存の仮想マシンに接続するには、az vm disk attach コマンドを使用します。To create and attach a new disk to an existing virtual machine, use the az vm disk attach command. 次の例では、サイズが 128 ギガバイトの Premium ディスクが作成され、最後の手順で作成した VM に接続されます。The following example creates a premium disk, 128 gigabytes in size, and attaches it to the VM created in the last step.

az vm disk attach \
    --resource-group myResourceGroupDisk \
    --vm-name myVM \
    --name myDataDisk \
    --size-gb 128 \
    --sku Premium_LRS \

データ ディスクを準備するPrepare data disks

ディスクが仮想マシンに接続されたら、そのディスクを使用するようにオペレーティング システムを構成する必要があります。Once a disk has been attached to the virtual machine, the operating system needs to be configured to use the disk. 次の例は、ディスクを手動で構成する方法を示しています。The following example shows how to manually configure a disk. この処理は、cloud-init を使用して自動化することもできます。詳細については、後のチュートリアルで説明します。This process can also be automated using cloud-init, which is covered in a later tutorial.

仮想マシンとの SSH 接続を作成します。Create an SSH connection with the virtual machine. この例の IP アドレスは、仮想マシンのパブリック IP で置き換えてください。Replace the example IP address with the public IP of the virtual machine.


fdisk を使用してディスクをパーティション分割します。Partition the disk with fdisk.

(echo n; echo p; echo 1; echo ; echo ; echo w) | sudo fdisk /dev/sdc

mkfs コマンドを使用してパーティションにファイル システムを書き込みます。Write a file system to the partition by using the mkfs command.

sudo mkfs -t ext4 /dev/sdc1

オペレーティング システムでアクセスできるように、新しいディスクをマウントします。Mount the new disk so that it is accessible in the operating system.

sudo mkdir /datadrive && sudo mount /dev/sdc1 /datadrive

これで datadrive マウント ポイントを通じてディスクにアクセスできるようになりました。これは df -h コマンドを実行することで確認できます。The disk can now be accessed through the datadrive mountpoint, which can be verified by running the df -h command.

df -h

出力には、 /datadrive にマウントされた新しいドライブが示されます。The output shows the new drive mounted on /datadrive.

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        30G  1.4G   28G   5% /
/dev/sdb1       6.8G   16M  6.4G   1% /mnt
/dev/sdc1        50G   52M   47G   1% /datadrive

再起動後にドライブが確実に再マウントされるように、そのドライブを /etc/fstab ファイルに追加する必要があります。To ensure that the drive is remounted after a reboot, it must be added to the /etc/fstab file. これを行うには、blkid ユーティリティを使用してディスクの UUID を取得します。To do so, get the UUID of the disk with the blkid utility.

sudo -i blkid

出力には、ドライブ (この例では /dev/sdc1) の UUID が表示されます。The output displays the UUID of the drive, /dev/sdc1 in this case.

/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="ext4"

次のような行を /etc/fstab ファイルに追加します。Add a line similar to the following to the /etc/fstab file.

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive  ext4    defaults,nofail   1  2

ディスクが構成されたので、SSH セッションを閉じます。Now that the disk has been configured, close the SSH session.


ディスクのスナップショットを作成するTake a disk snapshot

ディスクのスナップショットを作成すると、特定の時点のディスクに対する読み取り専用のコピーが作成されます。When you take a disk snapshot, Azure creates a read only, point-in-time copy of the disk. Azure VM のスナップショットは、構成に変更を加える前に、VM の状態を簡単に保存するときに役立ちます。Azure VM snapshots are useful to quickly save the state of a VM before you make configuration changes. 問題やエラーが発生した場合は、スナップショットを使用して VM を復元できます。In the event of an issue or error, VM can be restored using a snapshot. VM に複数のディスクがある場合は、各ディスクのスナップショットが個別に作成されます。When a VM has more than one disk, a snapshot is taken of each disk independently of the others. アプリケーション整合性のあるバックアップを取得するには、ディスクのスナップショットを作成する前に、VM を停止することを検討してください。To take application consistent backups, consider stopping the VM before you take disk snapshots. または、Azure Backup サービスを使用して、VM の実行中に自動的にバックアップを実行できます。Alternatively, use the Azure Backup service, which enables you to perform automated backups while the VM is running.

スナップショットの作成Create snapshot

仮想マシンのディスクのスナップショットを作成する前に、ディスクの ID または名前が必要です。Before you create a virtual machine disk snapshot, the ID or name of the disk is needed. ディスク ID を取得するには、az vm show コマンドを使用します。Use the az vm show command to return the disk ID. この例では、ディスク ID を変数に格納して、後の手順で使用できるようにしています。In this example, the disk ID is stored in a variable so that it can be used in a later step.

osdiskid=$(az vm show \
   -g myResourceGroupDisk \
   -n myVM \
   --query "storageProfile.osDisk.managedDisk.id" \
   -o tsv)

仮想マシンのディスク ID を取得したら、次のコマンドでディスクのスナップショットを作成します。Now that you have the ID of the virtual machine disk, the following command creates a snapshot of the disk.

az snapshot create \
    --resource-group myResourceGroupDisk \
    --source "$osdiskid" \
    --name osDisk-backup

スナップショットからのディスクの作成Create disk from snapshot

このスナップショットをディスクに変換すれば、それを使って仮想マシンを作成し直すことができます。This snapshot can then be converted into a disk, which can be used to recreate the virtual machine.

az disk create \
   --resource-group myResourceGroupDisk \
   --name mySnapshotDisk \
   --source osDisk-backup

スナップショットからの仮想マシンの復元Restore virtual machine from snapshot

実際に仮想マシンを復元してみましょう。既存の仮想マシンは削除します。To demonstrate virtual machine recovery, delete the existing virtual machine.

az vm delete \
--resource-group myResourceGroupDisk \
--name myVM

スナップショット ディスクから新しい仮想マシンを作成します。Create a new virtual machine from the snapshot disk.

az vm create \
    --resource-group myResourceGroupDisk \
    --name myVM \
    --attach-os-disk mySnapshotDisk \
    --os-type linux

データ ディスクの再接続Reattach data disk

すべてのデータ ディスクを仮想マシンに再度接続する必要があります。All data disks need to be reattached to the virtual machine.

まず、az disk list コマンドを使用して、データ ディスクの名前を見つけます。First find the data disk name using the az disk list command. この例では、このディスク名を datadisk という変数に格納しています。次の手順でこの変数を使用します。This example places the name of the disk in a variable named datadisk, which is used in the next step.

datadisk=$(az disk list \
   -g myResourceGroupDisk \
   --query "[?contains(name,'myVM')].[id]" \
   -o tsv)

ディスクを接続するには、az vm disk attach コマンドを使用します。Use the az vm disk attach command to attach the disk.

az vm disk attach \
   –g myResourceGroupDisk \
   --vm-name myVM \
   --name $datadisk

次の手順Next steps

このチュートリアルでは、VM ディスクについて、次のようなトピックを学習しました。In this tutorial, you learned about VM disks topics such as:

  • OS ディスクと一時ディスクOS disks and temporary disks
  • データ ディスクData disks
  • Standard ディスクと Premium ディスクStandard and Premium disks
  • ディスクのパフォーマンスDisk performance
  • データ ディスクの接続と準備Attaching and preparing data disks
  • ディスクのサイズ変更Resizing disks
  • ディスクのスナップショットDisk snapshots

次のチュートリアルに進み、VM 構成を自動化する方法について学習してください。Advance to the next tutorial to learn about automating VM configuration.