2012-06-05 15 views
3

假設我的Azure角色將一些數據存儲在VM本地磁盤上,然後終止。本地磁盤映射到某個物理存儲上,因此存儲在本地磁盤上的數據被寫入該存儲。當我的角色終止時,VM將被回收,並且物理存儲器也將被回收。當我的角色Azure VM被回收時,其他Azure角色是否可以讀取我的角色留下的未更改的磁盤數據?

現在啓動了一些其他角色,並將其本地磁盤映射到與我的角色相同的物理存儲上。我很清楚that the logical structure of the new local disk is completely rebuilt and all files possibly left by my role will just disappear。但是,新創建的邏輯磁盤下面的物理存儲恰好相同。

具體假設新角色創建一個空文件,然後調用SetEndOfFile()來「擴展」文件,然後打開它以讀取和讀取當前存儲在邏輯磁盤上的數據。除非在Azure基礎架構中採取特殊措施,否則我不確定這不會導致將文件擴展到由我的角色存儲的數據並讀取該數據。

新角色在技術上是否可以讀取我的角色編寫的數據?從來賓操作系統

回答

1

簡短的回答是否定的,

所有I/O請求由管理程序處理,管理程序確保了insance只能訪問分配的存儲。

從舊角色訪問數據的唯一方法是在容器中獲取物理訪問權並從中獲取數據(如果您成功通過數據中心物理安全措施並進入密封容器)。甚至那麼它並不容易,因爲我的理解是邏輯磁盤不是一對一映射到單個物理驅動器,而是映射到驅動器集羣,因此物理上您的數據也將分散在多個磁盤上。

此外,還有一些官方處置程序,確保所有數據從正在處理的磁盤中移除。

親切的問候, 伊夫

+0

你有不同的索賠參考?如何通過物理驅動器和管理程序進行分發,防止我讀取我剛剛分配並查看塊的天藍色實例的「空白」磁盤?除非磁盤按每個實例進行加密,否則我無法看到這將如何工作。 –

+0

你根本無法從磁盤時間段讀取數據...你必須向系統管理員詢問你所做的任何讀取,並且將代表你進行讀取。並且這些讀取將始終指向分配給您的vhd。 –

+1

本文描述了虛擬機管理程序的功能,包括它負責所有IO請求。 http://go.microsoft.com/?linkid=9740388&clcid=0x409 –

0

+1 @Yves和肯定的答案是否定的。

我想添加更多關於如何在任何Windows Azure VM中創建和使用虛擬驅動器的信息。正如你可能已經知道,每個角色(Web或工人)在其具有最小的3個虛擬驅動器:

  • 驅動器E:由設1GB固定的大小和使用包通過FC動態創建的應用程序驅動的用戶更新。此驅動器的設計不具有任何用戶數據。該驅動器是按用戶部署創建的,因此對於每個角色都是新的。此驅動器由FC在Azure虛擬機中提供,並在配置期間連接到VM。

  • 驅動器D:附屬於角色且與每個角色相同的OS/SYSTEM驅動器(大約25GB大小)取決於操作系統版本。這是隻準備驅動到Web角色,但是啓動任務和工作者角色可以寫入它。該驅動器是專用的操作系統驅動器,並認爲用戶不應該在其上放置任何內容。

  • 驅動器C:用戶數據所在的用戶驅動器。當你的應用程序中有本地存儲時,存儲就在這裏創建。該驅動器是根據角色虛擬機大小虛擬創建的。
    • 在Windows Azure主機上,您可以創建一個小型VM或特大型VM,這取決於您的角色大小,您的VM將獲得〜250GB C驅動器或2TB C驅動器,並且此存儲器是從主機獲取的。
    • 在主機上連接了大量磁盤以提供較大的邏輯空間來滿足從小到大VM大小的本地存儲需求。在配置角色虛擬機時,要根據虛擬機在主機上創建的角色類型,虛擬硬盤驅動器創建爲從整個邏輯空間創建並作爲用戶驅動器連接到虛擬機。

當有任何客OS更新或Azure應用程序更新:

  • 更新發生在驅動器d:通過DIFF圖像
  • 更新發生在驅動器E:通過DIFF圖片
  • 因爲驅動器C是用戶驅動器,並且「本地存儲」不直接受到來賓更新或角色更新的影響,但是如果設置了「本地存儲 - 清除角色回收」屬性,則本地存儲將在角色[R ecycle。

所以,當你從Azure中刪除您的應用程序會發生什麼:

  • OS驅動器d:/ DIFF驅動器被丟棄
  • 應用驅動器E:/ DIFF驅動器也被丟棄
  • 用戶驅動器C:被移除並且主機返回該空間。
    • 現在,在主機上創建新虛擬機後,會創建一個新的用戶驅動器C:並根據可用物理空間分配空間,並且可以根據角色虛擬機大小從大約250GB到大約2TB範圍內分配空間。
    • 即使下一次在主機上調配一個超大型訪客虛擬機(需要最大大小爲2TB的虛擬磁盤),VHD也會重新從頭開始重新構建。因此,XLarge VM的背靠背2TB虛擬磁盤仍然不相同。
    • 因此,即使使用上述問題中提到的文件系統API,也不可能從舊磁盤恢復舊文件。

(對不起,我寫大文章)