天天看點

SDS雲化存儲架構支撐生産級Oracle RAC資料庫

雲計算、大資料、人工智能、5G等新一代資訊技術快速發展,資料的爆炸式增長對基礎架構的需求不斷提高,與此同時,所有的企業都有這樣一個共識,在數字經濟快速穩定發展背景下,雲計算成為企業數字化轉型的基石,越來越多的企業将雲計算加入到業務中來,進而達到高效率、低成本的營運機會。雲最早是從 IaaS 做起來的,從虛拟機、存儲、網絡,到現在如火如荼的語音識别、計算機視覺以及機器人等智能化應用,都是基于 IaaS 的,而資料庫就是連接配接 IaaS 與智能化應用 SaaS 最為關鍵的一環。

從資料産生、存儲到消費的各個環節,資料庫系統都至關重要。随着數字化轉型的不斷深入,整個社會加速向數字化、網絡化、智能化方向發展,由此帶來的海量資料以及資料的承載管理平台(資料庫系統- RDBMS)對存儲提出了新的要求。傳統存儲雖有技術成熟、性能良好、可用性高等優點,但面對海量資料,卻在性能、可擴充性、成本等方面存在明顯不足,分布式存儲技術從出現開始就吸引了衆多企業的關注,成為存儲産業發展的重要方向。分布式存儲技術的發展曆程具有“迎合應用需求”和“技術創新突破”的特點,随技術的演變而迅速發展,總體呈現高性能、易于擴充以及智能化等優勢。

為幫助企業打造更穩定、高效、可靠的資料庫存儲方案,引領存儲系統架構的變革,由ExponTech(華瑞指數雲)聯合北京海天起點技術服務股份有限公司(以下簡稱“海天起點”)聯合完成了 “Oracle資料庫叢集應用與華瑞自主研發新一代分布式存儲WDS(WiDE Hyper-IO Disk Storage)的聯合測試”

北京海天起點技術服務有限公司是中國領先的IT服務提供商,為全國範圍的客戶提供高品質的IT服務以及創造服務價值!海天主要面向中國大中型行業使用者,提供包括IT基礎架構軟硬體一站式技術支援服務、軟硬體一體機化的資料庫平台解決方案、應用性能管理(APM)、客戶體驗管理、資料庫容災、商業智能和雲計算等解決方案。海天緻力于保障使用者IT系統的穩定、高效和安全,并最終提升IT系統的價值。

SDS雲化存儲架構支撐生産級Oracle RAC資料庫

該聯合測試使用華瑞指數雲自主研發的下一代分布式存儲WDS作為Oracle 叢集應用的核心儲存設備。測試表明,WDS這樣的下一代SDS存儲軟體,在普通伺服器硬體上搭建分布式存儲叢集,可以完美适配Oracle資料庫系統,在把資料庫系統性能發揮到極緻的同時,還具備優秀的,生産級的可靠性。

SDS雲化存儲架構支撐生産級Oracle RAC資料庫

通過對此次測試内容分享,為核心資料庫系統在當下企業數字化轉型過程中如何選擇底層分布式存儲産品提供了全新的技術視角,讓我們一起走進此次測試,深入解讀關鍵測試名額。

SDS雲化存儲架構支撐生産級Oracle RAC資料庫

(測試拓撲結構圖)

測試硬體配置

元件 類型 硬體詳細配置 數量
計算節點 H3C伺服器 CPU: Intel(R)Xeon(R) Gold 5318Y [email protected]*2 2
記憶體:256G
100Gb網卡 NIC-ETH-MCX623106AN-CDAT-2P 2
100Gb線纜 100Gb 4
高速網絡 以太網交換機,RoCE 100Gb,36 port 2
存儲節點 H3C伺服器 CPU:Intel(R) Xeon(R) Gold 5318Y [email protected]*2 3
記憶體:128GB
NVMe SSD: DAPUSTOR DPXD3101T0S100T4000 400GB*6
100Gb網卡 100Gb 雙口 3
100Gb線纜 100Gb 6

測試軟體配置

作業系統:Red Hat Enterprise Linux 7.9

