深入windows azure作業系統

來源:互聯網
上載者:User
深入windows azure作業系統

1.深入azure作業系統核心FC

2.azure服務模型(service model)

3.fault  domain和upgrade domain

4.server叢集初始原理

5.深入vm內部

1.深入azure作業系統核心FC

azure fabric有數量眾多的servers組成,但是雲上的開發人員是不需要關心你的應用程式是運行在哪台伺服器上,伺服器上的硬體設定等。azure作業系統屏蔽了這些複雜的細節,所以這部分就類似於常規作業系統的kernel。

1.1 FC與狀態機器

FC在內部實現時,為每個部署的service設定一個狀態機器,並為這個狀態機器設定一個目標,於是FC剩下所做的工作就是“儘力”打到這個狀態機器的結束狀態。這其中可能包含恢複伺服器,重啟伺服器等操作。

1.2 the driver model

azure作業系統採用的是“驅動模型”。FC通過driver和一系列的asset互動。asset負責與具體的machine,router,switch,load balancer互動。FC向driver發送命令,然後driver控制實際的device。

1.3 resource management

FC的任務不僅僅是儘力將每個deploy的service送達到狀態的中點,同時FC也將管理運行時的資源。

1.4 instance management

FC負責管理fabric中每個node的“運行情況”,進而採取對應動作。例如重啟,或者是修複等。

2.azure服務模型(service model)

azure的服務模型在vs中的主要是體現在下面的兩個檔案中:

其中檔案ServiceConfiguration.cscfg是service definition檔案,主要定義roles和communication endpoint,運行時刻是不能修改的。ServiceDefinition.csdef主要是配置role的instance執行個體,該檔案是能夠在運行時刻修改的。

3.fault  domain和upgrade domain

fault domain提供一個替換機制,azure將你的service分布到幾個物理的structure中,如果其中的一個出現故障,那麼剩下的可以立刻使用,防止你的service癱瘓。upgrade domain主要是用於app的更新和升級時,service不中斷。設定檔中能夠修改upgrade domain的數量。

<ServiceDefinition name="WindowsAzureProject1"<br /> xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"<br /> upgradeDomainCount="3">

4.server叢集初始原理

相信只有微軟azure team的成員知道server叢集初始化的真正原理,但是我們還是能夠從公開的文檔中看到個人應用程式instance如何被啟動並執行基本原理。

每個instance實際上是運行在x64的運行著windows  server 2008 enterprise edition的伺服器上。當一個新的server準備好將要被加到伺服器叢集中時,當這個新加入的伺服器啟動時,通過使用PXE協議在網路中尋找maintenance os,然後下載這個image,boot from the image。

maintenance os和FC相聯絡,充當一個agent代理,FC向agent發送command,系在windows server 2008 core image VHD,然後新下載的image成為host os來管理這台新加入的伺服器。

然後該台使用VHD image伺服器重啟,maintenance os將被移除。然後FC開始控制這個伺服器。

現在假設我們的一個application需要部署到這個伺服器上,首先這台伺服器下載application運行代碼(二進位形式),伺服器向FC發送當前健康情況,如果一切正常,FC開始進行一系列的配置,這些過程完成之後,那麼這個伺服器開始接受外界的請求。

當然每個伺服器上可能運行過個vm,第二個或者是更靠後的vm可能會使用和第一個vm相同的os鏡像或者是另外下載,然後下載application VHD,啟動,開始接受外界請求。

 

本系列的部落格均是在學習windows azure平台時個人的感悟,其中難免存在不足之處,歡迎指正,留言提出您的寶貴意見。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.