マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Azureのディスク ストレージ

unManage Disk (非管理ディスク)

Managed Disk (管理用ディスク)

Standard Managed Disks

費用対効果に優れたハード ディスク ドライブ (HDD) ベース

Premium Managed Disks

スループットを高める、ソリッド ステート ドライブ (SSD) ベース

参考

課金

  • 管理ディスクの方が、高額になりがち。

unManage Disk (非管理ディスク)

  • Azure Storage上のディスク形式
  • 使った(書き込んで専有した) 容量だけ課金される。
  • トランザクション(I/O)の課金がある。
  • VM作成時に、管理ディスクを使用 [いいえ] を選択する。
  • IDは、URLで、「https://・・・.windows.net/・・・」などとなる。

Managed Disk (管理用ディスク)

  • Azure Storage上でAzure Disk Storage
  • 容量確保型、確保容量で課金される。
  • トランザクション(I/O)の課金はない。
  • VM作成時に、管理ディスクを使用 [はい] を選択する。
  • IDは、リソースIDで、「/subscriptions/・・・」となる。

VMの管理用ディスクを切り替える。

VMで使用している管理用ディスク非管理ディスクに切り替える。

概要

VMからデタッチした管理用ディスク(インストール・ディスク)をVHD化、
VHD非管理ディスク(Azureのディスク ストレージ)に保存して、VMへアタッチ。

  1. 管理ディスクからVHDを取り出す
    1. 下を参考に管理用ディスクをエクスポート。
    2. URLが表示されるので、仮想マシンと同じリソースグループに、
      新規にストレージアカウント & コンテナを作成して、VHDをコピー。
      # azcopy とか 
      # Start-AzureStorageBlobCopy とか 
      # az storage blob copy とか
  2. VMを削除して、VHDから作成
    • VHDができたら、そのVHDから、新しいVMを作成。
    • Azureポータルで、VHDから仮想マシンを作れないので、
      Azure PowerShell か Azure CLI で、スクリプトを少々走らせる必要がある。
  3. 作成したVMに問題なかったら、もとの管理用ディスクを削除

参考

スクリプト

概要

  • 以下のように実行する。

管理ディスクの実容量を確認する

BLOB の SAS (Shared Access Signatures) URLを使用して管理ディスクの実容量を確認する。

ps1ファイル

使用方法

  • Azureポータルで、管理ディスクをエクスポートして BLOB Urlを得る。

    Azureポータル >>「ディスク」>>「ディスク名」>> [エクスポート] >> [URLの生成]

  • 生成されたURLを指定して、実行すると、
    .\Get-BlobBytes.ps1 -url 'https://mdxxxxxxx.blob.core.windows.net/・・・'
  • 下の様な表示を確認できる。
    BlobName    : xxxxxxxxxxx
    BlobLength  : nnnnnnnnnnn   <= 割り当てられたサイズ (GiB)
    BlobGB      : nn.nn
    ActualBytes : nnnnnnnnnn    <= 実容量のサイズ
    ActualGB    : nn.nn            (GB表記)

補足説明

  • Page BLOBのUrl
  • 管理ディスクからエクスポートされたUrlは、変換されたPage BLOBのUrlになる。
  • 最後に、Azureポータルの [x エクスポートのキャンセル] を
    クリックして、SAS URL を取り消す(無駄な共有はしない)。
  • 従って、非管理ディスクに変換した場合の見積もりは以下で行う。
    • Page BLOBをActualGBの容量使用する見積もりを行う。
    • トランザクション課金の見積もりを行う(¥0.04032 / 10,000 トランザクション(2018/02/08))。

VHDに変換する

  • 既存のVHDファイルを使ったVM作成は、Azureポータルではできないので、スクリプトが必要。
  • スクリプトでは、管理ディスクのUrlを使用して、Azure Storageに VHDファイルとしてコピーする。

ps1ファイル

使用方法

以下のように実行する。

  • Azureポータルから、
    • VM名
    • リソースグループ名

を確認する。

  • サブスクリプション
    • 名前を確認、
      Get-AzureRmSubscription
  • 選択し、
    Select-AzureRmSubscription -SubscriptionName サブスクリプション名
  • リソースグループ名、VM名を指定して実行。
    .\rm-convert-vm-manageddisk-to-vhd.ps1 -ResourceGroupName リソースグループ名 -vmName VM名

補足説明

  • 上記を実行後に表示される管理ディスクを削除する。
  • 非同期操作はポータル表示との整合性が取れず、
    「VM → 管理ディスクの関連付け」が削除されていないように見えることがある。
  • この場合、管理ディスクの「所有者 VM」欄を確認し
    「管理ディスク → VMの関連付け」を確認すると良い。
  • このように、IaaCは、
    ポータルでサポートされてない操作を実装するケースが多そうだが、
    そもそもサポートされない操作には非同期である操作が多く、
    実装上の問題( ≒ ポータル表示との整合性の問題)があるもよう。

参考

Azure PowerShell

Azure Cloud Shell


Tags: :インフラストラクチャ, :クラウド, :Azure


添付ファイル: filerm-convert-vm-manageddisk-to-vhd.ps1 105件 [詳細] fileGet-BlobBytes.ps1 138件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-16 (月) 16:29:07 (44d)