マイクロソフト系技術情報 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 18件 [詳細] fileGet-BlobBytes.ps1 21件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-04-18 (水) 17:35:29 (34d)