爲何寫這篇文章,主要是由於考慮到羣集上更換存儲的狀況,例如原來的存儲發生太小故障,擔憂數據丟失,必須將羣集中的存儲換成一個新的存儲。因而就搭了個實驗環境驗證一下實施過程。本環境是基於Windows server 2003+SQL Server 2005的環境。後面會上一篇Windows Server 2008+ SQL Server 2008的相關文檔。html
仲裁磁盤中記錄有仲裁信息,以下圖所示:sql
而數據盤中存放的有系統數據庫等信息,以下圖所示:數據庫
最關鍵的就是這S盤中的信息。windows
首先:存儲爲上新的仲裁盤和數據盤劃分好LUN,並映射到兩個節點上。兩個節點上都能看到相同的磁盤信息。ide
先在一個節點上進行分區,格式化等操做,爲了與早期的仲裁及數據盤區分開,在此仲裁爲P盤,數據爲T盤,另外一個節點上從新掃描便可,不須要從新啓動,而後添加盤符,以下圖所示:工具
更換羣集中的仲裁磁盤:sqlserver
第一步,咱們先將仲裁磁盤加入到羣集組中,以下圖所示,其餘操做默認。性能
而後,編輯Windows羣集的屬性,仲裁---指定新的仲裁磁盤便可。以下圖所示:spa
注意:如何由於仲裁磁盤不可用而沒法啓動羣集服務,請使用 /FIXQUORUM 開關啓動羣集服務。而後,便可以更改仲裁磁盤。以下圖所示:3d
此命令只是在羣集由於仲裁緣由沒法啓動的時候使用,成功設置仲裁磁盤後,刪除此參數,再從新啓動羣集服務。而後能夠刪除原來的仲裁盤,或者是保留用做備份。
更換羣集中的數據磁盤
首先,把新的數據盤加入到SQL Server資源組中,以下圖所示,其餘默認。
接下來,須要讓SQL Server服務可以識別到此磁盤,這裏取決於SQL Server的依賴關係,以下圖所示,將新的磁盤加入到依賴關係中,仔細檢查SQL Server相關服務的依存關係,我這裏用到SQL Server Fulltext和SQL Server服務,注意,服務要先脫機,再添加資源依存,而後服務再聯機。
此時,SQL Server就能夠識別到新添加的磁盤了,能夠進行數據的備份等操做了。 以下圖所示:
而後,就是複製數據,將S:盤中的全部數據複製到T:。
具體操做步驟是:
1. 只保證一個節點開機,其餘節點關機,目的是讓全部的磁盤資源都切換到一個節點上。便於操做。
2. 中止SQL Server服務,不然,沒法複製文件。
由於S盤中存放的是數據庫的內容,必須停機後才能進行復制。根據數據量和存儲性能時間不等。全部內容,全選複製。
緊接着,修改磁盤盤標:
一、打開磁盤管理器,查看全部的磁盤均被識別,並記錄磁盤編號,以下圖所示:
原有仲裁盤爲磁盤1,原有的數據庫爲磁盤2,新的仲裁盤爲磁盤3,新的數據盤爲磁盤4.
二、打開註冊表,找到如下位置:
HKLM/System/CurrentControlSet/Services/Clusdisk/Parameters/Signatures的鍵值,找到全部的原存儲共享磁盤數字編號
這裏,咱們主要是記錄原有數據盤的編號,磁盤2,對應的是7FE3E998。
三、將原有的數據磁盤的編號與新的磁盤對應起來,也就是更改磁盤簽名。
但無奈沒有找到dumpcfg.exe命令,這個命令應該是包括在Windows 2000的資源工具包裏,但實在是不在好找,我就偷個懶,直接修改註冊表了。(強烈建議使用dumpcfg.exe命令操做),不知道直接修改註冊表,有什麼隱患,但願有知道的朋友給說明一下,或者告訴我哪兒能夠下載到dumpcfg.exe程序。
修改依存關係:
而後,啓動全部節點,刪除原有數據盤S盤,(刪除資源時必需要求全部節點都開機)
緊接着,其餘節點再次關機,只保留一個節點開機,修改新數據盤的盤符爲S盤。
而後,此節點關機,再開啓第二個節點,查看盤符是否爲S:若是不是,則須要修改一致。而後,全部節點開機。
最後,再將SQL Server服務和代理服務聯機,便可,以下圖所示:
至此,操做就操做。
羣集中的其餘存儲更換,方法同樣。都是先加入到羣集中後,修改磁盤信息(簽名)。例如,存在MSDTC資源的話,也是一樣的操做方法,將新的磁盤加入到羣集中,中止服務,將源盤的數據複製到新盤中,修改磁盤簽名,刪除源磁盤,修改盤符。啓動服務,OK.
另外,須要注意:
或者有些狀況下須要將SQL Server service account 添加到SQL Server 文件夾和OLAP 文件夾,而且讓SQL Server service account有該文件夾的全部權限。
參考:http://tech.diannaodian.com/dw/data/sql/2012/0610/181991.html
通過實驗,微軟給出的操做是經過dumpcfg.exe命令 更新磁盤簽名,但不用好像也能夠。若是是關於SQL Server 2008的環境,能夠參考下面的討論:
http://social.microsoft.com/Forums/cs-CZ/24e3cbf1-43af-412d-909a-1a68c72fe527/windows-2008-server-r2-