次の方法で共有


Linux VM にディスクを追加する

適用対象: ✔️ Linux VM ✔️ フレキシブル スケール セット

この記事では、メンテナンスやサイズ変更によって VM が再プロビジョニングされた場合でも、仮想マシン (VM) に永続ディスクをアタッチしてデータを保持する方法について説明します。

新しいディスクを VM に接続する

新しい空のデータ ディスクを VM に追加する場合は、 az vm disk attach コマンドを --new パラメーターと共に使用します。 VM が Availability Zones 内にある場合は、VM と同じゾーンで、ディスクが自動的に作成されます。 詳細については、Availability Zones の概要に関するページをご覧ください。 次の例では、サイズが 50 GB の myDataDisk という名前のディスクを作成します。

az vm disk attach \
   -g myResourceGroup \
   --vm-name myVM \
   --name myDataDisk \
   --new \
   --size-gb 50

待ち時間の短縮

一部のリージョンでは、ディスク接続の待機時間が短縮されます。 これらの地域では、最大 15%の改善があります。 この改善は、VM 間の計画されたフェールオーバーまたは計画外のフェールオーバー、ワークロードのスケーリング、または Azure Kubernetes Service などの大規模なステートフル ワークロードの実行に役立ちます。 ただし、この改善は明示的なディスク アタッチ コマンド az vm disk attach に限定されます。 az vm updateなどのアタッチを暗黙的に実行する可能性のあるコマンドを呼び出すと、パフォーマンスが向上することはありません。 この改善を行うには明示的なアタッチ コマンドを呼び出せばよく、それ以外のアクションは不要です。

現在、以下を除くすべてのパブリック リージョンで待機時間の短縮が可能です。

  • カナダ中部
  • 米国中部
  • 米国東部
  • 米国東部 2
  • 米国中南部
  • 米国西部 2
  • ドイツ北部
  • インド西部
  • 北ヨーロッパ
  • 西ヨーロッパ

既存のディスクを接続する

既存のディスクを接続するには、ディスク ID を探し、az vm disk attach コマンドに渡します。 次の例では、"myResourceGroup" 内の "myDataDisk" という名前のディスクにクエリを実行し、それを "myVM" という名前の VM に接続します。

diskId=$(az disk show -g myResourceGroup -n myDataDisk --query 'id' -o tsv)

az vm disk attach -g myResourceGroup --vm-name myVM --name $diskId

ディスクの識別

Azure Linux VM では、VM のサイズと生成に応じて異なるディスク インターフェイスが使用されます。

  • VM サイズ v6 以降: NVMe インターフェイスを使用してパフォーマンスを向上させる
  • VM サイズ v5 以前: ディスク管理に SCSI インターフェイスを使用する

SCSI と NVMe の違いの詳細については、 SCSI から NVMe への変換を参照してください。

仮想マシンへの接続

Linux VM に関連付けられているディスクを識別するには、SSH を使用して VM に接続します。 詳細については、 Azure 上の Linux で SSH を使用する方法に関するページを参照してください。 次の例では、パブリック IP アドレスが 10.123.123.25 の VM にユーザー名 azureuser を使用して接続します。

ssh azureuser@10.123.123.25

特定のディスクを識別する前に、VM が SCSI、NVMe、または両方のインターフェイスの組み合わせを使用しているかどうかを判断します。

azure-vm-utils パッケージには、Azure VM での Linux エクスペリエンスを最適化するためのユーティリティが用意されており、さまざまな VM 構成でディスク識別の信頼性が向上します。

次のコマンドを使用して、VM 上のディスクを一覧表示します。

# List all disks
sudo azure-disk-list

# List NVMe disks with detailed information
sudo azure-nvme-id

azure-nvme-idからの出力は次のようになります。

/dev/nvme0n1: type=os
/dev/nvme0n2: type=data, lun=0
/dev/nvme1n1: type=local, index=1, name=nvme-50G-1

次のステップ