1. ホーム
  2. powershell

[解決済み] AzureのAdd-AzureDiskが動作しない

2022-02-19 18:16:01

質問

PowerShell ISEを使用しています。私が実行するとき Add-AzureDisk CLI ウィザードが表示され、DiskName を入力します。 そして、クリップボードにvhdファイルのuriがあります(ポータルからコピーされたもの)。 を使わずにuriを使用した場合 "..." と出る。

Add-AzureDisk : 無効な URI: ホスト名を解析できません。

行番号:1 文字数:1

  • Add-AzureDisk
    • CategoryInfo : NotSpecified: (:) [Add-AzureDisk]、UriFormatException
    • FullyQualifiedErrorId : System.UriFormatException,Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.AddAzureDisk コマンド

を使うときは "uri here" と出る。

Add-AzureDisk : 無効な URI です。URI スキームが無効です。 行番号:1 文字数:1

このボタンを使ってみました。

powershellのモジュールが古くなっているのかとか思い始めたので、実行しました。 Get-Module AzureRm.Profile -ListAvailable として ここで提案された :

ディレクトリです。C:\Program Files (x86)↪Microsoft SDKsAzurePowerShellResourceManagerAzureResourceManager

モジュールタイプ バージョン名 ExportedCommands
---------- ------- ---- ----------------
Manifest 4.0.0 AzureRM.Profile {Disable-AzureRmDataCollection, Disable-AzureRmContextAutosave,...〕。

しかし、私はv5も持っています(以下のサイトで見つけました。 ドキュメントサイト ):

Get-Module -ListAvailable -Name AzureRm.Resources | Select Version

バージョン

5.0.0

ご推察の通り、私はウェブポータルのほうに慣れています。しかし、私は新しいvmを2つの ウン Blobストレージコンテナにあるマネージドディスクvhd。

編集 Azure CLIを試してみました。

az vm create -n "tmp-vm" -g "resource-tmp" --attach-os-disk " https://the-uri-copied-from-ui.blob.core.windows.net/vhd-container/vm-osdisk.vhd " --size Standard_DS1_v2 --use-unmanaged-disk --os-type windows

を取得しました。

At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details. 
{
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "DiskBlobPendingCopyOperation",
        "message": "Disk blob https://the-uri-copied-from-ui.blob.core.windows.net/vhd-container/vm-osdisk.vhd is not ready. Copy state: Failed. Please retry when the blob is ready."
      }
    ]
  }
}  Correlation ID: 0e1231a9-aa0e-4d79-8953-92ea43c658eb

ここにあるpowershellコマンドでvhdを作成しました。 https://stackoverflow.com/a/45569760/169714 もしかして失敗した?エラーも何も出なかったのですが?どうすれば統合できるのでしょうか?

編集2 両方試してみました テンプレート で、デバッグ情報を取得するのに苦労しました。しかし、今エラーを発見しました。そして、それは以前と同じです。

blobは予想されたサイズを持っているようです。リースの状態はavailableと表示されています。最終更新日が1秒前なので、根本的な保存がまだ進行中ということでしょうか?私は以下を実行しようとしました。 Get-AzureStorageBlobCopyState -Blob tmpvmosdisk.vhd -Container vhd-containers -WaitForComplete が、これは必須でない(そして私にはわからない)引数についてのエラーを出します。 Get-AzureStorageBlobCopyState : Could not get the storage context. Please pass in a storage context or set the current storage context.

編集3 データディスクがまたフラッシュされたようです。512gbだったのが0に戻ってる?

で、vhdをディスクとして追加しようとしたら、またnot readyのメッセージが...。

どうすればいいですか?

ハネルが言ったように Add-AzureDisk は古典的なコマンドです。ARMモードのVMを作るには使えません。

--attach-os-disk 管理されたディスクが必要なのに、管理されていないディスク(VHD)を渡したため、エラーログが表示されました。これを見てください。 リンク .

あなたのシナリオによると、簡単な方法は、テンプレートでVMを作成することです。次のような方法があります。 template:ユーザーイメージから仮想マシンを作成する .

既存のVNetがある場合は、次のようにすることもできます。 テンプレート .