ceph-anisble部署
941
2025-04-01
Ceph分布式存儲性能調優
一、系統配置調優
1、設置磁盤的預讀緩存
echo "8192" > /sys/block/sda/queue/read_ahead_kb
2、設置系統的進程數量
echo 4194303 > /proc/sys/kernel/pid_max
3、調整CPU性能
注意: 虛擬機和部分硬件 CPU 可能不支持調整。
1 ) 確保安裝了內核調整工具:
yum -y install kernel-tools
2)調整為性能模式
可以針對每個核心做調整:
echo performance > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_governor
或者通過 CPU 工具進行調整:
cpupower frequency-set -g performance
支持五種運行模式調整:
performance :只注重效率,將 CPU 頻率固定工作在其支持的最高運行頻率上,該模式是對系統高性能的最大追求。
powersave :將 CPU 頻率設置為最低的所謂 “ 省電 ” 模式, CPU 會固定工作在其支持的最低運行頻率上,該模式是對系統低功耗的最大追求。
userspace :系統將變頻策略的決策權交給了用戶態應用程序,并提供相應接口供用戶態應用程序調節CPU 運行頻率使用。
ondemand : 按需快速動態調整 CPU 頻率, 一有 cpu 計算量的任務,就會立即達到最大頻率運行,等執行完畢就立即回到最低頻率。
conservative : 它是平滑地調整 CPU 頻率,頻率的升降是漸變式的 , 會自動在頻率上下限調整,和ondemand 模式的主要區別在于它會按需漸進式分配頻率,而不是一味追求最高頻
率 . 。
3)部分硬件可能不支持,調整會出現如下錯誤:
[root@CENTOS7-1 ~]# cpupower frequency-set -g performance Setting cpu: 0 Error setting new values. Common errors: - Do you have proper administration rights? (super-user?) - Is the governor you requested available and modprobed? - Trying to set an invalid policy? - Trying to set a specific frequency, but userspace governor is not available, for example because of hardware which cannot be set to a specific frequency or because the userspace governor isn't loaded?
4、優化網絡參數
修改配置文件:
vi /etc/sysctl.d/ceph.conf
配置內容:
net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 16384 16777216 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216
執行生效:
sysctl -p /etc/sysctl.d/ceph.conf
二、Ceph集群優化配置
1、Ceph的主要配置參數
FILESTORE 配置參數:
journal 配置參數:
osd config tuning 配置參數:
osd - recovery tuning 配置參數:
osd - client tuning 配置參數:
2、優化配置示例
三、調優最佳實踐
1、MON建議
Ceph 集群的部署必須要正確規劃, MON 性能對集群總體性能至關重要。 MON 通常應位于專用節點上。為確保正確仲裁,MON 的數量應當為奇數。
2、OSD建議
每一 個 Ceph OSD 都具有日志。 OSD 的日志和數據可能會放置于同一存儲設備上。當寫操作提交至 PG 中所有 OSD 的日志后,標志寫操作已經完成。因此,更快的日志性能可以改進響應時間。
在典型的部署中, OSD 使用延遲較高的傳統機械硬盤。為最大化效率, Ceph 建議將單獨的低延遲SSD 或 NVMe 設備用于 OSD 日志。 管理員必須謹慎,不可將過多 OSD 日志放在同一設備上,因為這可能會成為性能瓶頸。應考慮以下SSD 規格的影響:
受支持寫入次數的平均故障間隔時間 (MTBF)
IOPS 能力 (Input/Output Operations Per Second),每秒的讀寫次數
數據傳輸速率
總線/SSD 耦合能力
Red Hat 建議每個 SATA SSD 設備不超過 6 個 OSD 日志,或者每個 NVMe 設備不超過 12 個 OSD日志。
3、RBD建議
RBD 塊設備上的工作負載通常是 I/O 密集型負載,例如在 OpenStack 中虛擬機上運行的數據庫。對于 RBD , OSD 日志應當位于 SSD 或 NVMe 設備上。對于后端存儲,可以根據用于支持 OSD 的存儲技術(即 NVMe SSD 、 SATA SSD 或 HDD ),提供不同的服務級別。
4、對象網關建議
Ceph 對象網關上的工作負載通常是吞吐密集型負載。如果是音頻和視頻資料,可能會非常大。不過,bucket 索引池可能會顯示更多的 I/O 密集型工作負載模式。管理員應當將這個池存儲在 SSD設備上。
Ceph 對象網關為每個 bucket 維護一個索引, Ceph 將這一索引存儲在一個 RADOS 對象中。當bucket 不斷增長, 數量巨大時(超過 100,000 個),索引性能會降低(因為只有一個 RADOS 對象參與所有索引操作)。
為此, Ceph 可以在多個 RADOS 對象或者是分片 中保存大型索引。管理員可以通過在ceph.conf 配置文件中設置 rgw_override_bucket_index_max_shards 配置參數來啟用這項功能。此參數的建議值是 bucket 中預計對象數量除以 100,000 。
5、CephFs建議
存放目錄結構和其他索引的元數據池可能會成為 CephFS 的瓶頸。可以將 SSD 設備用于這個池。每一個CephFS 元數據服務器 (MDS) 會維護一個內存中緩存,用于索引節點等不同種類的項目。Ceph 使用 mds_cache_memory_limit 配置參數限制這一緩存的大小。其默認值以絕對字節數表示,等于 1 GB ,可以在需要時調優。
ceph osd map cephfs_data test_ceph ceph osd lspools rados ls -p default.rgw.buckets.data
【與云原生的故事】有獎征文火熱進行中:https://bbs.huaweicloud.com/blogs/345260
專屬分布式存儲服務 應用性能調優
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。