在同一台機器上執行 IIS 和虛擬化 SQL Server
我在政府內的一個小型組織工作。我們在 govt 上維護自己的 Windows Server 2003 Web 伺服器。非軍事區。我們必須在 7 月之前遷移到 Windows Server 2008 或 2012。此外,我正在使用 .Net 重建網站,該網站現在將使用 SQL Server 數據庫而不是 MS Access。
我已經讀過,將 IIS 和 SQL Server 放在同一個盒子上並不是最好的主意,尤其是一個暴露在外面的盒子。由於預算和政治原因,我們只關註一台伺服器。我們現有的伺服器無法升級;它不滿足 Windows Server 2008+ 的最低要求。
我目前正在為新伺服器進行配置,並且正在考慮在虛擬機上執行 SQL Server,而 IIS 在主機本身上執行。此設置有哪些安全問題?黑客是否有可能竊取我的虛擬機並獲得完全訪問權限?不會對任何數據進行分類,因為它們都可以通過我們的公共網站訪問。
編輯 - 添加伺服器規格
戴爾 PowerEdge T430 塔式 (FT430)
- 2 個英特爾至強 E5-2620 v3 2.5GHz,15M 記憶體
- 8 x 8GB RDIMM,2133MT/s,雙列 x8 數據寬度
- PERC H730 RAID 控制器(將使用 RAID 5)
- 4 個 600GB 15K SAS 2.5 英寸熱插拔硬碟
- 板載 Broadcom 5720 雙埠 1Gb LOM
- 雙,熱插拔,冗餘電源(1+1),495W
不知道您實際上在看什麼伺服器,我們只能猜測。
補充一下 GregL 和 Jim B 所說的話。
我的猜測是您正在使用通過 OLEDB 靜態連接的 ASP 經典程式碼頁從 Server 2003 Standard、IIS 6.5、Access 2007 遷移。您可能計劃使用升遷嚮導(大多數情況下都可以使用)導入您的 Access,或者您可以嘗試 32 位應用程序導入/導出。
對於您的新設置,我正在考慮,MS Server 2012 Standard 已獲得 1 個物理安裝和 2 個虛擬安裝的許可。這將為您提供在不同 VM 中獨立執行 SQL 和 IIS 的選項。但是,在您的情況下,這可能不是最好的方法。
**不要:**從 hyper-V 主機作業系統執行公共應用程序。我還建議不要在主機上啟用 RDP。將主機視為伺服器的電源線。如果它壞了,你需要在現場修理它。
您可以:在虛擬機中安裝 IIS > 記憶體取決於您的程式碼,如果您執行 ASP 經典或 .Net
您可以:在虛擬機中安裝 MS SQL > VM 的大小取決於您的 MS SQL 版本。Express 版本提供高達 10GB 的數據總成本(比較版本)。
從現在起 7 年後規劃您的伺服器。範例:虛擬伺服器驅動器大小第一天,128Gb,第 5 年 1.5TB,計劃 3TB。
IIS 7.5 及更高版本在虛擬環境中執行良好。在您的虛擬環境中執行專為您的作業系統設計的 MS SQL Express 也很好。這一切背後的想法是能夠比以前從單個物理伺服器上執行更多。如果它在獨立安裝中執行,它應該只是在虛擬安裝中找到。不包括從使用所有物理連接的設備和記憶體中獲利的數據中心版本。在同一個 VM 上同時擁有 IIS 和 SQL Express 可以減少我的管理時間,因為我不必查看第二台伺服器。除非您計劃執行 Datacenter 版本,否則您希望它在它自己的物理機器上執行。
以下是我的 Server 2008 R2 Standard 中的一些數字。CPU 3.3Ghz,8 核,1 個物理 1 個虛擬 Windows 伺服器,2 個虛擬 Ubuntu 伺服器,2 個 Win8 虛擬桌面,2 個 Win7 虛擬桌面。
IIS = 3.4Gb(27 個 IIS www 站點,3 個 ASP Classic 24 .Net)
2008 SQL Express = 1.14Gb(28 dbs 活動)
作業系統 2008 R2 虛擬機 = < 2Gb
Total Memory 10Gb 從來沒有用過它。
您的 64Gb 記憶體機器會很好,但請使用您的實數並調整您的系統以匹配加上 20% 或作業系統推薦的值。
關於黑客,他們確實存在,但腳本也是如此。計劃您的系統恢復,就好像您計劃每晚都被黑客入侵一樣。並練習您的恢復過程,直到它變得完美,然後在需要時它會真正起作用。