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