загрузка Azure VHD 1TB - PullRequest
       14

загрузка Azure VHD 1TB

1 голос
/ 28 января 2011

У нас очень медленное соединение и очень маленький жесткий диск. Как я могу создать 1 ТБ VHD для облачного диска на Azure?

Ответы [ 5 ]

1 голос
/ 01 февраля 2011

Вам нужно загрузить существующий виртуальный жесткий диск или вам просто нужен диск Azure 1 ТБ для приложения в облаке? Если это бывший, Ринат, вероятно, прав. Посмотрите этот пост в блоге, чтобы узнать, как написать консольное приложение: blogs.msdn.com / b / windowsazurestorage / archive / 2010/04/11 / using-windows-azure-page-blob-and-how-to- эффективно-загрузка-и-загрузка страницы-blobs.aspx .

Однако, если вам просто нужен диск Azure 1 ТБ для вашего приложения, вы можете просто создать его, используя свой код, работающий в облаке. Вы можете написать код, подобный тому, что я написал ниже:

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);
0 голосов
/ 03 сентября 2013

1 ТБ - чрезвычайно большой размер для виртуального жесткого диска, однако новый виртуальный жесткий диск содержит только очень мало данных (512 байт для фиксированного образа жесткого диска) в конце файла. Другими словами, большинство данных вашего виртуального жесткого диска равно нулю, и нет необходимости загружать все данные объемом 1 ТБ в хранилище Azure.

Формат файла VHD указан в http://en.wikipedia.org/wiki/VHD_(file_format)

Если вы знакомы с VHD и клиентом хранилища Azure, вы можете написать собственное приложение для этих целей.

  1. Создание пустого блоба страницы объемом 1 ТБ в хранилище Azure с помощью операции PutBlob

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

  2. Запишите нижний колонтитул VHD в конец BLOB-объекта страницы с помощью операции PutPage

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

Если нет, вы можете использовать diskmgmt.msc (Управление дисками) сначала для создания VHD, а затем использовать Set-AzureStorageBlobContent в Windows Azure PowerShell для эффективной загрузки вашего VHD. Set-AzureStorageBlobContent пропустит бесполезные данные при загрузке блоба страницы.

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

Для справки, http://msdn.microsoft.com/en-us/library/dn408487.aspx

0 голосов
/ 18 июля 2013

вы также можете создать виртуальный диск, подключить к нему виртуальный диск и подготовить его оттуда

затем удалите диск из виртуальной машины (это не удалит его из хранилища) и подключите его с помощью cloudDrive

(впоследствии вы можете удалить виртуальную машину)

0 голосов
/ 20 июня 2013

CSUpload делает именно это: загружает только ненулевые страницы.
Вы можете локально создать (маленький) динамический виртуальный жесткий диск объемом 1 ТБ, а затем загрузить его с помощью CSUpload (оперативное расширение до фиксированного размера без отправки нулевых байтов). См. Также этот вопрос о том, что в Azure есть диск объемом 1 ТБ.

0 голосов
/ 28 января 2011

Для эффективной загрузки вы можете написать простое консольное приложение, которое будет загружать ваш виртуальный жесткий диск в хранилище BLOB-объектов Azure в виде больших двоичных объектов, передавая только ненулевые байты.

...