什么是數(shù)據(jù)本地性(Data Locality)
VM 所需要的數(shù)據(jù)(存儲)的拷貝總是存放在 VM 所在的主機(jī);镜某霭l(fā)點(diǎn)是:通過只訪問本地主機(jī),避免跨網(wǎng)絡(luò)訪問其他主機(jī)獲取數(shù)據(jù),從而能夠提升應(yīng)用本身的性能。然而,我們提出的結(jié)論是,在快速發(fā)展的更加敏捷的 IT 基礎(chǔ)架構(gòu)之下,基于更高性能的存儲設(shè)備,高速網(wǎng)絡(luò),所謂的數(shù)據(jù)本地性的需求其實(shí)是成為了一個新的局限。
數(shù)據(jù)本地性的適用和非適用場景
總體而言,數(shù)據(jù)本地性是一個有用的特性,特別是在廣域網(wǎng)或在互聯(lián)網(wǎng)的環(huán)境中。比如,在一個跨數(shù)據(jù)中心站點(diǎn)的雙活延伸集群架構(gòu)下,數(shù)據(jù)本地性可以保證本地站點(diǎn)的應(yīng)用不用跨廣域網(wǎng)訪問遠(yuǎn)程的站點(diǎn),這時候,數(shù)據(jù)本地性的特性是很有必要的。
然而,不是所有場景都需要數(shù)據(jù)本地性:
- 數(shù)據(jù)本地性僅適用于讀取的操作。寫操作通常不具備這個特性,因?yàn)橐环輸?shù)據(jù)通常需要存放到不同的主機(jī),從而支撐高可用。
- 基于 RAID 的系統(tǒng)需要網(wǎng)絡(luò)訪問。如果超融合系統(tǒng)使用糾刪碼去條帶化數(shù)據(jù)到不同的主機(jī)(又稱 RAID),那么網(wǎng)絡(luò)訪問去重新讀取這些條帶化后的數(shù)據(jù)是必須的。這使數(shù)據(jù)本地性也沒有必要。
- 網(wǎng)絡(luò)延遲正在持續(xù)降低。如今的交換網(wǎng)絡(luò)比 2 年前都更快,資源消耗更小。萬兆網(wǎng)絡(luò)已經(jīng)普通采用,從 10G 過渡到 25G,甚至 40G 網(wǎng)絡(luò),這也意味著跨網(wǎng)絡(luò)的 IO 讀取操作所帶來的額外延遲可以幾乎忽略不計。
DeepStorage 作為第三方機(jī)構(gòu)對 Data Locality 的適用性做了具體的測試工作,結(jié)論是類似的。原文請參考:
http://www.deepstorage.net/NEW/wp-content/uploads/2017/07/Locality-paper-b.pdf
未來如何管理數(shù)據(jù)
應(yīng)用和負(fù)載在擴(kuò)展性和運(yùn)行環(huán)境方面都變得更具流動性,不是單一和靜態(tài)的。數(shù)據(jù)不會,也不應(yīng)該跟某些物理資源做簡單的綁定,這樣的話使得 IT 在走向分布式,超融合、邊緣計算或混合云場景下變得更加艱難。企業(yè)IT正走向混合云部署,擁抱云原生應(yīng)用或基于容器的應(yīng)用。vMotion,DRS,IaaS 和云端擴(kuò)容變得更加主流的技術(shù)。
數(shù)據(jù)和應(yīng)用的流動性的本質(zhì)意味著,存儲系統(tǒng)將應(yīng)用和特定主機(jī)綁定的做法是相違背的。當(dāng) VM 或數(shù)據(jù)需要移動的時候,數(shù)據(jù)本地性所帶來的性能的好處不復(fù)存在,相反,應(yīng)用性能在遷移的過程中,會反而被本地性特性影響,性能變得不穩(wěn)定和不可預(yù)料。這有點(diǎn)像數(shù)據(jù)一直在追著應(yīng)用跑,很難想象這是一個更合適的環(huán)境。
以下是一個訂單系統(tǒng)的 VM 部署在 vSAN 上進(jìn)行的 vMotion 性能測試,測試此 VM 在沒有數(shù)據(jù)本地性的情況下,對于性能的影響?梢钥吹,vSAN 在不考慮數(shù)據(jù)本地性的時候,不管VM在被動或主動遷移到不同物理主機(jī)的時候,都能夠提供非常一致的性能表現(xiàn)。從業(yè)務(wù)角度看,這意味著穩(wěn)定的訂單接受能力,不受IT基礎(chǔ)架構(gòu)變化的影響。
對應(yīng)于數(shù)據(jù)本地性(Data Locality),我們將 vSAN 的這個設(shè)計思路總結(jié)成“數(shù)據(jù)無處不在”(Data Ubiquity),它充分反映了當(dāng)前數(shù)據(jù)和應(yīng)用本身的流動性趨勢,保證數(shù)據(jù)訪問的一致性體驗(yàn),獨(dú)立于物理情況的限制?蛻粜枰獢(shù)據(jù)具備更高的可用性,更方便的穩(wěn)定地運(yùn)行系統(tǒng)。IT 管理人員從而能夠更自由、靈活和敏捷地運(yùn)維 IT 生產(chǎn)系統(tǒng),不用為了某些數(shù)據(jù)的物理限制導(dǎo)致在運(yùn)維中降低應(yīng)用的穩(wěn)定性和性能。
數(shù)據(jù)安全
安全是客戶的重要訴求。數(shù)據(jù)本地性有時候被用來解釋成保護(hù)數(shù)據(jù)的某種手段和方法,所謂“你能夠知道數(shù)據(jù)在哪兒”的直白說法。再仔細(xì)一想,其實(shí)應(yīng)用本身會移動,數(shù)據(jù)也經(jīng)常被備份或用來災(zāi)備,真實(shí)情況是,用戶其實(shí)很難保障那份數(shù)據(jù)真的存放在哪兒。所以就安全的角度去看,使用數(shù)據(jù)加密才是真正保障數(shù)據(jù)安全的解決方案,而并不是用數(shù)據(jù)本地性去套用。
HCI 交付數(shù)據(jù)無處不在
隨著業(yè)務(wù)變化越來越快,IT 解決方案需要以一致甚至更敏捷的方式去響應(yīng)業(yè)務(wù)的需求,去創(chuàng)新。IT 需要尋求更一致統(tǒng)一的基礎(chǔ)架構(gòu)平臺去滿足性能、擴(kuò)展和運(yùn)維各方面的需要,來避免 IT 孤島、整合應(yīng)用負(fù)載。VMware vSAN 提供了非常適合混合工作負(fù)載的 Data Ubiquity,跨云(邊緣到核心到公共云),跨應(yīng)用程序(傳統(tǒng)到云本機(jī)應(yīng)用程序)和跨故障域(群集到延伸群集到可用區(qū))。