IIS 7 備份策略
我確實注意到了這篇文章,但正在尋找更多細節。
我有 2 台執行 Windows 2008 Server Web Edition 的伺服器,並在它們上執行網站。我希望能夠將 IIS 設置從另一個鏡像到每個框,以便在“伺服器 1”崩潰的情況下,我可以登錄到“伺服器 2”并快速獲取在“伺服器 1”上執行的所有站點啟動並執行。這不是一個簡單的鏡像,因為我已經在“伺服器 2”上有需要保持執行的站點,所以基本上我想從“伺服器 1”添加站點。
我相信我會得到一些關於此的評論,所以是的,我們的伺服器可以處理增加的負載。我也想遠離討論 DNS,所以請不要那樣做。我還意識到我需要向“伺服器 2”網路適配器添加特定的 IP,並且只要我可以減少其他手動任務以獲得更好的正常執行時間並減少手動錯誤,我也可以。
目前我正在將每個機器上的數據庫和程式碼備份到另一個機器上,但正如您可以想像的那樣,恢復是一個緩慢、手動和費力的過程,而且容易出錯。
我正在尋找能夠輕鬆恢復每個站點的所有設置的能力。例如:SSL 證書、IP、站點程式碼的物理路徑、綁定、處理程序映射等。我希望也能恢復所有應用程序池,就像它們在具有正確框架版本和管道模式的另一台伺服器上一樣.
據我了解,applicationHost.config 包含大部分這些東西。但是,如果我將站點添加到已經執行其他站點的 Web 伺服器,我會假設我無法替換此文件,因為這將意味著失去我目前的所有設置。我也不太熱衷於手動修改這個文件。
環顧四周後,我發現了 Microsoft 的 Web 部署工具 (learn.iis.net/page.aspx/346/web-deployment-tool/) 的候選版本。所以最後,既然你有一堆背景,那麼問題來了:
有沒有人有快速和(大部分)自動將站點添加到已經在執行其他站點的 IIS 7 的經驗?有沒有人使用“appcmd 添加備份”方法和
$$ Web Deployment Tool $$$$ 2 $$如果是這樣,你遇到了什麼困難?
我最終使用了Microsoft 的 Web 部署工具 RC1 (MSDeploy)。它非常精細,並且有很多選項。它允許每個站點的備份和傳輸。您可以使用命令行或 GUI 將站點備份到 zip 存檔,或者您可以立即將站點同步/移動到另一台伺服器(我認為這使用 Web 服務來傳輸和安裝所有內容)。此工具保留您的所有設置(綁定、ips、ssl 證書、處理程序映射等)。您可以查看依賴項(gac 中的程式碼等),甚至可以移動數據庫。
從檔案中恢復是一件輕而易舉的事。我會向希望能夠快速恢復網站的任何人推薦此工具。
使用 IIS7,它變得容易得多。您正在尋找的是“共享配置”。您可以在伺服器上的全域級別進行設置。有了它,你可以像你描述的那樣吃熱的或熱的。
在主伺服器上,使用共享配置下的“導出”。這將保存伺服器的機器密鑰(不同於 ASP.NET 的機器密鑰)。這確保了所有加密數據都可以在新伺服器上準備好。它還將保存 applicationHost.config 和 Administration.config。在第二台伺服器上進行導入後,applicationHost.config 和 Administration.config 可以(並且應該)在兩台伺服器之間 100% 相同。
因此,您可以使用 DFS-R 自動保持配置 100% 同步,或者使用 robocopy 之類的工具定期執行此操作,具體取決於您喜歡的工具。
您也不需要指向主伺服器上的不同路徑。只是為了第二台伺服器而使用導出。
Web 部署工具很棒,但就您所說的而言,共享配置更合適。
應該注意的是,證書不儲存在這些文件中,因此您需要在設置它們時手動執行它們,或者使用其他東西(如 Web 部署工具)來保持它們的同步。
對於便宜但功能強大的負載均衡器,您可以考慮的另一件事是 Microsoft 的新 ARR 技術。(應用程序請求路由)