1

我们的连接速度很慢,硬盘很小,如何在 azure 上为云驱动器创建 1 TB VHD?

4

5 回答 5

1

您是否需要上传现有的 VHD,或者只需要 1 TB Azure 驱动器用于云中的应用程序?如果是前者,Rinat 可能是对的。查看这篇博客文章了解如何编写控制台应用程序:blogs.msdn.com/b/windowsazurestorage/archive/2010/04/11/using-windows-azure-page-blobs-and-how-to-efficiently-upload -and-download-page-blob.aspx

但是,如果您的应用程序只需要 1 TB Azure 驱动器,您可以使用在云中运行的代码创建一个。您可以编写类似于我在下面编写的代码:

string pageBlobName = "testpageblob";// Guid.NewGuid().ToString();

string blobUri = string.Format("{0}/{1}", blobContainer.Uri.AbsoluteUri, 
    pageBlobName);

CloudDrive cloudDrive = new CloudDrive(new Uri(blobUri), csa.Credentials);

for (int i = 0; i < 30; i++)
{
    try
    {
        cloudDrive.Create(20);

        break;
    }
    catch (CloudDriveException ex)
    {

        if (!ex.Message.Equals("ERROR_UNSUPPORTED_OS") || i == 29)
            throw;

        Thread.Sleep(10000);
    }
}


string driveLetter = cloudDrive.Mount(25, DriveMountOptions.Force);
于 2011-02-01T11:20:07.160 回答
0

为了高效上传,您可以编写一个简单的控制台应用程序,它将您的 VHD 作为页面 blob 上传到 Azure Blob 存储,仅传输非零字节。

于 2011-01-28T19:38:17.483 回答
0

CSUpload正是这样做的:仅上传非零页面。
您可以在本地创建(小)1TB 动态 VHD,然后使用 CSUpload 上传(动态扩展为固定大小,不发送零字节)。另请参阅有关在 Azure 中拥有 1TB 磁盘的问题。

于 2013-06-19T23:46:00.743 回答
0

您还可以创建一个 vm-disk 并将一个 vm 附加到它并从那里准备它

然后从 vm 中删除磁盘(这不会将其从存储中删除)并使用 cloudDrive 挂载它

(之后你可以删除虚拟机)

于 2013-07-18T17:26:08.770 回答
0

1TB 对于 vhd 来说是一个非常大的大小,但是一个全新的 vhd 在文件末尾只包含非常少的数据(固定硬盘映像为 512 字节)。也就是说,你的 vhd 的大部分数据都是零,没有必要将整个 1TB 的数据上传到 Azure 存储。

For vhd file format, please refer to http://en.wikipedia.org/wiki/VHD_(file_format)

If you are familiar with vhd and azure storage client, you can write your own application to do these things.

  1. Create an empty 1TB page blob on azure storage with PutBlob operation

    http://msdn.microsoft.com/en-us/library/windowsazure/dd179451.aspx

  2. Write the VHD footer to end of the Page Blob with PutPage operation

    http://msdn.microsoft.com/en-us/library/windowsazure/ee691975.aspx

If not, you can use diskmgmt.msc(Disk Management) to create a vhd at first, and then use Set-AzureStorageBlobContent in windows azure powershell to efficiently upload your vhd. Set-AzureStorageBlobContent will skip the useless data when uploading page blob.

  Set-AzureStorageBlobContent -Container upload -File .\a.vhd -BlobType Page 

For reference, http://msdn.microsoft.com/en-us/library/dn408487.aspx

于 2013-09-03T08:23:51.493 回答