Tuesday, March 14, 2017

實體機環境 如何讓資料在最小企業營運衝擊的環境下 跨不同廠牌 Storage 搬家



現今而言 已經有不少系統都轉換到虛擬環境 或是根本就是活在雲端上
但終究還是有些還在地上 甚至還是實體設備
這些有可能是某些運作五年以上的系統
又或者是 根本就是被要求只能在實體環境運作

在這狀況下 一般資訊部門只需要每年跟老闆要點錢 繳繳設備軟硬體保護費即可
不過有時候會遇到一些很囉哩巴說的問題喔
某家廠商的硬體EoS (End of Support), 想巴著廠商說要繳保護費都不行
又或是 當初採購的設備 已經承擔不了新的服務進來 原有設備擴充性也已經到了極限
不然就是 舊設備(舊玩具)的 TCO 太高 新系統(新玩具) TCO 相較之下低很多

當有這需求出現的時候
Server 好解決 只要利用HA 即可搞定新舊設備切換
但是存放資料的 Storage 可就沒那麼容易了
尤其是想要從A廠家 換到B廠家的時候 一開始大概都很難很順利的切換過去

而且因為是 Storage, 必須要時時刻刻維持資料的一致性
從DB層搬家是比較容易的方式 像是透過現在的SQL AlwaysOn 等等 都可以減少切換停機時間

但如果是老舊系統 SQL 2008? 或者是AP原本就不支援SQL AlwaysOn?
就還是只能老老實實在Storage Level搬資料了

比較硬幹的方式 新舊 Storage 同時上線
由Server端 停掉Database service, 以OS file level方式Copy檔案

這在僅有少量資料要搬家的時候 User 還可以接受
但是如果你要搬家的資料以數百G來算 甚至以TB來計算的時候
User可能不允許讓你有長時間停機的可能 讓你慢慢搬完資料

可是咧 你真的不得不被逼著換Storage啊~~
10TB的資料 你也不能夠要求User整套關機 讓你慢慢搬

之前遇到這問題 廠商介紹了一套FalconStor NSS 來搬家

基本上就是下圖所示 作為中介Storage Device
在 Back-end side 本身是Initiator, 連接到 Storage A 的Target 並取用其中的資料
在 Front-end side 又把自己變成 Storage, 把Storage A的資料透過自己的Target 提供給 Server A
SAN Switch A1/2 基本上可以為同一台 只要Zoning設定正確即可


這種狀況下有很多玩法
像是下圖 可以組合多種高低階Storage在後端 利用類似Data Tiering的方式
SSD Storage 會被當成Cache, 低階Storage  只要有基本的儲存功能即可




而本篇主題 資料如何在不同廠商Storage之間搬家呢
原則上是利用其中一個功能 SED (Service Enabling Device) 功能
基本上就是資料原封不動從前端寫回後端Storage.
不會特別因為FalconStor NSS 加任何附屬資料 (放在別地方)
這樣子在後續把NSS斷線之後 Server A還是可以直接讀懂後續 Storage A/B 的資料


搬家方式如下
假設SAN Switch 沒有分Front-end, Back-end的狀況下

這是一開始起手式
1. Server A 還是直連 Storage A
2. Storage B 上線, NSS 也上線

Step 1. 接下來就是排個30分鐘停機時間
1. NSS 接上 Storage A 的資料
2. NSS 再把資料分出來 讓 Server A抓到
3. 然後就是系統回復上線 繼續提供服務

Step 2. NSS開始把資料順便同步到Storage B. 這段時間還是持續提供 Server A access
Storage A此時還是Primary, Storage B 只是 Data Copy
這段時間看你的資料有多少 基本上怎樣 Copy 都不會對 User 有 Impact


Step 3. (這步可以不用作)
當Storage B Copy完成 NSS會持續維護Storage A/B之間的資料一致性
這時候可以把Storage A/B對調, B 為 Primary, A 為 Copy



Step 4. 再排一個 30分鐘的停機時間 (可能是一個禮拜 或是一個月後 端看 User 協調)
這時候就是斷開 NSS to Storage B 連線, 讓 Server A 直連 Storage B
到此為止就是搬家完成


最後就是把 Storage A 跟 NSS 拆掉


基本上搬家過程還算順利 總共70+套系統 200TB data 一套一套跟 User 協調時間慢慢搬
每套系統不管資料再大 都只要排兩次30分鐘停機

熟練之後 速度快的話 script 事先全部寫好 可以拼到 兩次各15分鐘 就可以上線
沒辦法更快主要還是因為 Windows MPIO 抓新的 Storage 需要整套 Server 重開機
還有就是 NSS License by data capacity. 同時間只能提供一定數量的 capacity 搬家
所以就是 大家先排時段先贏拉








No comments:

Post a Comment