自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ceph PG 自動伸縮優(yōu)化以及升級 Quincy 版本注意點

系統(tǒng) Linux
在 Quincy 之前,一些通過自動化工具安裝 Ceph 的用戶從一開始就遇到了性能問題。默認情況下,自動縮放器會以最小數(shù)量的 PG 開始創(chuàng)建每個池,僅在使用量增加后增加該數(shù)量。這種行為主要導致大型池的性能不佳,需要比自動縮放器提供的最小數(shù)量更多的 PG。

?介紹

pg_autoscaler? 模塊首先在 Nautilus (14.2.x) 版本中引入,是在 Ceph 集群中自動管理歸置組的絕佳方式。根據(jù)預期的池使用情況,pg_autoscaler 可以根據(jù)池使用情況和用戶設置的調(diào)整來提出建議并調(diào)整集群中歸置組的數(shù)量。

自動縮放器帶有一系列調(diào)整選項,包括--bulk?標志、target_size_ratio、noautoscale、bias、pg_num、pg_num_max和pg_num_min。為了準備最新的 Quincy 版本,我們通過發(fā)布標準測試和派生的調(diào)整建議和故障排除技巧對這些調(diào)整進行了測試,用戶可以在升級到 Quincy 時參考這些調(diào)整。在這篇博文中,我們總結(jié)了自動擴縮器帶來的最初挑戰(zhàn),概述了發(fā)布標準測試帶來的最佳調(diào)優(yōu)實踐,并以一些自動擴縮器故障排除技巧結(jié)束。

--bulk 標志的最初挑戰(zhàn)和動機

在 Quincy 之前,一些通過自動化工具安裝 Ceph 的用戶從一開始就遇到了性能問題。默認情況下,自動縮放器會以最小數(shù)量的 PG 開始創(chuàng)建每個池,僅在使用量增加后增加該數(shù)量。這種行為主要導致大型池的性能不佳,需要比自動縮放器提供的最小數(shù)量更多的 PG。

這種“默認安裝”行為導致了 Quincy 引入該--bulk?標志。用戶現(xiàn)在可以使用--bulk?來標志大容量的存儲池。--bulk通過在池上設置標志,自動縮放器將從一開始就分配更多的 PG。這樣,用戶不再需要等待自動縮放器檢測到更多的使用情況,然后再分配適當數(shù)量的 PG。

調(diào)整建議

--bulk 標志應該用于大型池以獲得最佳性能。

該--bulk?標志現(xiàn)在可用于指示存儲池將很大,并且應該從大量 PG 開始。用戶可以在創(chuàng)建新池時和在現(xiàn)有池上設置--bulk?標志。任何不帶--bulk標志創(chuàng)建的池都將保持默認行為,即從最小數(shù)量的 PG 開始。

要在池創(chuàng)建期間設置--bulk?標志,請使用ceph osd pool create <pool-name> --bulk?。要在現(xiàn)有池上設置或取消設置--bulk?標志,請使用ceph osd pool set <pool-name> bulk <true/false/1/0>?。要獲取現(xiàn)有池的--bulk?標志狀態(tài),請使用ceph osd pool get <pool-name> bulk。

如果您希望一個池相對于其他池消耗更多的集群容量,請使用 target_size_ratio 設置。

可以使用target_size_ratio設置指定池的目標比率。如果您知道某個池相對于其他池應該具有一定的比率,則此設置特別有用。除非另有說明,否則每個池的目標比率默認應為 0。您給池的目標比率越高,您期望池中的 PG 就越大。

要檢查池的目標比率,請使用osd pool autoscale-status?并查看TARGET RATIO?列。target_size_ratio?可以使用ceph osd pool set <pool_name> target_size_ratio <ratio>?進行調(diào)整。 要在創(chuàng)建池期間設置target_size_ratio?,請使用ceph osd pool create --target-size-ratio <ratio>。

使用 noautoscale 標志全局切換所有池的自動縮放器。

現(xiàn)在可以為所有帶有noautoscale?標志的池全局打開和關(guān)閉自動縮放器。默認情況下,此標志設置為 false?,并且每個池的默認pg_autoscale?模式(即 )on保持相同。

如果要為每個池打開自動縮放器,請使用ceph osd pool unset noautoscale?。如果要為每個池關(guān)閉自動縮放器,請使用ceph osd pool set noautoscale?。要獲取 noautoscale? 標志的當前值,請使用ceph osd pool get noautoscale。

使用bias來幫助自動縮放器準確調(diào)整 PG 的數(shù)量。

偏差是一個乘數(shù),用于根據(jù)有關(guān)該池的預期 PG 數(shù)量的信息手動調(diào)整池的 PG。默認情況下,偏差值應為 1.0,除非另有說明。你給池的偏差越大,你期望池中的 PG 就越大。

要檢查池中的bias?值,請使用osd pool autoscale-status?并查看BIAS?列。要在現(xiàn)有池上設置bias? ,請使用ceph osd pool set <pool_name> pg_autoscale_bias <bias>。

