Linux 仮想マシンからデータ ディスクをデタッチする方法

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

仮想マシンに接続されているデータ ディスクが不要になったら、簡単にデタッチできます。 これにより、仮想マシン (VM) からディスクが削除されますが、ストレージからは削除されません。 この記事では、Ubuntu LTS 16.04 ディストリビューションを使用しています。 別のディストリビューションを使用している場合、ディスクのマウントを解除する手順が異なる場合があります。

警告

ディスクをデタッチしても、自動的には削除されません。 Premium Storage をサブスクライブしている場合は、ディスクのストレージ料金が引き続き発生します。 詳細については、「Premium Storage使用時の価格と課金」を参照してください。

ディスク上の既存のデータをもう一度使用する場合は、同じ仮想マシンまたは別の仮想マシンに再アタッチできます。

VM に接続してディスクのマウントを解除する

CLI またはポータルを使用してディスクをデタッチする前に、ディスクのマウントを解除し、fstab ファイルから if への参照を削除する必要があります。

VM に接続します。 この例では、VM のパブリック IP アドレスは 10.0.1.4 で、ユーザー名 は azureuser です

ssh azureuser@10.0.1.4

まず、デタッチするデータ ディスクを見つけます。 次の例では、dmesg を使用して SCSI ディスクでフィルター処理します。

dmesg | grep SCSI

出力は次の例のようになります。

[    0.294784] SCSI subsystem initialized
[    0.573458] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    7.110271] sd 2:0:0:0: [sda] Attached SCSI disk
[    8.079653] sd 3:0:1:0: [sdb] Attached SCSI disk
[ 1828.162306] sd 5:0:0:0: [sdc] Attached SCSI disk

ここで、 sdc はデタッチするディスクです。 ディスクの UUID も取得する必要があります。

sudo -i blkid

出力は次の例のようになります。

/dev/sda1: UUID="11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e" TYPE="ext4"
/dev/sdb1: UUID="22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e" TYPE="ext4"
/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="ext4"

/etc/fstab ファイルを編集して、ディスクへの参照を削除します。

/etc/fstab ファイルを不適切に編集すると、システムが起動できなくなる可能性があります。 編集方法がはっきりわからない場合は、このファイルを適切に編集する方法について、ディストリビューションのドキュメントを参照してください。 編集する前に、/etc/fstab ファイルのバックアップを作成することもお勧めします。

テキスト エディターで /etc/fstab ファイルを開き、ディスクの UUID を含む行を削除します。 この記事の例の値を使用すると、行は次のようになります。

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

完了したら、ファイルを保存して閉じます。

次に、 umount を使用してディスクのマウントを解除します。 次の例では、 /dev/sdc1 パーティションを /datadrive マウント ポイントからマウント解除します。

sudo umount /dev/sdc1 /datadrive

Azure CLIを使用してデータ ディスクをデタッチする

次の使用例は、myResourceGroupmyVM という名前の VM から myDataDisk ディスクをデタッチします。

az vm disk detach -g myResourceGroup --vm-name myVm -n myDataDisk

ディスクはストレージに留まりますが、仮想マシンに接続されなくなりました。

より短い待機時間

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

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

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

ポータルを使用してデータ ディスクをデタッチする

  1. 左側のメニューで、Virtual Machines を選択します。
  2. [仮想マシン] ブレードで、[ ディスク] を選択します。
  3. [ ディスク ] ブレードで、デタッチするデータ ディスクの右端にある [デタッチ] ボタンを選択して、ディスクをデタッチします。
  4. ディスクが削除されたら、ブレードの上部にある [保存] を選択します。

ディスクはストレージに留まりますが、仮想マシンに接続されなくなりました。 ディスクは削除されません。

次のステップ

データ ディスクを再利用する場合は、 別の VM に接続するだけです。

ストレージ コストが発生しないようにディスクを削除する場合は、「接続されていないAzureマネージド ディスクとアンマネージド ディスクの検索と削除 - ポータルAzure参照してください。