3

Azureの役割がVMローカルディスクにデータを保存してから終了したとします。ローカルディスクはいくつかの物理ストレージにマップされていたため、ローカルディスクに保存されたデータはそのストレージに書き込まれました。私の役割が終了すると、VMが再利用され、物理ストレージも再利用されます。

これで他の役割が開始され、そのローカルディスクが私の役割で使用されたのと同じ物理ストレージにマップされます。新しいローカルディスクの論理構造が完全に再構築され、自分の役割によって残された可能性のあるすべてのファイルが消えてしまうことをよく知っています。ただし、新しく作成された論理ディスクの下にある物理ストレージはたまたま同じです。

具体的には、新しいロールが空のファイルを作成し、SetEndOfFile()を呼び出してファイルを「拡張」し、読み取り用に開いて、論理ディスクに現在保存されているデータを読み取るとします。Azureインフラストラクチャで特別な対策が講じられない限り、これによって、自分の役割によって保存されたデータにファイルが拡張され、そのデータが読み取られるかどうかはわかりません。

新しいロールが自分のロールによって書き込まれたデータを読み取ることは技術的に可能ですか?

4

2 に答える 2

1

簡単に言えばノーです。

ゲスト OS からのすべての I/O 要求はハイパーバイザーによって処理され、ハイパーバイザーはインスタンスが割り当てられたストレージにのみアクセスできるようにします。

古いロールからデータにアクセスする唯一の方法は、コンテナー内で物理的にアクセスしてそこから取得することです (データセンターの物理的なセキュリティ対策を通過して、密閉されたコンテナーに入れることに成功した場合)。論理ディスクは個々の物理ドライブに 1 対 1 でマッピングされるのではなく、ドライブのクラスターにマッピングされるため、物理的にデータが複数のディスクに分散されることを理解しているので簡単に説明します。

さらに、廃棄されるディスクからすべてのデータが確実に削除されるように、公式の廃棄手順も整備されています。

よろしく、イヴ

于 2012-06-05T12:56:58.320 に答える
0

@Yvesに+1すると、答えはNOです。

WindowsAzureVMで仮想ドライブを作成して使用する方法についてさらに情報を追加したいと思います。ご存知かもしれませんが、各ロール(Webまたはワーカー)には、少なくとも3つの仮想ドライブがあります。

  • ドライブE:1GBの固定サイズで、ユーザーが更新したパッケージを使用してFCによって動的に作成されるアプリケーションドライブです。このドライブは、ユーザーデータを保存するようには設計されていません。このドライブはユーザー展開ごとに作成されるため、すべての役割で新しくなります。このドライブは、FCによってAzure仮想マシンに提供され、プロビジョニング時にVMに接続されます。

  • ドライブD:役割に接続されているOS / SYSTEMドライブ(約25GBサイズ)であり、OSのバージョンに応じて各役割と同じです。これは、Webロールへのドライブのみの準備ができていますが、スタートアップタスクとワーカーロールはそれに書き込むことができます。ドライブは専用のOSドライブであり、ユーザーはそのドライブにコンテンツを配置しないでください。

  • ドライブC:ユーザーデータが配置されているユーザードライブです。アプリケーションにローカルストレージがある場合、ストレージはここに作成されます。このドライブは、ロールVMのサイズに応じて仮想的に作成されます。
    • Windows Azureホストマシンでは、スモールVMまたはエクストララージVMを作成できるため、役割のサイズに応じて、VMは最大250GBのCドライブまたは2TBのCドライブを取得し、このストレージはホストマシンから取得されます。
    • ホストマシンには、小規模から大規模のVMサイズのローカルストレージ要件を満たすために大きな論理スペースを提供するために接続されたディスクの束があります。役割VMがプロビジョニングされると、ホスト上に作成される役割VMの種類に応じて、論理スペース全体から仮想HDDが作成され、ユーザードライブとしてVMに接続されます。

ゲストOSの更新またはAzureアプリケーションの更新がある場合:

  • 更新はドライブDで行われます:差分イメージを介して
  • 更新はドライブEで行われます:差分イメージを介して
  • ドライブCはユーザードライブであり、「ローカルストレージ」はゲストの更新や役割の更新の影響を直接受けないため、「ローカルストレージ-役割のリサイクル時にクリーン」プロパティが設定されている場合、ローカルストレージは役割がリサイクルされるまでにクリーンになります。

したがって、Azureからアプリケーションを削除するとどうなりますか?

  • OSドライブD:/Diffドライブは破棄されます
  • アプリケーションドライブE:/Diffドライブも破棄されます
  • ユーザードライブC:が削除され、スペースがホストマシンによって要求されます。
    • これで、ホストマシンに新しいVMが作成されると、新しいユーザードライブC:が作成され、使用可能な物理スペースからスペースが割り当てられます。ロールVMのサイズに応じて、最大250GBから最大2TBまでの任意のサイズになります。
    • 次回、最大サイズの2TB仮想ディスクを必要とする特大のゲストVMがホストマシンにプロビジョニングされた場合でも、VHDは最初から再構築されます。したがって、XLargeVMの2TB仮想ディスクはまだ同じではありません。
    • したがって、上記の質問で言及したファイルシステムAPIを使用している場合でも、古いファイルが以前のディスクから復元される可能性はありません。

(大きな投稿を書いてすみません)

于 2012-06-06T04:17:05.107 に答える