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

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

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

警告

ディスクを切断した場合、自動的には削除されません。 Premium Storage のサブスクリプションにお申込みいただいている場合は、ディスクのストレージ料金が引き続き発生します。 詳細については、Premium Storage 利用時の料金と課金に関する記事を参照してください。

再びディスク上の既存のデータを使用する場合は、同じ仮想マシンや別の仮想マシンに再接続できます。

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

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

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

ssh azureuser@10.0.1.4

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

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 ファイルを編集して、ディスクへの参照を削除します。

Note

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

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

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

終わったらファイルを保存して閉じます。

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

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
  • ドイツ北部
  • JIO インド西部
  • 北ヨーロッパ
  • 西ヨーロッパ

ポータルを使用してデータ ディスクを切断する方法

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

ディスクはストレージに残りますが、仮想マシンには接続されていません。 このディスクは削除されません。

次のステップ

データ ディスクを再利用する場合は、別の VM にそのデータ ディスクをアタッチします。

ディスクを削除して、ストレージ コストが発生しなくなるようにするには、「接続されていない Azure マネージド ディスクとアンマネージド ディスクを見つけて削除する - Azure portal」を参照してください。