我正在使用PowerShell ISE。当我运行Add-AzureDisk
时
我得到一个CLI向导并填写DiskName
我的剪贴板中有vhd文件uri(从门户网站复制)
当我使用没有"..."
的uri时,我得到了:
Add-AzureDisk:无效的URI:无法解析主机名。
在行:1字符:1
- 添加-AzureDisk
- ~~~~~~~~~~~~~
- CategoryInfo:NotSpecified:(:) [Add-AzureDisk],UriFormatException
- FullyQualifiedErrorId:System.UriFormatException,Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.AddAzureDisk 命令
当我使用"uri here"
时,我得到:
Add-AzureDisk:无效的URI:URI-scheme无效。在行:1 char:1
我使用了这个按钮:
我开始认为我的powershell模块已过时或类似,所以我将Get-Module AzureRm.Profile -ListAvailable
作为suggested here运行:
目录:C:\ Program Files(x86)\ Microsoft SDKs \ Azure \ PowerShell \ ResourceManager \ AzureResourceManager
ModuleType版本名称ExportedCommands
---------- ------- ---- ----------------
清单4.0.0 AzureRM.Profile {Disable-AzureRmDataCollection,Disable-AzureRmContextAutosave,...
但我也有v5(在the docs website上找到了这个):
Get-Module -ListAvailable -Name AzureRm.Resources |选择版本
版
5.0.0
正如您可能已经猜到的那样,我更习惯于Webportal。但我正在尝试使用两个 un 托管磁盘vhd创建一个新的虚拟机,这些磁盘位于我的blob存储容器中。
编辑我尝试了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或许那次失败了?我没有错误或什么?我该如何巩固它?
edit2 我尝试了templates并且很难获得调试信息。但我现在发现了这个错误。它和以前一样:
blob似乎有预期的大小。租赁状态说可用。上次修改日期是第二次修改,这是否意味着底层存储仍在进行中?我试图运行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,现在又回到了零?
所以当我想将vhd添加为磁盘时,我再次收到未准备好的消息......
答案 0 :(得分:1)
我可以突出显示多个问题,我会尽力回答所有问题。
首先,添加Add-AzureDisk是一个ASM(经典部署)命令,但您提到的是AzureRM模块。它是ARM还是ASM部署?
其次,CLI是ARM部署,由于您复制了VHD并且尚未执行复制操作而失败,因此您无法使用VHD。在使用VHD之前,您应该能够使用az storage blob show
命令验证VHD复制/移动是否已完成。
希望这有帮助。
答案 1 :(得分:1)
正如汉内尔所说,mLinearLayoutManager.findViewByPosition(mLinearLayoutManager.findFirstVisibleItemPosition())
是一个经典命令。您无法使用它来创建ARM模式VM。
Add-AzureDisk
它需要一个托管磁盘,现在,您提供一个非托管磁盘(VHD),因此,您将获得错误日志。请参阅此link。
根据您的方案,简单的方法是使用模板创建VM。您可以使用此template:Create a Virtual Machine from a User Image。
如果您有现有的VNet,也可以使用此template。