【问题标题】:Error mounting CloudDrive snapshot in Azure在 Azure 中挂载 CloudDrive 快照时出错
【发布时间】:2011-03-12 03:33:18
【问题描述】:

我已经在 dev 中运行云驱动器快照一段时间了,没有任何问题。我现在正试图让这个在 Azure 中工作。

我这辈子都无法让它发挥作用。这是我最新的错误:

Microsoft.WindowsAzure.Storage.CloudDriveException: Unknown Error HRESULT=D000000D --->

Microsoft.Window.CloudDrive.Interop.InteropCloudDriveException: Exception of type 'Microsoft.WindowsAzure.CloudDrive.Interop.InteropCloudDriveException' was thrown.

   at ThrowIfFailed(UInt32 hr)

   at Microsoft.WindowsAzure.CloudDrive.Interop.InteropCloudDrive.Mount(String url, SignatureCallBack sign, String mount, Int32 cacheSize, UInt32 flags)

   at Microsoft.WindowsAzure.StorageClient.CloudDrive.Mount(Int32 cacheSize, DriveMountOptions options)

知道是什么原因造成的吗?我在 Azure 中同时运行 WorkerRole 和 Storage,所以它与开发模拟环境断开无关。

这是我挂载快照的代码:

        CloudDrive.InitializeCache(localPath.TrimEnd('\\'), size);

        var container = _blobStorage.GetContainerReference(containerName);
        var blob = container.GetPageBlobReference(driveName);

        CloudDrive cloudDrive = _cloudStorageAccount.CreateCloudDrive(blob.Uri.AbsoluteUri);
        string snapshotUri;
        try
        {
            snapshotUri = cloudDrive.Snapshot().AbsoluteUri;

            Log.Info("CloudDrive Snapshot = '{0}'", snapshotUri);
        }
        catch (Exception ex)
        {
            throw new InvalidCloudDriveException(string.Format(
                    "An exception has been thrown trying to create the CloudDrive '{0}'. This may be because it doesn't exist.",
                    cloudDrive.Uri.AbsoluteUri), ex);
        }

        cloudDrive = _cloudStorageAccount.CreateCloudDrive(snapshotUri);

        Log.Info("CloudDrive created: {0}", snapshotUri, cloudDrive);

        string driveLetter = cloudDrive.Mount(size, DriveMountOptions.None);

最后的 .Mount() 方法现在失败了。

请帮忙,因为这让我非常难过!

提前致谢。

戴夫

【问题讨论】:

    标签: azure blobstorage azure-blob-storage


    【解决方案1】:

    我昨晚终于搞定了。我所做的只是创建一个新容器并将我的 VHD 上传到它,所以我不确定旧容器是否发生了一些奇怪的事情......?想不出什么。旧的容器一定是有点长了..!?!

    我生命中的 2 天,我再也回不来了。调试实时 Azure 问题是一个极其乏味的过程。

    很遗憾,Azure CloudDrive 开发模拟没有更接近地复制实时环境。

    【讨论】:

      【解决方案2】:

      D000000D InteropCloudDriveException 的一个来源是当正在安装的驱动器(或快照)是可扩展的而不是固定大小时。不幸的是,MSDN 文档提供的限制信息很少,但此说明是一个很好的信息来源:

      http://convective.wordpress.com/2010/02/27/azure-drive/

      【讨论】:

        【解决方案3】:

        我可以确认 Dave 关于 BLOB 容器的发现(爱你,Dave,我只花了一个晚上)。

        在更改 BLOB 容器之前,我也遇到了调试问题。

        我收到的错误消息是“将调试器附加到 IIS 工作进程以获取 url 时出错...”。

        希望这可以帮助一些可怜的 Azure 开发人员,他们在调试器方面遇到了挑战。

        【讨论】:

        • 乐于帮助和拯救我遭受的一半痛苦和痛苦的人 :-)
        猜你喜欢
        • 2010-10-30
        • 2018-03-09
        • 1970-01-01
        • 2021-08-30
        • 2010-10-20
        • 1970-01-01
        • 2019-03-26
        • 2018-07-12
        • 2018-07-22
        相关资源
        最近更新 更多