如果您提前知道池的使用率,請在創(chuàng)建池之前使用 pg_num 選項。

首次創(chuàng)建集群或池時,僅消耗一小部分集群容量。因此,您的系統(tǒng)可能會低估集群或池所需的 PG 數(shù)量。如果您提前知道集群或池的使用率,請在創(chuàng)建池之前使用該pg_num選項。這將幫助您的集群提前計入適當數(shù)量的 PG。

要檢查池的pg_num?值,請使用ceph osd pool autoscale-status?并查看PG_NUM?列。要指定創(chuàng)建池時設置pg_num?,請使用ceph osd pool create <pool_name> <pg_num>?。要設置池中允許的最小 pg 數(shù),請使用ceph osd pool set <pool-name> pg_num_min <pg_num>?。 要設置池中允許的最大 pg 數(shù),請使用ceph osd pool set <pool-name> pg_num_max <pg_num>。

使用 pg_num_max 值設置池中的最大 PG 數(shù)。

可以指定池中的最大 PG 數(shù)。這在創(chuàng)建較小的池(例如 .mgr、元池或不帶--bulk標志的池)時很有用。

要在創(chuàng)建池時指定最大 PG 計數(shù),請在命令中使用可選--pg-num-max <num>?參數(shù)。ceph osd pool create?創(chuàng)建池后,使用ceph osd pool set <pool-name> pg_num_max <num>進行設置。

使用 pg_num_min 值設置池中的最小 PG 數(shù)。

同樣,我們可以指定一個池中的最小 PG 數(shù)。當我們想要客戶端在執(zhí)行 IO 時看到的并行量的下限時,這是有利的,即使池大部分是空的。這在創(chuàng)建更大的池(例如設置了--bulk標志的池)時很有用。

要在創(chuàng)建池時指定最小 PG 計數(shù),請在命令中使用可選--pg-num-min <num>?參數(shù)。ceph osd pool create?創(chuàng)建池后,使用ceph osd pool set <pool-name> pg_num_min <num>進行設置。

升級到 Quincy 之前需要了解的事項

當從沒有自動縮放器的 Ceph 版本升級到帶有自動縮放器的 Ceph 版本時,自動縮放器將可用于升級后的每個池,并且默認情況下所有的池都是off?。但是,如果您從帶有自動擴縮器的 Ceph 版本升級到也包含自動擴縮器的新版本,則所有池都將保留其在升級之前的原始自動擴縮器設置,無論是off、on?還是warn。

要在池上使用--bulk標志,用戶需要升級到 Ceph >= 16.2.8 的版本。

最后,啟用日志記錄以診斷 pg_autoscaler? 模塊的所有問題很重要。與所有管理器模塊一樣,pg_autoscaler? 有一個log_level?選項來指定其 Python 日志記錄級別。我們建議您使用warning?來捕獲有關(guān)升級過程的信息。要獲取 pg_autoscaler? 模塊的當前日志級別,請使用ceph config get mgr mgr/pg_autoscaler/log_level?。要將 pg_autoscaler? 日志級別設置為warning?,請使用ceph config set mgr mgr/pg-autoscaler/log_level warning?。其他選項是info、debug、critical和error。

故障排除提示

如果自動縮放器未按預期方向縮放怎么辦?

檢查是否為每個池正確配置了bulk?值,使用ceph osd pool autoscale-status?。 如果BULK?為“false?”,則自動縮放器從最小數(shù)量的 PG 開始。如果BULK?設置為“true?”,則自動縮放器從大的數(shù)量 PG 開始。如果您在狀態(tài)輸出中看到的任何批量值與預期不符,您可以使用ceph osd pool set <pool-name> bulk <true/false/1/0>更改它們。

為什么自動縮放器無法縮放或使用不正確的值縮放?

檢查受影響的池的自動縮放器是否打開/關(guān)閉。

如果自動縮放器無法在池上縮放,請檢查?on?是否適用于該池。您可以使用ceph osd pool autoscale-status?查看。 在AUTOSCALE?列,檢查模式是否為on。如果發(fā)現(xiàn)狀態(tài)是?off?,您可以為受影響的池打開自動縮放器osd pool set <pool-name> pg_autoscale_mode on?。

如果自動縮放器on?適用于池,但您希望它為off?,您可以使用osd pool set <pool-name> pg_autoscale_mode off關(guān)閉它。

檢查 overlapping root。

如果每個池的自動擴縮器模式都正確,則自動擴縮器可能由于集群中的?overlapping root?而無法擴展。檢查管理器日志以獲取此警告日志:pool <id> contains an overlapping root <id> … skipping scaling。我們建議使池僅屬于一個根以消除警告并確保成功的擴展過程。

檢查閾值是否影響縮放過程。

