WSFC SQL應用磁盤陣列替換

   在上篇文章中,咱們講了WSFC上層文件服務器應用數據磁盤的替換與升級,實際上咱們能夠有好多個場景去適用這種替換方式,第一,擴容替換 ,就是咱們上篇所演示的那樣,第二,壞損替換,事先文件服務器好的時候,把數據拷貝出來,某天突然羣集數據磁盤壞了,直接插入新磁盤,把備份的內容還原進來,點擊修復磁盤便可。
node


   那麼基於上篇文章提到的內容,本篇咱們再來看一種場景,針對於SQL Server羣集應用,完整替換羣集磁盤陣列,應該怎麼處理。數據庫


    一個SQL羣集會有仲裁磁盤,DTC磁盤,數據磁盤,甚至日誌磁盤,咱們假設這些磁盤都來自同一個存儲陣列,如今要所有換到另一個新的存儲陣列,應該如何操做。服務器


    首先,根據咱們上篇文章所提到的修復替換方法,能夠參照下列流程操做分佈式


  1. 新陣列分配LUN到羣集節點ide

  2. 羣集節點識別存儲磁盤,聯機,初始化,分區,分配非原羣集磁盤臨時盤符工具

  3. 首先添加見證磁盤,直接更改見證磁盤爲新磁盤spa

  4. 脫機SQL羣集應用,這將中止SQL服務以釋放SQL數據文件上任何打開的句柄3d

  5. 拷貝原SQL數據磁盤完整目錄內容到新數據磁盤,可使用資源管理器,或使用Xcopy,RoboCopy拷貝,若是針對於數據庫文件權限有所設置,這裏能夠進行處理日誌

  6. 記錄現有DTC應用配置,刪除,基於新磁盤原樣重建新的DTC應用orm

  7. 點擊SQL應用現有數據磁盤,右鍵點擊修復,選擇新數據磁盤

  8. 聯機上線SQL應用

  9. 原SQL數據磁盤自動從SQL羣集應用刪除,從羣集可用磁盤刪除


根據老王的研究,針對於SQL羣集的磁盤替換,除了這種方法,還有如下幾種方法


  1. 新增替換:不採用修復替換,使用新增磁盤至SQL資源組,手動修改盤符。缺點:有一點點複雜,須要理解羣集磁盤替換過程,若是不當心操做錯誤會致使應用不能聯機

  2. 備份恢復:網上也有朋友介紹過一種辦法,事先針對於數據庫進行MDF,LDF的備份,以後新增磁盤,刪除原磁盤,附加還原數據庫。缺點:若是數據庫過多的話,會須要執行多個數據庫備份,若是數據庫很少,可能適用,但需考慮到數據庫權限的恢復

  3. 重裝替換:直接從新搭建一個羣集,再從備份的數據庫文件恢復,缺點:若是數據庫實例不少,重裝將會很是耗時。若是隻有一個數據庫實例,可能適用,但仍需考慮數據庫權限的恢復。

  4. 工具替換:有一些第三方工具能夠幫助咱們在兩個羣集,或者說兩個SQL實例之間,或是從文件到數據庫,批量還原遷移數據庫,同時能夠保證數據庫權限的恢復,但須要操做人員熟悉第三方工具


基於考慮咱們決定採用最爲熟悉穩妥的修復替換方式


環境介紹


DNS&iscsi

lan:10.0.0.2 255.0.0.0

iscsi:30.0.0.2 255.0.0.0


08node1

MGMET:10.0.0.3 255.0.0.0 DNS 10.0.0.2

ISCSI:30.0.0.3 255.0.0.0

CLUS:18.0.0.3 255.0.0.0


08node2

MGMET:10.0.0.4 255.0.0.0 DNS 10.0.0.2

ISCSI:30.0.0.4 255.0.0.0

CLUS:18.0.0.4 255.0.0.0


當前SQL羣集已經配置完畢DTC,及SQL應用

63bf8bf342347bd08266bb79b27d0145.png

驗證SQL Server 故障轉移,及查詢,能夠正常工做

b6e12b71e70e4620718460617a0da94a.png

時間節點來到第二步


各節點獲得存儲新分配的存儲,而且已經完成分區格式化

新分配的S O X 分別爲新見證磁盤,新DTC磁盤,新數據磁盤

其中 見證磁盤和DTC磁盤裏面的數據能夠接受重建,所以不須要考慮盤符問題

b3e80768f84131297a42f079fd7cfbaf.png


