チュートリアル - 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
  • ディスクのスナップショット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 ディスクの種類VM disk types

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

Standard ディスク - HDD が使用されており、高パフォーマンスでありながらコスト効率にも優れたストレージを提供します。Standard disks - 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 ディスク - SSD ベースの高性能で待ち時間の短いディスクが使用されています。Premium disks - backed by SSD-based, high-performance, low-latency disk. 実稼働ワークロードを実行する VM に最適です。Perfect for VMs running production workload. サイズ名S を含む VM サイズでは、通常、Premium Storage がサポートされています。VM sizes with an S in the size name, typically support Premium Storage. たとえば、DS シリーズ、DSv2 シリーズ、GS シリーズ、FS シリーズの VM は、Premium Storage をサポートしています。For example, DS-series, DSv2-series, GS-series, and FS-series VMs support premium storage. ディスク サイズを選択するときは、値を切り上げて 1 つ上の種類にします。When you select a disk size, the value is rounded up to the next type. たとえば、ディスク サイズが 64 GB より大きく、128 GB 未満の場合、ディスクの種類は P10 です。For example, if the disk size is more than 64 GB, but less than 128 GB, the disk type is P10.


Premium SSD のサイズPremium SSD sizes  P1P1 P2P2 P3P3 P4P4 P6P6 P10P10 P15P15 P20P20 P30P30 P40P40 P50P50 P60P60 P70P70 P80P80
ディスク サイズ (GiB)Disk size in GiB 44 88 1616 3232 6464 128128 256256 512512 1,0241,024 2,0482,048 4,0964,096 8,1928,192 16,38416,384 32,76732,767
ディスクあたりのプロビジョニング済み IOPSProvisioned IOPS per disk 120120 120120 120120 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
ディスクあたりのプロビジョニング済みスループットProvisioned Throughput per disk 25 MB/秒25 MB/sec 25 MB/秒25 MB/sec 25 MB/秒25 MB/sec 25 MB/秒25 MB/sec 50 MB/秒50 MB/sec 100 MB/秒100 MB/sec 125 MB/秒125 MB/sec 150 MB/秒150 MB/sec 200 MB/秒200 MB/sec 250 MB/秒250 MB/sec 250 MB/秒250 MB/sec 500 MB/秒500 MB/sec 750 MB/秒750 MB/sec 900 MB/秒900 MB/sec
ディスクあたりの最大バースト IOPSMax burst IOPS per disk 3,5003,500 3,5003,500 3,5003,500 3,5003,500 3,5003,500 3,5003,500 3,5003,500 3,5003,500
ディスクあたりの最大バースト スループットMax burst throughput per disk 170 MB/秒170 MB/sec 170 MB/秒170 MB/sec 170 MB/秒170 MB/sec 170 MB/秒170 MB/sec 170 MB/秒170 MB/sec 170 MB/秒170 MB/sec 170 MB/秒170 MB/sec 170 MB/秒170 MB/sec
最大バースト時間Max burst duration 30 分30 min 30 分30 min 30 分30 min 30 分30 min 30 分30 min 30 分30 min 30 分30 min 30 分30 min
予約対象Eligible for reservation いいえNo いいえNo いいえNo いいえNo いいえNo いいえNo いいえNo いいえNo はい (最長 1 年)Yes, up to one year はい (最長 1 年)Yes, up to one year はい (最長 1 年)Yes, up to one year はい (最長 1 年)Yes, up to one year はい (最長 1 年)Yes, up to one year はい (最長 1 年)Yes, up to one year

Premium Storage ディスクをプロビジョニングすると、Standard Storage とは異なり、対象のディスクの容量、IOPS、スループットが保証されます。When you provision a premium storage disk, unlike standard storage, you are guaranteed the capacity, IOPS, and throughput of that disk. たとえば、P50 ディスクを作成した場合、対象のディスクに 4,095 GB のストレージ容量、7,500 IOPS、および 250 MB/秒のスループットがプロビジョニングされます。For example, if you create a P50 disk, Azure provisions 4,095-GB storage capacity, 7,500 IOPS, and 250-MB/s throughput for that disk. アプリケーションでは、容量とパフォーマンスのすべてまたは一部を使用できます。Your application can use all or part of the capacity and performance. Premium SSD ディスクは、1 桁のミリ秒の低遅延と、前出の表に示した目標 IOPS とスループットを 99.9% の時間で提供するように設計されています。Premium SSD disks are designed to provide low single-digit millisecond latencies and target IOPS and throughput described in the preceding table 99.9% of the time.

上記の表は、ディスクあたりの最大 IOPS を割り出していますが、複数のデータ ディスクをストライピングすることによって、より高いレベルのパフォーマンスを実現できます。While the above table identifies max IOPS per disk, a higher level of performance can be achieved by striping multiple data disks. たとえば、64 のデータ ディスクを Standard_GS5 VM に接続することができます。For instance, 64 data disks can be attached to Standard_GS5 VM. これらの各ディスクのサイズが P30 である場合、最大 80,000 IOPS を実現できます。If each of these disks is sized as a P30, a maximum of 80,000 IOPS can be achieved. VM あたりの最大 IOPS について詳しくは、「VM の種類とサイズ」をご覧ください。For detailed information on max IOPS per VM, see VM types and 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 \
    --new

データ ディスクを準備する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.

ssh 10.101.10.10

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

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%

mkfs コマンドを使用してパーティションにファイル システムを書き込みます。Write a file system to the partition by using the mkfs command. partprobe を使用して、変更を OS に認識させます。Use partprobe to make the OS aware of the change.

sudo mkfs.xfs /dev/sdc1
sudo partprobe /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 | grep -i "sd"

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

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        29G  2.0G   27G   7% /
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1        14G   41M   13G   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="xfs"

注意

/etc/fstab ファイルを不適切に編集すると、システムが起動できなくなる可能性があります。Improperly editing the /etc/fstab file could result in an unbootable system. 編集方法がはっきりわからない場合は、このファイルを適切に編集する方法について、ディストリビューションのドキュメントを参照してください。If unsure, refer to the distribution's documentation for information on how to properly edit this file. 編集する前に、/etc/fstab ファイルのバックアップを作成することもお勧めします。It is also recommended that a backup of the /etc/fstab file is created before editing.

テキスト エディターで次のように /etc/fstab ファイルを開きます。Open the /etc/fstab file in a text editor as follows:

sudo nano /etc/fstab

次のような行を /etc/fstab ファイルに追加します。 UUID 値は実際のものに置き換えてください。Add a line similar to the following to the /etc/fstab file, replacing the UUID value with your own.

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

ファイルの編集が完了したら、Ctrl+O を使用してファイルを書き込み、 Ctrl+X を使用してエディターを終了します。When you are done editing the file, use Ctrl+O to write the file and Ctrl+X to exit the editor.

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

exit

ディスクのスナップショットを作成する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 snapshot, you need the ID or name of the disk. az vm show を使用して、ディスク ID を取得します。Use az vm show to shot 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 を取得したので、 az snapshot create を使用してディスクのスナップショットを作成します。Now that you have the ID, use az snapshot create to create a snapshot of the disk.

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

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

その後、az disk create を使用してこのスナップショットをディスクに変換できます。これを使用して、仮想マシンを再作成することができます。This snapshot can then be converted into a disk using az disk create, 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

実際に仮想マシンの復旧を試すために、az vm delete を使用して既存の仮想マシンを削除します。To demonstrate virtual machine recovery, delete the existing virtual machine using az vm delete.

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 コマンドを使用して、データ ディスク名を見つけます。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
  • ディスクのスナップショットDisk snapshots

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