資料庫和叢集元件:Oracle Database 19.16; Oracle-Grid-Infrastructure19.16

測試工具

  • Swingbench:Oracle開發的圖形化的性能測試工具。這個工具可以模拟一個基準程式,并發地對資料庫發出交易(transaction)請求,通過機關時間内完成的交易數,來衡量系統的性能。此工具對于基準程式和并發量,可以靈活定制。
  • FIO:測試磁盤性能的非常好的工具,用來對磁盤進行壓力測試和驗證。磁盤IO是檢查磁盤性能的重要名額,可以按照負載情況分成照順序讀寫,随機讀寫兩大類。
  • CALIBRATE_IO:Oracle資料庫自帶的IO能力測試工具。

01

視角一:極緻的性能體驗

1、通過性能壓測軟體FIO、Calibrate_IO圍繞WDS存儲的性能進行測試,在Oracle資料庫應用環境中,基于客戶現有的生産環境可以把運作在WDS分布式存儲的Oracle資料庫性能發揮到極緻,遠遠優于其他分布式存儲産品,也優于配置相同數量的同型号SSD盤的全閃陣列

Calibrate_IO

雙節點壓力測試

IOPS 時延 最大帶寬
8K DB Block 450萬IOPS 0.02ms 34GB/s

Calibrate_IO測試結果以及方法和步驟

在資料庫中執行如下操作,測試IO性能。

使用SQL/Plus登入資料庫,運作下列語句:

SET SERVEROUTPUT ON

DECLARE

lat INTEGER;

iops INTEGER;

mbps INTEGER;

BEGIN

--DBMS_RESOURCE_MANAGER.CALIBRATE_IO(<NUM_DISKS>, <MAX_LATENCY>, iops, mbps, lat);

DBMS_RESOURCE_MANAGER.CALIBRATE_IO (45, 10, iops, mbps, lat);

DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);

DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);

dbms_output.put_line('max_mbps = ' || mbps);

end;

/

SDS雲化存儲架構支撐生産級Oracle RAC資料庫

FIO測試結果以及方法和步驟

FIO

單節點壓力測試

最大帶寬 IOPS
4K随機讀 12.7GB/s 332萬IOPS
8K随機讀 17.4GB/s 228萬IOPS

計算單節點-FIO測試腳本

4k随機讀

[global]

rw=randread

bs=4k

numjobs=8

iodepth=32

ioengine=libaio

direct=1

runtime=60

time_based

group_reporting

[task1]

filename=/dev/oracleasm/disks/data01

[task2]

filename=/dev/oracleasm/disks/data02

[task3]

filename=/dev/oracleasm/disks/data03

[task4]

filename=/dev/oracleasm/disks/data04

[task5]

filename=/dev/oracleasm/disks/data05

[task6]

filename=/dev/oracleasm/disks/data06

SDS雲化存儲架構支撐生産級Oracle RAC資料庫
8k随機讀

[global]

rw=randread

bs=8k

numjobs=8

iodepth=32

ioengine=libaio

direct=1

runtime=60

time_based

group_reporting

[task1]

filename=/dev/oracleasm/disks/data01

[task2]

filename=/dev/oracleasm/disks/data02

[task3]

filename=/dev/oracleasm/disks/data03

[task4]

filename=/dev/oracleasm/disks/data04

[task5]

filename=/dev/oracleasm/disks/data05

[task6]

filename=/dev/oracleasm/disks/data06

SDS雲化存儲架構支撐生産級Oracle RAC資料庫

2、通過Swingbench模拟400使用者并發通路,測試以WDS為核心資料庫存儲并且搭配具有極高成本效益的兩個計算節點的組合,驗證整個資料庫系統的性能表現(TPM和TPS的值),TPS值接近3萬,遠優于其他分布式存儲平台

SDS雲化存儲架構支撐生産級Oracle RAC資料庫
并發量 TPM TPS
400并發 158.5萬 2.95萬

3、通過建立包含大的資料檔案的表空間對基于WDS分布式平台的資料庫系統的資料載入能力進行進一步測試,測試結果能達到驚人的8.6GB/s,遠勝于其他分布式存儲平台以及全閃陣列

