「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Azureのストレージ]] * 目次 [#rcc29175] #contents *概要 [#s68ff9a2] -新しく追加された[[Azure Resource Manager (ARM)]]下のAzureのディスク ストレージ -必要なストレージの種類 (SSD or HDD) とディスクのサイズを指定できる。 -[[Blobストレージ>Azureのストレージ#w947118f]]上に配置され、[[LRS>Azureの冗長化#gebb4e38]]によって冗長化される。 -[[非管理ディスク>#l33fe1bb]]と[[管理ディスク>#v086e7a2]]がある。 -[[Blobファイルのページ Blob>Azureのストレージ#ia336c65]]が使われている模様。 **unManage Disk (非管理ディスク) [#l33fe1bb] [[Blobファイル>Azureのストレージ#w947118f]] ***GPv1・GPv2 [#q44e6d4a] -GPv1~ ストレージ層を選択する機能がなく、すべてがホット・ストレージ層扱いになる。 -GPv2~ GPv1のBlobにホット/クール/アーカイブのアクセス層とストレージ・イベントなどを追加 -差異 --パフォーマンス:差異なし。 --耐障害性:差異なし。 --課金体系:差異あり。~ Standardディスクを使用する場合は費用の差異がある。 ***Standard HDD/Premium SSD [#e23c4077] -Standard HDD:コスト最小化 -Premium SSD:高パフォーマンスなSSDベースのストレージ **Managed Disk (管理用ディスク) [#v086e7a2] [[Blobファイル>Azureのストレージ#w947118f]]が適切に隠蔽・自動管理される。~ [[Blobファイルのページ Blob>Azureのストレージ#ia336c65]]が適切に隠蔽・自動管理される。~ (ストレージ・アカウントをAzureが管理し、ユーザが意識する事が無い) -ストレージアカウントのIOPS上限などを意識する必要はなくなる。 -バックアップやスナップショット、イメージなど様々な機能があり、UIからの操作性に優れる。 -[[LRS>Azureの冗長化#gebb4e38]]ではなく、可用性セットを組み合わせて使用することで、~ 可用性セットの VM のディスクが、単一障害点にならないように相互に十分に分離される。 ***Standard HDD [#lbddfe06] -バックアップなど、費用対効果に優れたHDDベース -シングルVMだと、95%のSLA -例外的に、地理冗長([[GRS/RA-GRS>Azureの冗長化#gebb4e38]])を使用可能。 ***Standard SSD [#t87375e7] -Webサーバ、開発など、費用対効果に優れたSSDベース -シングルVMでも、99.5%のSLA ***Premium SSD [#c73b6f13] -スループットを高める、運用環境向けのSSDベース -シングルVMでも、99.99%のSLA -[[仮想マシンのシステム・ドライブ>Azureの仮想マシン#g4e1417d]]はコチラを既定で考える。 --特に500IOPSよりも高いIOPSが必要なシステム --64GB以下のサイズだと[[Standard HDD>#lbddfe06]]よりもパフォーマンスが悪くなる場合がある。 --可用性セットを組まなくてもSLAの対象となる。 ***Ultra ディスク [#ad91f84d] I/O 集約型ワークロード向けのSSDベース *課金 [#y33e1d12] -管理ディスクの方が、高額になりがち。 -中途半端なサイズで作成しても課金は同じ -[[仮想マシンを割当解除してもディスクの課金は継続する。>Azureの仮想マシン#f5d72db5]] **unManage Disk (非管理ディスク) [#d523f0d5] -Azure Storage上のディスク形式 -課金 --Standardディスクを使用する場合は、~ GPv1・GPv2で、費用の差異がある。 ---GPv1は、容量確保型、確保容量で課金される。 ---GPv2は、~ ・使った(書き込んで専有した)容量だけ課金される。~ ・その代わりに、トランザクション(I/O)の課金がある。~ ・また、[[GRS/RA-GRS>Azureの冗長化#gebb4e38]]のみデータ転送に対する課金がある。 --Premiumディスクは、容量確保型、確保容量で課金される。 -VM作成時に、管理ディスクを使用 [いいえ] を選択する。 -IDは、URLで、「https://・・・.windows.net/・・・」などとなる。 **Managed Disk (管理用ディスク) [#pc0c50ba] -Azure Storage上でAzure Disk Storage -容量確保型、確保容量で課金される。 -VM作成時に、管理ディスクを使用 [はい] を選択する。 -IDは、リソースIDで、「/subscriptions/・・・」となる。 **VMの管理用ディスクを切り替える。 [#g0ed0026] VMで使用している[[管理用ディスク>#pc0c50ba]]を[[非管理ディスク>#d523f0d5]]に切り替える。 ***概要 [#p7b35cfa] VMからデタッチした[[管理用ディスク>#pc0c50ba]](インストール・ディスク)を[[VHD]]化、~ [[VHD]]を[[非管理ディスク>#d523f0d5]](Azureのディスク ストレージ)に保存して、VMへアタッチ。 +管理ディスクから[[VHD]]を取り出す ++[[下を参考に>#mb98251e]]、[[管理用ディスク>#pc0c50ba]]をエクスポート。 ++URLが表示されるので、[[仮想マシン>Azureの仮想マシン]]と同じリソース・グループに、~ 新規に[[ストレージ・アカウント>Azureのストレージ#t36c3007]] & コンテナを作成して、[[VHD]]をコピー。 # azcopy とか # Start-AzureStorageBlobCopy とか # az storage blob copy とか +VMを削除して、[[VHD]]から作成 --[[VHD]]ができたら、その[[VHD]]から、新しいVMを作成。 --Azureポータルで、[[VHD]]から[[仮想マシン>Azureの仮想マシン]]を作れないので、~ Azure PowerShell か Azure CLI で、[[スクリプト>#w3ec16df]]を少々走らせる必要がある。 +作成したVMに問題なかったら、もとの[[管理用ディスク>#pc0c50ba]]を削除 *スクリプト [#w3ec16df] **概要 [#hd18dec9] -以下のps1ファイルを --[[アップロードしてAzure Cloud Shell>Azure Cloud Shell#e8410850]]で実行するか、 --[[ローカルにAzure PowerShellをインストール>Azure PowerShell#qe06516c]]して実行する。 -以下のように実行する。 **管理ディスクの実容量を確認する [#h3288689] BLOB の [[SASトークン>トークン#w01b1c2d]] 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表記) ***補足説明 [#gf7379b4] -Page BLOBのUrl --管理ディスクからエクスポートされたUrlは、変換されたPage BLOBのUrlになる。 --最後に、Azureポータルの [x エクスポートのキャンセル] を~ クリックして、[[SASトークン>トークン#w01b1c2d]] URLを取り消す(無駄な共有はしない)。 -見積もり --[[AzureのVHDは、Sparse Files形式で、実使用容量(ActualGB)の分だけPage BLOBを使う。>VHD]] --従って、非管理ディスクに変換した場合の見積もりは以下で行う。 ---Page BLOBをActualGBの容量使用する見積もりを行う。 ---トランザクション課金の見積もりを行う(¥0.04032 / 10,000 トランザクション(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] -上記を実行後に表示される管理ディスクを削除する。 --非同期操作はポータル表示との整合性が取れず、~ 「VM → 管理ディスクの関連付け」が削除されていないように見えることがある。 --この場合、管理ディスクの「所有者 VM」欄を確認し~ 「管理ディスク → VMの関連付け」を確認すると良い。 --このように、IaaCは、~ ポータルでサポートされてない操作を実装するケースが多そうだが、~ そもそもサポートされない操作には非同期である操作が多く、~ 実装上の問題( ≒ ポータル表示との整合性の問題)があるもよう。 *参考 [#na13f61a] -[[Azureディスクストレージの種類(2018年6月現在)>https://jpaztech1.z11.web.core.windows.net/Azure%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%AE%E7%A8%AE%E9%A1%9E(2018%E5%B9%B46%E6%9C%88%E7%8F%BE%E5%9C%A8).html]] **microsoft.com [#sacca7a6] -管理ディスク (Managed Disks) のサブスクリプション間やリソース・グループ間の~ 移行について – Japan Azure Technical Support Engineers' Blog~ https://blogs.technet.microsoft.com/jpaztech/2017/08/17/export-managed-disks-to-vhd/ ***Microsoft Azure [#f195f95e] -Disk Storage~ https://azure.microsoft.com/ja-jp/services/storage/unmanaged-disks/ -Managed Disks~ https://azure.microsoft.com/ja-jp/services/managed-disks/ --料金 - Managed Disks~ https://azure.microsoft.com/ja-jp/pricing/details/managed-disks/ ***Microsoft Docs [#f7935e8b] -Azure Virtual Machines --Azure Disk Storage の概要~ https://docs.microsoft.com/ja-jp/azure/virtual-machines/managed-disks-overview --Azure IaaS VM 用のディスクの種類の選択 - マネージド ディスク~ https://docs.microsoft.com/ja-jp/azure/virtual-machines/disks-types ---- Tags: [[:インフラストラクチャ]], [[:クラウド]], [[:Azure]]