兩種存儲解決方案的對比分析
眾所周知,全球數(shù)據(jù)正以一種爆炸式的方式急速增長,高昂的設(shè)備擴(kuò)容和快速上升的設(shè)備能源消耗導(dǎo)致數(shù)據(jù)中心的部署和運(yùn)營成本直線上升。低成本、低功耗、高密度已成為計算和存儲的共性需求,業(yè)界有越來越多的企業(yè)開始設(shè)計和部署 ARM 架構(gòu)的服務(wù)器。
有別于相對高成本的 ARM 服務(wù)器芯片(如 Qualcomm, Cavium 等)用于 Cloud
computing 的部署,WDLabs 在 2016 年上半年搭建了 504 個 Ceph OSD 節(jié)點的 ARM
測試儲存池, 該方案采用了 504 片低成本的 ARM 芯片作為微服務(wù)器(Microserver)節(jié)點。4 年前,集成 ARM 芯片于硬盤, Seagate 首推了以太網(wǎng)硬盤,并開放了以Kinetic 命名的存儲 API,作為其軟件定義存儲的解決方案。
目前 Ceph 是軟件定義存儲中最有影響力的開源項目之一,也是唯一一種可以同時提供塊,文件和對象存儲的開源解決方案。本文將重點介紹在 Celluster 公司提供的1U12 上部署 Ceph 集群,并初步探討在 ARM 分布式架構(gòu)上的 Ceph 性能分析。
方案介紹
1U12 標(biāo)準(zhǔn)機(jī)框集成了 12 個 ARM 微服務(wù)器(主芯片采用最新量產(chǎn)的低成本低功耗
Marvell Armada3700/3720 芯片, 主頻 1.0Ghz 的雙核 A53,功耗低至 1.8W ),每個微
服務(wù)器搭載一塊硬盤,其兩個 1G/2.5G 網(wǎng)口分別連接至兩個以太網(wǎng)交換機(jī)。框內(nèi)同時留
有 Com Express 接口,可選配一塊 TDP 不高于 45w 的 x86 模塊。
該方案主要面向 throughput 和 capacity 成本優(yōu)化的存儲應(yīng)用場景。
1U12 實景圖
1U12 系統(tǒng)配置
1U12 CEPH 軟件配置
Ceph Version: Jewel 10.2.3
(因 Jewel 10.2.3 之后的版本 ARM Cluster 與 x86 Client 之間交互有如下已知問題
http://tracker.ceph.com/issues/19705#change-99497,最新的 Luminous 12.2.0 正在解決,所以本文選用 Jewel 10.2.3 搭建測試集群。 )
Deploy tool: ceph-deploy 1.5.35(缺省配置)
ceph.conf
cephadmin@1U12B:~$ cat /etc/ceph/ceph.conf
cephadmin@node1:~$ ceph -v
ceph version 10.2.3 (ecc23778eb545d8dd55e2e4735b53cc93f92e65b)
[global]
fsid = 7631be6c-d6ed-453c-87b2-c622304bd313
mon_initial_members = 1U12B
mon_host = 192.168.1.164
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
osd_pool_default_size = 3
osd_pool_default_min_size = 1
public_network = 192.168.1.0/24
cluster_network = 192.168.2.0/24
Network configuration:
CEPH 集群狀態(tài)
cephadmin@1U12B:~$ ceph -s
cluster 0e2f70df-d1f6-419c-9686-22a8bef53370
health HEALTH_OK
monmap e1: 1 mons at {1U12B=192.168.1.164:6789/0}
election epoch 3, quorum 0 1U12B
fsmap e4: 1/1/1 up {0=1U12B=up:active}
osdmap e84: 12 osds: 12 up, 12 in
flags sortbitwise
pgmap v4243: 768 pgs, 3 pools, 17328 MB data, 10356 objects
52540 MB used, 22233 GB / 22285 GB avail
768 active+clean
測試一
按照上文配置從 3 節(jié)點依次增加到 12 節(jié)點,測試 CEPH 集群 RBD 塊存儲 4M 順序讀寫
性能, 并分析測試數(shù)據(jù)。
存儲接口: 使用 CEPH Block Device 接口測試
測試工具: 使用 FIO- 2.1.10(ioengine=rbd, direct=1,bs=4M)測試 CEPH 集群的塊
存儲的讀寫帶寬
測試二
測試 12 個節(jié)點 CEPH 集群的 File System 接口性能,并與 RBD 接口性能進(jìn)行比較
測試工具: 使用 FIO- 2.1.10(ioengine=libaio, direct=1,bs=4K/4M)測試
小結(jié)
當(dāng)前測試環(huán)境下,從 3 節(jié)點到 12 節(jié)點,隨著節(jié)點數(shù)增加,集群的 IO 性能幾乎成線性增長,每增加一個節(jié)點 4M 讀性能增加 40MB/s,4M 寫性能增加 10MB/s
除了這組測試數(shù)據(jù),我們還搭建了另一個 3 節(jié)點的集群,微服務(wù)器選用 2GB DDR3的配置,觀察到 4M 的寫性能達(dá)到 67MB/s,所以估測若選用 2GB DDR 的微服務(wù)器搭建集群,隨著節(jié)點數(shù)的增加,寫性能會有明顯提升
觀察 Block Device 接口與 File System 接口的測試結(jié)果,兩種接口的讀寫性能幾乎一致
今后優(yōu)化思路
如對寫性能的 throughput 有更高要求,可以升級 12 片微服務(wù)器模塊上現(xiàn)有的 1GBDDR 至 2GB,Ceph 實測每個模塊 buffer/cache 將從 0.4G 增長到 1.4G,每增加節(jié)點4M 寫性能會提高到 20MB/s,預(yù)估整機(jī)寫性能會有 30%~40%的提升
目前測試時使用 Ceph Jewel 10.2.3 缺省配置,每個 OSD 的微服務(wù)器 CPU 在最高峰值壓力測試情況下尚有 30%的空閑,留給軟件進(jìn)一步優(yōu)化的可行性