數(shù)據(jù)庫文件系統(tǒng)DBFS企業(yè)版簡(jiǎn)介
1. SAN同享架構(gòu)
1.1 SAN介紹
目前常用三種存儲(chǔ)架構(gòu):直連式存儲(chǔ)(DAS)、存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)、網(wǎng)絡(luò)接入存儲(chǔ)(NAS)。其中SAN(Storage Area Network)存儲(chǔ)局域網(wǎng)絡(luò),它是一種經(jīng)過光纖集線器、光纖路由器、光纖交換機(jī)等連接設(shè)備將磁盤陣列、磁帶等存儲(chǔ)設(shè)備與相關(guān)服務(wù)器連接起來的高速專用子網(wǎng)。SAN 架構(gòu)首要包含:高速網(wǎng)絡(luò) (LAN)、Servers 服務(wù)器群、高度整合的儲(chǔ)域管理軟件、高容量及高速存儲(chǔ)設(shè)備、SAN Devices(包括Hub、Switch、將Servers與Storage device整合為存儲(chǔ)資源環(huán)境)。全體架構(gòu)首要分為核算節(jié)點(diǎn)和IO節(jié)點(diǎn),如下圖所示:
IO節(jié)點(diǎn)作為一個(gè)全體經(jīng)過IP網(wǎng)絡(luò)為一切核算節(jié)點(diǎn)(運(yùn)用服務(wù)器)供給數(shù)據(jù)存儲(chǔ)服務(wù),且IO節(jié)點(diǎn)之間一般選用節(jié)點(diǎn)間同享的FC-SAN存儲(chǔ),別的需裝備SAN同享(文件體系)軟件。
SAN(存儲(chǔ)區(qū)域網(wǎng)絡(luò))的優(yōu)點(diǎn)是具有大容量存儲(chǔ)設(shè)備的數(shù)據(jù)同享、低時(shí)延高吞吐、靈敏的存儲(chǔ)設(shè)備裝備、數(shù)據(jù)的可靠性和安全性高級(jí)。當(dāng)然缺點(diǎn)也非常顯著:
- 不是全體一致的解決方案,一般至少需求裝備SAN同享軟件、IO節(jié)點(diǎn)服務(wù)器、光纖交換機(jī)、FC磁盤陣列,搭建體系和后期管理維護(hù)本錢較高。
- 擴(kuò)展容量時(shí)比較雜亂,需求重新做LUN規(guī)劃,綁定映射等動(dòng)作,為了保證拜訪速度,需求一起添加IO節(jié)點(diǎn)服務(wù)器和FC磁盤陣列,擴(kuò)容本錢較高。別的不支撐在線不停事務(wù)擴(kuò)容以及擴(kuò)容后數(shù)據(jù)負(fù)載均勻遷移到各磁盤陣列,導(dǎo)致各磁盤陣列負(fù)載不均衡。
- FC磁盤陣列選用傳統(tǒng)RAID數(shù)據(jù)保護(hù)機(jī)制,數(shù)據(jù)重建速度慢,一起支撐的硬盤損壞數(shù)有限,并且RAID信息有丟掉危險(xiǎn)。
- FC磁盤陣列設(shè)備本身如果有故障,會(huì)導(dǎo)致整個(gè)體系癱瘓甚至數(shù)據(jù)丟掉。
- FC與IP協(xié)議轉(zhuǎn)化效率低,IO節(jié)點(diǎn)服務(wù)器之間無并行性,即一個(gè)IO請(qǐng)求只能有一個(gè)IO節(jié)點(diǎn)服務(wù)器來處理,不能有多個(gè)IO節(jié)點(diǎn)一起處理。
近十年隨著各行各業(yè)商場(chǎng)的快速增長(zhǎng),帶來數(shù)據(jù)規(guī)劃的空前發(fā)展,對(duì)存儲(chǔ)的容量彈性,易用性,安全性等提出了非常高的要求,一起用戶對(duì)存儲(chǔ)本錢的操控愈加趨于敏感。傳統(tǒng)SAN的架構(gòu)雜亂,本錢高,布置周期長(zhǎng),運(yùn)維本錢高級(jí)問題就變得愈加的杰出。近年云核算的鼓起,尤其是RDMA、NVMe等硬件技能的發(fā)展,時(shí)延大幅下降,根據(jù)大規(guī)劃網(wǎng)絡(luò)構(gòu)建并且支撐多點(diǎn)掛載的同享云盤,成為下一代的低時(shí)延同享存儲(chǔ),來替代傳統(tǒng)的SAN存儲(chǔ)成為可能。
1.2 根據(jù)SAN的構(gòu)建
結(jié)合SAN技能特性及其在很多職業(yè)的成功運(yùn)用,在具有以下事務(wù)數(shù)據(jù)特性的企業(yè)環(huán)境中適合選用SAN技能,大體分布如下:
|
典型職業(yè) |
典型事務(wù) |
特色 |
|
電信、金融和證券 |
計(jì)費(fèi) |
對(duì)數(shù)據(jù)安全性要求很高的企業(yè) |
|
電視臺(tái)、交通部分和測(cè)繪部分 |
音頻/視頻、石油測(cè)繪和地理信息體系等 |
對(duì)數(shù)據(jù)存儲(chǔ)功能要求高的企業(yè) |
|
各中大型企業(yè) |
ERP體系、CRM體系和決議計(jì)劃支撐體系 |
在體系級(jí)方面具有很強(qiáng)的容量(動(dòng)態(tài))可擴(kuò)展性和靈敏性的企業(yè) |
|
圖書館、博物館、稅務(wù)和石油 |
資料中心和歷史資料庫 |
具有超大型海量存儲(chǔ)特性的企業(yè) |
|
銀行、證券和電信 |
銀行的事務(wù)會(huì)集和移動(dòng)通信的運(yùn)營(yíng)支撐體系(BOSS)會(huì)集 |
具有本質(zhì)上物理會(huì)集、邏輯上又彼此獨(dú)立的數(shù)據(jù)管理特色的企業(yè) |
|
各行各業(yè) |
企業(yè)各分支機(jī)構(gòu)數(shù)據(jù)的會(huì)集處理 |
完成對(duì)分散數(shù)據(jù)高速會(huì)集備份的企業(yè) |
|
商業(yè)網(wǎng)站和金融 |
電子商務(wù) |
數(shù)據(jù)在線性要求高的企業(yè) |
|
大型企業(yè) |
數(shù)據(jù)中心 |
完成與主機(jī)無關(guān)的容災(zāi)的企業(yè) |
從以上各職業(yè)來看,互聯(lián)網(wǎng)及電子商務(wù)的數(shù)據(jù)字化與云原生化程度最高,因其職業(yè)較新可直接選用云原生架構(gòu)進(jìn)行。其它職業(yè),因構(gòu)建于傳統(tǒng)的SAN存儲(chǔ),而云端尚沒有與之相匹配的同享塊存儲(chǔ),云化率比較低,因而存在著巨大的商場(chǎng)時(shí)機(jī)。
從上層軟件上劃分,首要為集群數(shù)據(jù)庫、中間件以及其它集群運(yùn)用軟件等。如下圖所示:
無論是上層的數(shù)據(jù)庫,仍是中間件及SaaS運(yùn)用軟件,都需求根據(jù)SAN的同享文件體系來完成集群多節(jié)點(diǎn)間的讀寫高可用。
1.3 SAN同享文件體系
SAN同享文件體系,望文生義便是根據(jù)SAN構(gòu)建的同享文件體系,它有幾個(gè)顯著的特色:
- 文件語義,是一個(gè)文件體系,一般完成POSIX文件協(xié)議。
- 同享讀寫,多個(gè)節(jié)點(diǎn)能夠一起讀寫一份存于SAN的數(shù)據(jù)。
- I/O Fence,能夠快速處理同享節(jié)點(diǎn)的故障,保證數(shù)據(jù)的讀寫正確性。
一般這種文件體系業(yè)界統(tǒng)稱為集群文件體系,由于構(gòu)建于其上的數(shù)據(jù)庫或許運(yùn)用都是一個(gè)集群體系。數(shù)據(jù)庫的叫數(shù)據(jù)庫集群,如Oracle RAC集群。運(yùn)用的叫運(yùn)用集群,如Web Logic等。
2. 集群文件體系
2.1 現(xiàn)狀剖析
集群文件體系,目前商業(yè)化較成功產(chǎn)品,如Veritas Cluster File System、阿里云的DBFS企業(yè)版等。開源的產(chǎn)品,如OCFS2、GFS2等。當(dāng)傳統(tǒng)的SAN被同享云盤(如阿里云同享ESSD等)替代后,而其同享存儲(chǔ)文件體系也逐漸被云原生的集群文件體系所替代,如阿里云的DBFS文件體系。
2.2 競(jìng)品剖析
對(duì)下對(duì)各個(gè)集群文件體系進(jìn)行剖析:
|
比較項(xiàng) |
OCFS2/GFS2 |
ACFS |
Veritas FS |
DBFS |
|
文件語義 |
兼容POSIX |
部分兼容 |
兼容POSIX |
兼容POSIX |
|
容量彈性 |
不支撐在線擴(kuò)容。 |
<10TB級(jí)。 不支撐在線擴(kuò)容。 |
<10TB級(jí)。 不支撐在線擴(kuò)容。 |
百TB級(jí)。 在線擴(kuò)容。 |
|
易用性 |
布置雜亂 |
布置雜亂 |
布置雜亂 |
掛載即用 |
|
生態(tài) |
開源生態(tài)。 |
一般僅用于Oracle數(shù)據(jù)庫。商用。 |
商用。 |
商用。 |
|
高可用 |
分鐘級(jí) |
分鐘級(jí) |
分鐘級(jí) |
20秒 |
|
功能 |
較差。 |
較好。 |
較好。 |
優(yōu)秀。針對(duì)數(shù)據(jù)庫場(chǎng)景優(yōu)化。 |
|
本錢 |
免費(fèi) |
liscense授權(quán)。 |
liscense授權(quán)。 |
收費(fèi)。 |
3. 數(shù)據(jù)庫最佳實(shí)踐
3.1 Oracle RAC on DBFS
在傳統(tǒng)數(shù)據(jù)庫領(lǐng)域,以O(shè)racle RAC在DBFS上的布置為例。
DBFS比較于ASM,有以下優(yōu)勢(shì):
|
比較項(xiàng) |
Oracle ASM |
DBFS(數(shù)據(jù)庫文件體系) |
|
容量 |
10TB級(jí)。擴(kuò)容需求加盤,rebalance的過程中將影響事務(wù)I/O,一般需求額定組織體系維護(hù)的時(shí)間窗口。 |
支撐PB級(jí)。在線擴(kuò)容,對(duì)用戶透明。 |
|
文件類型 |
支撐Voting Disk。不支撐寄存Oracle Home及Oracle Grid的二進(jìn)制文件。 |
支撐一切文件。支撐寄存Oracle Home及Oracle Grid的二進(jìn)制文件,數(shù)據(jù)文件,操控文件,redo文件,OCR及Voting Disk等。 |
|
易用性 |
感知底層磁盤,需求裝備Disk Group及冗余度。 |
持載即用。 |
|
功能 |
功能好,接近RAW I/O。 |
功能好,接近RAW I/O。針對(duì)數(shù)據(jù)庫優(yōu)化。 |
|
通用性 |
一般僅運(yùn)用于Oracle數(shù)據(jù)庫場(chǎng)景。 |
支撐POSIX協(xié)議的通用數(shù)據(jù)庫文件體系。不僅適用于數(shù)據(jù)庫,也可適用于傳統(tǒng)其它根據(jù)SAN構(gòu)建的運(yùn)用集群。 數(shù)據(jù)庫場(chǎng)景:傳統(tǒng)數(shù)據(jù)庫如Oracle,SAP HANA等;開源數(shù)據(jù)庫如MySQL,PostgreSQL,MongoDB等。 運(yùn)用場(chǎng)景:中間件高可用集群及Oracle EBS套件。 |
詳細(xì)布置細(xì)節(jié),請(qǐng)檢查“https://help.aliyun.com/document_detail/402340.html”。
3.2 MySQL on DBFS
根據(jù)同享存儲(chǔ)完成雙機(jī)高可用,根據(jù)一份數(shù)據(jù)之上完成無數(shù)據(jù)丟掉的主備庫分鐘級(jí)切換,完成數(shù)據(jù)庫核算節(jié)點(diǎn)的serverless。RPO=0,RTO分鐘級(jí)。對(duì)于MySQL數(shù)據(jù)庫,可關(guān)閉binary log進(jìn)一步提高功能。
- 高本錢
數(shù)據(jù)庫構(gòu)建于一主一備兩份數(shù)據(jù)的形式下,存儲(chǔ)本錢高。
- 數(shù)據(jù)不一致
異步或半同步形式下,主庫crash后存在主備數(shù)據(jù)不一致危險(xiǎn)。
- 功能差
日志強(qiáng)同步形式下,不但添加網(wǎng)絡(luò)帶寬資源運(yùn)用,并且影響主庫功能。
- 布置與切換雜亂
主備同步裝備與布置繁鎖,切換雜亂;別的,需保證其它額定組件的高可用。
詳細(xì)布置細(xì)節(jié),請(qǐng)檢查“https://help.aliyun.com/document_detail/149749.html”。
除此之外,經(jīng)過DBFS完成的原子寫,用戶態(tài)IO、同享讀寫等特性,以低本錢方式完成高功能。存儲(chǔ)核算分離后,完全免除了數(shù)據(jù)丟掉危險(xiǎn)。
- 高功能
對(duì)數(shù)據(jù)庫關(guān)鍵IO的加快提高TPS。經(jīng)過用戶態(tài)技能,防止ext4等傳統(tǒng)kernel態(tài)文件體系因核內(nèi)外數(shù)據(jù)復(fù)制而影響數(shù)據(jù)庫功能。
- 按需擴(kuò)容
按實(shí)踐事務(wù)需求請(qǐng)求存儲(chǔ)空間,數(shù)據(jù)增長(zhǎng)后在線動(dòng)態(tài)擴(kuò)容,從運(yùn)用周期上下降存儲(chǔ)本錢。
- 原子寫
防止數(shù)據(jù)庫因ext4等文件體系不支撐原子寫而引入寫缺頁保護(hù)措施導(dǎo)致的IO爭(zhēng)用和功能影響。例如,MySQL的DoubleWriteBuffer等。