在Azure中挂载CloudDrive快照时出错

时间:2010-07-06 05:05:26

标签: azure blobstorage azure-storage-blobs

我一直在dev中运行云驱动器快照一段时间没有probs。我现在正试图在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,因此它与dev模拟环境断开无关。

这是我安装快照的代码:

        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()方法现在正在失败。

请帮助,因为这让我很难过!

提前致谢。

戴夫

3 个答案:

答案 0 :(得分:3)

我昨晚终于开始工作了。我所做的只是创建一个新的容器并上传我的VHD,所以我不确定旧容器是否有奇怪的东西......?想不出来。旧容器的牙齿一定要长一点......!?!

我生命中的两天我永远不会回来。调试实时Azure问题是一个非常繁琐的过程。

令人遗憾的是,Azure CloudDrive开发模拟并没有更接近地复制实时环境。

答案 1 :(得分:1)

D000000D InteropCloudDriveException的一个来源是安装的驱动器(或快照)是可扩展的而不是固定大小。遗憾的是,MSDN文档提供了有关限制的最少信息,但本说明是一个很好的信息来源:

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

答案 2 :(得分:0)

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

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

我遇到的错误消息是“将调试器附加到IIS工作进程的错误...”。

希望这可以帮助一些可怜的Azure开发人员,使用调试器具有挑战性的时间。