2011-01-28 11 views
1

接続が非常に遅く、ハードディスク容量が非常に小さいです。紺碧のクラウドドライブ用に1 TB VHDを作成するにはどうすればよいですか?azure VHD 1TBアップロード

+0

あなたはより良いあなたが解決しようとしている問題を定義することはできますか? –

答えて

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-blobs.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); 
+0

GauravとRinatありがとうございます。あなたの2番目のアプローチは、私たちが必要とするものです。 VHDを作成するための初期データが非常に小さいため、VHDを作成し、RDPを使用してVHDにデータを配置します。 –

+0

RDPを使ってこのVHDにデータを置くことができないのかどうかはわかりませんが(私はそれを試していないので間違えているかもしれませんが)、明らかにページブロブはAzureで実行しているコードによってVHDとしてマウントされています。もしあなたがそれをすることができれば本当にきれいです。これらのファイルをブロブストレージ(ブロックブロブ)内で別々にプッシュしてからコードで読み込むか、データファイルをデプロイメントと共にパッケージ化し、コードでこれらのデータファイルを読み込ませることもできます。 –

0

効率的なアップロードのために、VHDをAzure Blobストレージにページブロブとしてアップロードし、非ゼロバイトだけを転送する簡単なコンソールアプリを作成できます。

0

CSUploadまさにその:のみ非ゼロのページをアップロードしますが、私が下に書かれているものと同様のコードを書くことができます。
1TBのダイナミックVHDをローカルに作成してから、CSUploadでアップロードできます(ゼロバイトを送信せずにオンザフライで固定サイズに拡張)。 Azureに1TBのディスクがあることについては、this questionも参照してください。

あなたはまた、VMディスクを作成して仮想マシンを接続し、そこからそれを準備することができ
0

そしてその後、VMからディスクを削除する(これはストレージからは削除されません)とcloudDrive

でそれをマウント

(あなたはその後、VMを削除することができます)

0

1TBはVHDのために非常に大きなサイズである、しかし、ブランドの新しいVHDは、ファイルの末尾に(固定ハードディスクイメージのための512バイト)非常に少ないデータが含まれています。言い換えれば、あなたのvhdのほとんどのデータはゼロであり、1TBのデータ全体を空のストレージにアップロードする必要はありません。 VHDファイル形式の場合

、あなたはVHDとAzureストレージクライアントに精通している場合、あなたはこれらの事を行うには、独自のアプリケーションを作成することができますhttp://en.wikipedia.org/wiki/VHD_(file_format)

を参照してください。

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

  2. putpage要求操作でページブロブの最後にVHDフッターを書くPutBlob操作で

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

  3. をAzureストレージ上に空の1TBのページブロブを作成します。

そうでない場合は、diskmgmt.msc(ディスク管理)を使用して最初にvhdを作成し、Windows Azure PowerShellでSet-AzureStorageBlobContentを使用してvhdを効率的にアップロードできます。 Set-AzureStorageBlobContentは、ページblobをアップロードするときに無駄なデータをスキップします。参考のため

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

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

関連する問題