序号 語句 消耗時間 備注
1 create tablespace test1 datafile'+DATA'size30G 14.38s +DATA normal 備援
2 create tablespace test2 datafile'+DATA'size30G 14.29s +DATA normal 備援
SDS雲化存儲架構支撐生産級Oracle RAC資料庫

02

視角二:生産級的可靠性,支撐企業核心應用平穩運作

1、 WDS在一個存儲節點意外當機的情況下,能夠確定對業務沒有影響,資料庫系統所有服務均能正常工作,所有資料資訊均完整線上。

    • 在計算節點WDS02上用Swingbech開啟400并發通路進行壓測。
    • 在壓測過程中,手工強行關閉一個存儲節點WDS-01 (ip address:10.1.100.224),并且在計算節點WDS02上用Ping指令确認WDS-01是不可通路
SDS雲化存儲架構支撐生産級Oracle RAC資料庫

觀察Swingbench圖形界面TPS和TPM的壓測值,沒有發現任何中斷,說明在有存儲節點意外當機的故障場景下,WDS存儲叢集具備故障容錯能力,保障資料庫繼續對外提供穩定的服務。

SDS雲化存儲架構支撐生産級Oracle RAC資料庫

檢查Oracle ASM的執行個體和相關服務的狀态,均為正常工作狀态。

SDS雲化存儲架構支撐生産級Oracle RAC資料庫

最後檢查OCR和資料的狀态,均為online線上的正常狀态。

SDS雲化存儲架構支撐生産級Oracle RAC資料庫

2.任意一個WDS存儲節點上的Oracle OCR的丢失,不會影響Oracle資料庫系統正常運作

    • 選一個計算節點WDS01,切換到grid使用者
    • 執行 sqlplus/ as sysasm
    • 把WDS01上的OCR檔案模拟下線:alter diskgroup OCR offline disk OCR_0000;
    • 檢查資料庫狀态,無任何異常可以正常對外提供服務
SDS雲化存儲架構支撐生産級Oracle RAC資料庫

03

總結

企業IT基礎架構向雲化架構演進和發展是一個大趨勢,但是在這個大趨勢中也有一些重大挑戰需要解決,比如說企業的傳統應用在使用雲化的基礎架構時,似乎就存在如下的不可能三角:

  1. 高吞吐,高并發
  2. 高IOPS, 低延遲時間
  3. 強一緻性,高可靠性

對于雲化架構來說,可以水準擴充,彈性伸縮的分布式架構是天然之選,分布式架構的水準擴充能力決定了其在高吞吐高并發的業務場景有明顯優勢,這也是為什麼網站類應用,網際網路類應用最先采用雲計算的原因之一。另一方面,分布式架構的存儲方案,由于其IO路徑長,需要跨網絡處理IO,一般認為其無法提供高IOPS和低延遲時間的存儲讀寫能力,尤其是無法支撐在單一計算節點上要求高性能和低延遲時間的傳統資料庫類應用。分布式環境上的強一緻性、高可靠性和高IOPS、低延遲時間是另外一對沖突體,有一些分布式系統架構以犧牲強一緻性為代價(隻保證最終一緻性),來獲得更高的寫入性能和更低的時延。

華瑞指數雲WDS作為新一代分布式存儲軟體打破了這樣的不可能三角,基于普通伺服器建構分布式存儲底座,可以實作#1高吞吐、高并發 #2高IOPS、低延遲時間 #3強一緻性、高可靠性的兼得。本次測試也證明了,WDS從相容性、極緻性能、低延遲時間和生産級可靠性等許多個次元,都可以很好的支撐Oracle RAC這樣的重載企業級資料庫的運作,為傳統企業核心應用上雲打開了新的思路,提供了新的産品架構方案。華瑞指數雲WDS與虛拟化雲平台,容器雲平台都可以實作無縫對接,為雲平台提供一個全功能的存儲平台底座,把傳統企業IT應用部署到全分布式架構的雲平台,雲原生環境上去運作是完全可行的,性能和可靠性都可以得到保障。

END