檢查該?threshold?值是否設置為適當?shù)闹担J為 3.0)。該值是縮放過程是否執(zhí)行的決定性因素。如果閾值太大(> 5.0),池將需要更多的利用率來觸發(fā)自動縮放過程。另一方面,如果閾值太低(< 2.0),池可能對縮放過于敏感。要調(diào)整池的閾值,請使用?ceph osd pool set threshold <value>。

檢查 mon_target_pg_per_osd 是否設置為適當?shù)闹怠?/strong>

下一個要檢查的調(diào)整是?mon_target_pg_per_osd?,它是每個 OSD 的目標 PG 數(shù)。默認情況下,該選項應設置為 100。如果您發(fā)現(xiàn)每個 OSD 的 PG 數(shù)量與預期不符,可以使用命令調(diào)整該值ceph config set global mon_target_pg_per_osd <value>。

檢查速率設置是否正確。

另一個要檢查的調(diào)整是?rate?值,它是池的復制大?。◤椭瞥兀┗蚣m刪碼值(糾刪碼池)。該值決定了該池消耗了多少原始存儲容量。使用命令驗證它是否根據(jù)池的副本大小或糾刪碼配置文件正確設置osd pool autoscale-status?。在該RATE?輸出的列,您可以看到如何為每個池設置rate?。您可以使用ceph osd pool set <pool-name> size <value>調(diào)整單個池的速率。

檢查 bias 是否設置正確。

正如Tuning Recommendations (?https://ceph.io/en/news/blog/2022/autoscaler_tuning/#use-the-bias-value-to-help-the-autoscaler-accurately-adjust-the-number-of-pgs.?) 中所解釋的,您給池的bias?越大,您期望池具有的 PG 就越大。因此,您應該檢查是否bias為受影響的池設置了適當?shù)闹怠?/p>

檢查 target_size_ratio 是否設置正確。

同樣,?target_size_ratio是另一種調(diào)整,您在池中提供的越多,您期望池中的 PG 就越大,因此,您應該確保該值適合受影響的池。

我怎么知道自動縮放器在做什么?

從高級視圖中,您可以使用命令觀察自動縮放器的活動ceph progress。此命令的輸出顯示當前正在擴展其 PG 的池以及擴展了多少。

此外,您可以通過執(zhí)行ceph osd pool autoscale-status?并查看每個池的NEW PG_NUM列,從而得出您與 PG 目標的差異。

有關(guān)自動縮放器的最詳細視圖,請訪問管理器日志并查找以下 INFO 級別日志輸出:

Pool <pool_name> root_id <root_id> using <capacity> of space, bias <bias>
pg target <pg_target> quantized to <pg_target_nearest_power_of_two> (current <current_pg>)
effective_target_ratio <target_size_ratio> <total_target_ratio> <total_target_bytes> <capacity>

應該使用什么級別的日志記錄來檢查自動縮放器活動?

需要 Python 日志記錄中的error日志級別來檢查自動縮放器活動。有關(guān)檢查和設置自動縮放器日志記錄級別的信息。

結(jié)論

正確調(diào)整 pg_autoscaler 模塊是讓 Ceph 集群自動管理其歸置組的好方法。

我們希望這些自動縮放器調(diào)優(yōu)建議和故障排除技巧能夠在所有用戶升級到最新版本的 Quincy 時改善他們的開箱即用體驗。

有關(guān)更多信息,請參閱歸置組 (https://docs.ceph.com/en/latest/rados/operations/placement-groups/) 文檔,其中包含有關(guān)自動縮放器行為的更多詳細信息。

*原文: https://ceph.io/en/news/blog/2022/autoscaler_tuning/?

責任編輯:武曉燕 來源: 新鈦云服
相關(guān)推薦

2022-11-02 08:05:09

2017-04-06 09:49:55

Hive注意事項優(yōu)化

2019-12-05 09:34:29

KubernetesHPA集群

2010-07-08 17:33:21

SQL Server數(shù)

2018-08-02 08:42:57

分布式存儲Ceph

2021-02-01 09:00:34

Ceph octopu集群運維

2010-05-21 15:01:16

IIS負載

2013-10-16 10:45:29

JVMJava

2018-04-20 09:24:08

Hbase存儲注意點

2017-04-19 15:57:21

Ceph RBD mi原理分析

2020-02-11 09:24:31

Android藍牙黑客

2011-06-07 15:54:51

網(wǎng)站排名內(nèi)部優(yōu)化

2011-03-31 11:14:51

Sql語句優(yōu)化

2021-10-26 11:21:50

WindowsCeph性能

2021-04-22 09:46:35

K8SCluster Aut集群

2023-02-02 08:04:15

Ceph數(shù)據(jù)CPU

2010-05-18 10:34:14

Subversion合

2010-05-18 10:08:36

Subversion版

2015-07-09 13:19:17

Ceph分布式存儲性能調(diào)優(yōu)

2012-11-19 16:05:48

WLAN網(wǎng)絡優(yōu)化
點贊
收藏

51CTO技術(shù)棧公眾號