建立 SharePoint 叢集服務,讓服務不中斷

第一步  設定分享磁碟 iSCSI

因為公司的伺服器都沒有購置光纖儲存裝置,所以跨 電腦共享的最快速的方式就是兩邊 都裝 iSCSI 起始器,建立最好的選擇就是放在 NetAPP 上,關於 NetAPP 建立步驟我就不再重複,這些資料應該都可以在網路上找到,比較要特別注意的是設定 Security Group,我是設定一個 Security Group 給 SQL Server 專用,讓不是經過設定的電腦是無法存取,保證資料的安全。

 

另外就是空間的大小,下一步的範例只是簡單的環境,而我是要用在正式環境,所以我把資料碟放大到 200G,不過 在 NetApp 上這些空間都是可以事後再調整,調整後切換到正在使用的 Cluster 主機去變更 Partition 大小就好了。

NetApp iSCSI Security Group
NetApp iSCSI Security Group

第二步  先安裝底層

在 VM Host 上建立兩台 Windows server 2008 (分別是 TPSQL1, TPSQL2), 兩台先建立 Cluster, 然後在這個 Cluster 上建立 SQL, 其步驟請參考以下連結.

安裝 SQL Server 2008 容錯轉移 第一篇

安裝 SQL Server 2008 容錯轉移 第二篇

安裝 SQL Server 2008 容錯轉移 第三篇(完)

 

為了除錯方便,可以把 SQL 2008 Management Studio 安裝在本機上,這樣接下來測試 SQL Cluster 的自動移轉就可以不在乎去切換哪一台主機作為控站台,Download SQL 2008 management studio

 

 

第三步  測試自動切換流程

以上設定完畢後就可以開始測試,假設你已經在自己的機器上裝好 Management Studio,測試起來就比較方便,在存取的資料庫的時候,故意去關閉其中一台 SQL Server,可以得到這個服務是正常且持續性的提供資料。

第四步  安裝第一台 MOSS
安裝 MOSS 也沒有甚麼大學問,記得先在 Server 端啟動 IIS,.Net FrameWork 3.5,安裝 SQL 2008 Native Client,然後執行安裝程式後先選擇檢查環境,如果還有缺軟體的話,系統會自動去微軟網站下載安裝。

以上處理完畢後就可以進入正式安裝 SharePoint,因為我們 SQL Server 都已經設定完畢了,安裝時選擇是伺服器陣列,否則他一口氣幫你連SQL Express 都建立好了那… 就要刪掉重來。

安裝步驟參考請點選 (Team Foundation Server 我們不用,這個部分可以跳過)

第五步  進入後台設定內容資料庫
安裝完成後應該可以順利進入 MOSS 後臺畫面,先前我們的 MOSS 沒有切割 Content Database,使用久了導致裡面的 DB File 超過 100G,雖然一切運作還是正常,但是覺得效能有點開始下滑,或許是以前管理 Oracle 資料庫一小段時間,喜歡把 DB File 切割成比較小的檔案,方便 Cold Backup 的檔案複製,所以本次在 DB 設定的時候,我就先依照可能所需要的空間先把 DB File 先切開。

首先內容資料庫(Content)必須在站台建立之前就先在後臺建立好,軟體預設會使用 WSS_Content 這個資料庫,這個資料庫我只打算要給主網站使用,其他次網站就丟到相對應的內容資料庫去。

在指定內容資料庫要注意的地方是系統預設會帶第一個建立的內容資料庫,同時在建立網站的時候沒有辦法指定,所以在建立新網站時要先調整內容資料庫,只開啟想要放置的地方;就算資料庫是已停止的狀態,並不是把資料庫關閉,已有的服務及資料都正常運作。

Create content databases
Create content databases

第六步  建立新網站
底層都設定完成後,就可以開始建立一個新的網站,其路徑在後臺管理程式 應用程式管理 – 建立網站集合 ,如果是整個網站重新建置的話,範本就選擇相對應的需求,但是如果要還原舊有的網站的話,那就選擇 稍後選取範本 ,為啥呢? 因為接下來我要做網站的匯出,但匯入網站時會去選擇檢查目的端的網站範本,如果選擇的跟來源範本不同的話,那是匯不進去的。

Create a new sharepoint site
Create a new sharepoint site

 

第七步  網站的匯出與匯入
市面上有些工具是可以調整 SharePoint 的結構,或者複製 SharePoint 內容,試用過幾種之後還是覺得微軟的命令式程式比較適合整個網站的搬移作業,首先到來源端(MOSS)主機開啟 SharePointe管理命令介面,執行

stsadm -o export -url http://moss -filename x:/mossbak/it.cmp

其中 -url 後面接要匯出的網址,-filename 把檔案輸出到指定的路徑去,其中 cmp 是 MOSS 匯出的命名方式,實際上會產生很多個小檔案。

SharePoint Exporting
SharePoint Exporting

 

完成後應可以看到以下的壓縮匯出檔案。

File list after sharepoint exported
File list after sharepoint exported

 

匯入時的指令跟匯出相似,

stsadm -o import -url http://moss1 -filename x:/mossbak/it.cmp

 

要注意的是備份檔案存放的位置是新舊網站 (MOSS 及 MOSS1) 都要能讀取得到,匯出匯入的時間會隨著網站大小有不同的執行時間,如果順利的話網站就很快速的搬家完成。

 

第八步  負載平衡設定 (Load Balance)

既 然 DB Server 端已經有設定 Cluster 的安全設定,接下來就是要做 Front End Server (Web Server) 的容錯性測試,其實方式有很多種,我選擇的是 Load Balance,其好處是在多台的環境下,每台主機都會輪流服務,可以藉此分善,而 Cluster 的架構是走 Active-Passive 同一時間內只能有一台啟動提供服務。

安裝時可參考 如何在 Windows 2008 Server 安裝 Load Balance ,但我在實作時發現其中一台 MOSS 主機無法正常的加入這個機制,甚至於把網卡及 Load Balance 移除掉重來也還是一樣,到最後只好重新安裝幾台 MOSS 來補救;至於無法加入那台就遇到移到其他外點來使用。

另外標準做法是需要兩片網卡來做負載平衡,因為我都用虛擬主機來做,在 ESX 底層也沒有因網段不同來區分不同網卡,所以我嘗試用一片網卡來做 Load Balance 也成功,同時虛擬出來的IP也跟所有 MOSS 主機同網段,測試起來都很正常。

心得: 做這些動作花了相當多的時間與精力,其實架設起來都還很簡單,問題時要把原本的 SharePoint 網站搬移到新的地點,真是要命阿,做了數次的打掉再練,最後終於整理出來上述的方式來處理。

發表迴響