此问题仅在高级存储(SSD支持的存储)中发生。这是在尝试将上次维护中损坏的VHD还原为上一个快照时。
这是发送的请求(方法StartCopyFromBlob
):
PUT https://contoso.blob.core.windows.net/vhds/OS.vhd HTTP/1.1
User-Agent: WA-Storage/4.3.0 (.NET CLR 4.0.30319.34209; Win32NT 6.2.9200.0)
x-ms-version: 2014-02-14
x-ms-copy-source: https://contoso.blob.core.windows.net/vhds/OS.vhd?snapshot=2015-06-04T09%3A00%3A02.0048291Z
x-ms-client-request-id: d09e9c18-07c4-4295-a09e-e6bbe23ea543
x-ms-date: Wed, 10 Jun 2015 21:43:25 GMT
Authorization: XXXXXXXXXXXXXXXXXXXXXXXX
Host: contoso.blob.core.windows.net
Content-Length: 0
这就是回应:
HTTP/1.1 409 This operation is not permitted because the blob has snapshots.
Content-Length: 246
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 88411d2c-001c-020d-00c6-a3ce5e000000
x-ms-version: 2014-02-14
Date: Wed, 10 Jun 2015 21:43:23 GMT
<?xml version="1.0" encoding="utf-8"?>
<Error><Code>SnapshotsPresent</Code><Message>This operation is not permitted because the blob has snapshots.
RequestId:88411d2c-001c-020d-00c6-a3ce5e000000
Time:2015-06-10T21:43:24.3527942Z</Message></Error>
起初,我认为它与blob相关联的blob链接(因为它已经与我删除的磁盘相关联)但似乎没有关联。
属性请求:
HEAD https://contoso.blob.core.windows.net/vhds/OS.vhd HTTP/1.1
User-Agent: WA-Storage/4.3.0 (.NET CLR 4.0.30319.34209; Win32NT 6.2.9200.0)
x-ms-version: 2014-02-14
x-ms-client-request-id: df75e42b-4733-4ec4-86fd-b073d7353d98
x-ms-date: Wed, 10 Jun 2015 21:47:53 GMT
Authorization: XXXXXXXXXXXXXXXXXXXXXXXX
Host: contoso.blob.core.windows.net
属性响应:
HTTP/1.1 200 OK
Content-Length: 136367309312
Content-Type: binary/octet-stream
Last-Modified: Mon, 08 Jun 2015 19:30:01 GMT
Accept-Ranges: bytes
ETag: "0x8D27038A5E2A5B0"
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-copy-id: 79998710-3eeb-4323-be69-349ec9bf5b68
x-ms-copy-source: XXXXXXXXXXXXXXXXXXXXXXXX
x-ms-copy-progress: 136367309312/136367309312
x-ms-copy-status: success
x-ms-copy-completion-time: Thu, 05 Mar 2015 17:05:45 GMT
x-ms-meta-PIRTag: 1
x-ms-lease-state: available
x-ms-lease-status: unlocked
x-ms-blob-type: PageBlob
x-ms-blob-sequence-number: 101028
x-ms-request-id: 782ffea7-001c-02c3-00c7-a3a811000000
x-ms-version: 2014-02-14
Date: Wed, 10 Jun 2015 21:47:51 GMT
我通过将快照还原到另一个blob名称(并将我的VM还原到与此新位置关联的磁盘)解决了这个问题,但我还是很好奇是否有人知道这个问题的解决方案。
答案 0 :(得分:2)
这已得到解决。您现在可以将快照还原到基本blob。更改完全在Azure服务端。您可以使用相同的Azure Storage SDK执行此操作(Storage REST API版本2014-02-14或更高版本)。客户端无需更改。