「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Azureのストレージ]] * 目次 [#rcc29175] #contents *概要 [#s68ff9a2] Azureのディスク ストレージ **unManage Disk (非管理ディスク) [#l33fe1bb] -Disk Storage | Microsoft Azure~ https://azure.microsoft.com/ja-jp/services/storage/unmanaged-disks/ **Managed Disk (管理用ディスク) [#v086e7a2] -Managed Disks | Microsoft Azure~ https://azure.microsoft.com/ja-jp/services/managed-disks/ --Standard Managed Disks~ 費用対効果に優れたハード ディスク ドライブ (HDD) ベース --Premium Managed Disks~ スループットを高める、ソリッド ステート ドライブ (SSD) ベース *課金 [#y33e1d12] -管理ディスクの方が、高額になりがち。 **unManage Disk (非管理ディスク) [#d523f0d5] -Azure Storage上のディスク形式 -使った(書き込んで専有した) 容量だけ課金される。 -トランザクション(I/O)の課金がある。 -VM作成時に、管理ディスクを使用 [いいえ] を選択する。 -IDは、URLで、「https://・・・.windows.net/・・・」などとなる。 **Managed Disk (管理用ディスク) [#pc0c50ba] -Azure Storage上でAzure Disk Storage -容量確保型、確保容量で課金される。 -トランザクション(I/O)の課金はない。 -VM作成時に、管理ディスクを使用 [はい] を選択する。 -IDは、リソースIDで、「/subscriptions/・・・」となる。 **VMの管理用ディスクを切り替える。 [#g0ed0026] VMで使用している[[管理用ディスク>#pc0c50ba]]を[[非管理ディスク>#d523f0d5]]に切り替える。 ***概要 [#p7b35cfa] VMからデタッチした[[管理用ディスク>#pc0c50ba]](インストール・ディスク)を[[VHD]]化、~ [[VHD]]を[[非管理ディスク>#d523f0d5]](Azureのディスク ストレージ)に保存して、VMへアタッチ。 +管理ディスクから[[VHD]]を取り出す ++[[下を参考に>#mb98251e]]、[[管理用ディスク>#pc0c50ba]]をエクスポート。 ++URLが表示されるので、仮想マシンと同じリソースグループに、~ 新規にストレージアカウント & コンテナを作成して、[[VHD]]をコピー。 # azcopy とか # Start-AzureStorageBlobCopy とか # az storage blob copy とか +VMを削除して、[[VHD]]から作成 --[[VHD]]ができたら、その[[VHD]]から、新しいVMを作成。 --Azureポータルで、[[VHD]]から仮想マシンを作れないので、~ Azure PowerShell か Azure CLI で、[[スクリプト>#w3ec16df]]を少々走らせる必要がある。 +作成したVMに問題なかったら、もとの[[管理用ディスク>#pc0c50ba]]を削除 ***参考 [#pa74c672] -管理ディスク (Managed Disks) のサブスクリプション間やリソース グループ間の~ 移行について – Japan Azure Technical Support Engineers' Blog~ https://blogs.technet.microsoft.com/jpaztech/2017/08/17/export-managed-disks-to-vhd/ *スクリプト [#w3ec16df] **概要 [#hd18dec9] -以下のps1ファイルを --[[アップロードしてAzure Cloud Shell>Azure Cloud Shell#e8410850]]で実行するか、 --[[ローカルにAzure PowerShellをインストール>Azure PowerShell#qe06516c]]して実行する。 -以下のように実行する。 **管理ディスクの実容量を確認する [#h3288689] BLOB の SAS (Shared Access Signatures) URLを使用して管理ディスクの実容量を確認する。 ***ps1ファイル [#oe2e25ac] -&ref(Get-BlobBytes.ps1); ***使用方法 [#x9d35a73] -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表記) -最後に、Azureポータルの [x エクスポートのキャンセル] を~ クリックして、SAS URL を取り消す(無駄な共有はしない)。 ***補足説明 [#gf7379b4] -管理ディスクからエクスポートされたUrlは、変換されたPage BLOBのUrlになる。 -Azureの[[VHD]]は、Sparse Files形式で、実使用容量(ActualGB)の分だけPage BLOBを使う。 --Niigata.NET Page Blob Download 最適化 — Kyrt Blog~ http://kyrt.in/2015/10/16/niigata_net_2015_10_dml.html -従って、非管理ディスクに変換した場合の見積もりは以下で行う。 --Page BLOBをActualGBの容量使用する見積もりを行う。 --トランザクション課金を見積もる(10,000 トランザクションあたり ¥0.04032(2018/02/08))。 **[[VHD]]に変換する [#g5d4dca6] -既存の[[VHD]]ファイルを使ったVM作成は、Azureポータルではできないので、スクリプトが必要。 -スクリプトでは、管理ディスクのUrlを使用して、Azure Storageに [[VHD]]ファイルとしてコピーする。 ***ps1ファイル [#w79c3bf7] -&ref(rm-convert-vm-manageddisk-to-vhd.ps1); ***使用方法 [#ocf2a88d] 以下のように実行する。 -Azureポータルから、 --VM名 --リソースグループ名 >を確認する。 -サブスクリプション --名前を確認、 Get-AzureRmSubscription --選択し、 Select-AzureRmSubscription -SubscriptionName サブスクリプション名 -リソースグループ名、VM名を指定して実行。 .\rm-convert-vm-manageddisk-to-vhd.ps1 -ResourceGroupName リソースグループ名 -vmName VM名 ***補足説明 [#vd602b8a] 得になし。 *参考 [#na13f61a] **[[Azure PowerShell]] [#w32504af] **[[Azure Cloud Shell]] [#j5b74671] ---- Tags: [[:インフラストラクチャ]], [[:クラウド]], [[:Azure]]