添加新陣列見證磁盤,DTC磁盤爲羣集可用磁盤

423820aa9f3279cec328fd787207a0c1.png

點擊羣集名稱-更多操做-配置羣集仲裁設置

8b8b286b45e9ea8ecede1a746ffd6e81.png

在選擇見證存儲處取消勾選以前舊的存儲,勾選新的見證磁盤做爲見證

d932d281fd57ad18d2f6e98e69659c52.png

配置完成能夠看到,羣集見證磁盤已經自動變爲了新的陣列磁盤,原有見證磁盤被移動至羣集可用存儲,這時它已經不起做用,能夠選擇從羣集可用存儲中刪除。

8f825c1b8a4c4e6be6b314d73fdda3d1.png

這裏的見證磁盤替換很是簡單,由於見證磁盤的做用無非是在發生分區的時候幫助其中一方獲勝存活,儲存羣集數據庫副本,羣集數據庫副本各個節點自己都有,新的見證磁盤無非是添加進來從新和各節點同步下最新的羣集數據庫副本


在實際見證磁盤替換過程當中,按照正常步驟操做,一般不會出現宕機狀況,由於幾乎就是一瞬間的事情,2012以後有動態仲裁,更不會宕機,若是在2012以前,發現替換見證磁盤過程意外出現宕機,可使用強制仲裁啓動羣集服務。


接下來咱們須要處理DTC和SQL,SQL羣集應用可其它羣集應用不同的地方就是,它可能隨時隨地會在用着,有句柄在打開它的文件,所以咱們須要脫機SQL羣集應用,才能夠作拷貝文件和處理DTC的操做,這也是此方案的弊病,若是採用備份替換,工具替換,則不會面臨此問題,此過程宕機時間視數據庫拷貝時間決定。


脫機SQL羣集應用,宕機時間開始

d4e492d5b655497fff99352b175685be.png

在這一步驟中若是發現SQL舊數據磁盤不可見,能夠單獨把SQL舊數據磁盤進行聯機,以便拷貝文件,這時候全部鏈接到SQL羣集應用的句柄已經關閉

268092a4fbc52146e4bd1657e644db9e.png

拷貝整個舊數據目錄至新數據磁盤,若是針對於數據庫文件有權限設置,這裏可使用xcopy,robocopy進行處理

a46a68822bbb0144a15ca1de17a0c6e8.png

f14b76cb8ff638c192c954e48470b613.png

記錄現有DTC應用配置,而後刪除,重建

deaa547ec121c003d35464e6a610711e.png


dd4fd30eda8f8a3f70006b8dc3374ee7.png

這裏針對於DTC應用,咱們能夠選擇這種直接重建的方式,或者若是您不方便重建,修復替換,新增替換的方式也能夠操做,DTC應用自己並無什麼不能夠替換的數據,只是用於SQL各節點的間的分佈式協調。所以咱們採用直接重建沒有問題。


最後使用修復替換掉SQL應用的數據磁盤,在SQL應用羣集磁盤5的地方右鍵點擊-更多操做 - 修復


這裏的羣集磁盤5狀態必定要是脫機纔可使用修復

e4d0d143e4e3a7cb1cff388afbca2933.png

選擇拷貝完成數據的新數據磁盤

6d9fb3b6c07c077a75c127d1f7bfcd54.png

和文件服務器替換同樣,修復嚮導直接自動幫助咱們把舊的羣集磁盤信息,帶入新羣集磁盤,確認盤符爲舊盤符

7c52405a2b1b2e96d9093d8d3014c14c.png

聯機上線SQL羣集應用

0f478943a31309c88824890ad6642b8e.png

驗證能夠正常執行故障轉移

5e8c4ef963607a4466bf186bec85a987.png

驗證能夠正常進行數據庫查詢

ad1aa817766d8445b44b5f2a71ef918b.png


到這裏咱們完成了SQL羣集應用的所有存儲替換

使用這種替換方式的好處,咱們不用一個個的去備份還原數據,不用去care權限的問題,由於全部文件咱們都是原封不動的拷貝

缺點就是SQL應用的停機時間較長,主要是脫機拷貝數據庫目錄的時間,具體實際環境下,也許能夠有一些更靈活的方式,例如能夠下班以前凍結SQL寫入句柄,而後拷貝文件出來,下班以後直接替換見證,DTC,而後修復SQL。


以上是老王爲你們帶來的兩篇關於羣集替換存儲的文章,但願能爲感興趣的朋友帶來收穫

相關文章
相關標籤/搜索