成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一起聊聊Ceph RBD和QEMU塊設備Qos測試

存儲 存儲架構
對于ceph rbd qos的使用,還是建議在image層面進行bps和iops的限速,pool層面的限速效果不明顯。當然也可以使用qemu在塊設備上做虛擬機磁盤的io限制,使用qemu做qos的優點是本地硬盤也可以進行限速,而ceph rbd的qos對象只是ceph集群中的rbd鏡像。

關于ceph的qos

Ceph,作為一個高度可擴展的分布式存儲系統,已經成為云計算和大數據時代的關鍵基石。隨著企業和組織對數據存儲的需求日益增長,Ceph 通過其強大的特性,如可靠性、伸縮性和性能,滿足了這些需求。然而,隨著集群規模的擴大和工作負載的多樣性,如何確保資源的有效分配和性能隔離成為了一個重要議題。在這個背景下,Ceph 的 Quality of Service (QoS) 功能顯得尤為重要。

QoS 在 Ceph 中的實現,特別是在其 RADOS Block Device (RBD) 模塊中,提供了一種機制來控制和限制存儲資源的使用,如 IOPS(每秒輸入輸出操作次數)和帶寬。這對于在多租戶環境中維持服務質量,防止資源過度使用或“鄰居噪音”問題至關重要。通過精確地配置 QoS 參數,管理員可以為不同的虛擬機、容器或應用分配適當的存儲資源,確保系統的整體性能和響應性。 

在本文中,我們將深入探討 Ceph RBD 的 QoS 特性,重點關注如何驗證和量化 RBD QoS 設置的效果。通過一系列的測試和分析,我們將展示 QoS 參數如何影響 RBD 性能,以及如何根據特定的工作負載和性能要求調整這些參數。無論是對于 Ceph 新手還是資深用戶,了解和應用 RBD 的 QoS 功能都是提高存儲系統效率和可靠性的關鍵步驟。

測試環境

  • 操作系統:ubuntu 20.04
  • 內核:5.4.0-163-generic
  • CPU / 內存:32C / 128G
  • 硬盤:10T
  • ceph:17.2.5 quincy (stable)

測試流程

  • 拉起一個使用ceph rbd存儲的虛擬機
  • 使用fio測試無限速情況下iops和bps
  • 開啟 image qos iops限速 測試rbd的iops
  • 開啟 image qos bps限速 測試rbd的bps
  • 開啟 pool qos iops限速 測試rbd的iops
  • 開啟 pool qos bps限速 測試rbd的bps
  • 測試qemu對塊設備進行bps限速
  • 測試qemu對塊設備進行iops限速
  • 刪除qos再次進行測試,驗證已經恢復

測試步驟

在ceph 14版本開始支持rbd的qos 詳細配置參數可以參考https://docs.ceph.com/en/latest/rbd/rbd-config-ref/

圖片圖片

ceph rbd的qos是在librbd上進行限制的。

查看當前鏡像的qos配置

rbd -p libvirt-pool config image ls scan.img|grep qos

查看存儲池的qos配置,存儲池的qos限制的是所有鏡像總的qos不超過設置的值

rbd config pool ls libvirt-pool|grep qos

可以看到默認不設置的時候bps和iops都為0,表示默認不限速。rbd_qos_schedule_tick_min=50表示qos的最小調度間隔是50毫秒,每隔50毫秒檢查一次當前的io操作是否符合qos配置。這里解釋下rbd_qos_write_iops_burst_secnotallow=1表示在達到寫入 IOPS 限制(由 rbd_qos_write_iops_limit 參數設置)之后,RBD 圖像可以以突發模式繼續寫入操作的時間長度。這個突發模式允許 IOPS 短時間內超過設定的限制值,為的是處理短暫的高負載情況,而不是持續的高速寫入。這個參數的值設定為 1 秒,意味著在觸發 IOPS 限制后,寫入操作可以在接下來的 1 秒內保持較高的 IOPS,之后將被限制回設定的 rbd_qos_write_iops_limit 值,同樣對bps的burst_seconds的意義也是一樣。

圖片圖片

解釋下相關參數:

  • IOPS:每秒 I/O 數(任何類型的 I/O)
  • read IOPS:每秒讀取 I/O 數
  • write IOPS:每秒寫入 I/O 數
  • bps:每秒字節數(任何類型的 I/O)
  • read bps:每秒讀取的字節數
  • write bps:每秒寫入的字節數

使用fio進行讀取寫入測試

fio 是一個靈活的 I/O 性能測試工具,廣泛用于評估磁盤和文件系統的性能。以下是一個基本的示例,展示如何使用 fio 進行隨機讀寫測試:

fio --name=randrw_test --ioengine=libaio --iodepth=1 --rw=randrw --rwmixread=50 --bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 --group_reporting

參數解釋

  • --name=randrw_test: 測試的名稱。
  • --ioengine=libaio: 使用 Linux AIO(異步 I/O)作為 I/O 引擎。
  • --iodepth=1: I/O 深度,這里設置為 1,意味著每個 job 在任何時刻只有一個 I/O 操作在等待。
  • --rw=randrw: 測試類型為隨機讀寫。
  • --rwmixread=50: 讀寫混合比例,這里設置為 50%,意味著讀操作和寫操作各占 50%。
  • --bs=4k: 塊大小設置為 4KB。
  • --direct=1: 使用直接 I/O,繞過緩存。
  • --size=1G: 每個 job 測試文件的大小。
  • --numjobs=4: 同時運行的 job 數量。
  • --runtime=60: 測試運行時間,這里設置為 60 秒。
  • --group_reporting: 作為一個組來報告所有 job 的結果。

在不進行qos限速的情況下,我使用fio在rbd鏡像存儲的虛擬機里進行隨機讀寫測試

rbd perf image iostat --pool libvirt-pool

圖片圖片

開啟 image qos iops限制此鏡像的iops為100 測試scan.img的iops

rbd -p libvirt-pool config image set  scan.img rbd_qos_iops_limit 100

再次在scan.img所在的虛擬機上進行隨機讀寫測試

fio --name=randrw_test --ioengine=libaio --iodepth=1 --rw=randrw --rwmixread=50 --bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 --group_reporting

查看iops限速后的結果

rbd perf image iostat --pool libvirt-pool

可以看到效果很明顯,iops讀寫不超過100

圖片圖片

開啟 image qos bps限制此鏡像的bps為100KiB/s 測試scan.img的bps

rbd -p libvirt-pool config image set  scan.img rbd_qos_iops_limit 0
rbd -p libvirt-pool config image set  scan.img rbd_qos_bps_limit 100000

再次在scan.img所在的虛擬機上進行隨機寫測試

fio --name=randrw_test --ioengine=libaio --iodepth=1 --rw=randwrite --rwmixread=50 --bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 --group_reporting

查看bps限速后的結果

rbd perf image iostat --pool libvirt-pool

可以看到效果很明顯,寫吞吐不超過100KiB/s

圖片圖片

后面單獨對讀寫的iops和bps各進行了測試,發現符合預期。

開啟 pool qos iops限速 測試存儲池所有鏡像的iops

rbd -p libvirt-pool config image set  scan.img rbd_qos_bps_limit 0
rbd config pool set libvirt-pool rbd_qos_iops_limit 200

圖片圖片

再次在scan.img所在的虛擬機上進行隨機讀寫測試

fio --name=randrw_test --ioengine=libaio --iodepth=1 --rw=randrw --rwmixread=50 --bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 --group_reporting

這里發現對于pool層面的iops限速沒什么效果

圖片圖片

開啟 pool qos bps限速 測試存儲池所有鏡像的bps

rbd config pool set libvirt-pool rbd_qos_iops_limit 0
rbd config pool set libvirt-pool rbd_qos_bps_limit 1000000

再次在scan.img所在的虛擬機上進行隨機寫測試

fio --name=randrw_test --ioengine=libaio --iodepth=1 --rw=randwrite --rwmixread=50 --bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 --group_reporting

這里發現對于pool層面的bps限速也沒什么效果

圖片圖片

后面單獨對pool層面分別進行讀、寫的iops和bps,發現限速也沒什么效果

測試qemu對塊設備進行bps限速

可以通過下面命令查看當前虛擬機的qos,這里查看scan虛擬機vdb磁盤的qos,也就是我們剛才測試rbd qos的那個磁盤,0表示不限速

virsh blkdeviotune  scan vdb

圖片圖片

對scan虛擬機的vdb進行bps限制為5MiB/s

virsh blkdeviotune  scan vdb --total-bytes-sec 5000000  --live

圖片圖片

查看bps限速后的結果,iops實際不超過5MiB/s

測試qemu對塊設備進行iops限速

對scan虛擬機的vdb進行iops限制

virsh blkdeviotune  scan vdb --total-bytes-sec 0  --live
virsh blkdeviotune  scan vdb --total-iops-sec 1000  --live

在scan虛擬機里對其進行隨機讀寫測試

fio --name=Test --ioengine=libaio --iodepth=64 --rw=randrw  --bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 --group_reporting

圖片圖片

查看iops限速后的結果,iops實際不超過1000

刪除qos再次進行測試

再次在scan.img所在的虛擬機上進行隨機讀寫測試

fio --name=Test --ioengine=libaio --iodepth=64 --rw=randrw  --bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 --group_reporting

圖片圖片

測試結論

對于ceph rbd qos的使用,還是建議在image層面進行bps和iops的限速,pool層面的限速效果不明顯。當然也可以使用qemu在塊設備上做虛擬機磁盤的io限制,使用qemu做qos的優點是本地硬盤也可以進行限速,而ceph rbd的qos對象只是ceph集群中的rbd鏡像。

責任編輯:武曉燕 來源: 運維開發故事
相關推薦

2025-03-05 08:02:45

2023-12-28 09:55:08

隊列數據結構存儲

2025-04-16 08:01:05

Ceph對象存儲

2023-05-31 08:42:02

管理產品技術項目

2022-04-07 11:43:24

UPnPDLNA協議

2024-02-20 21:34:16

循環GolangGo

2021-08-27 07:06:10

IOJava抽象

2022-12-07 09:01:14

布局容器VStack?

2022-03-15 20:18:35

單元測試工具

2023-08-10 08:28:46

網絡編程通信

2023-08-04 08:20:56

DockerfileDocker工具

2023-06-30 08:18:51

敏捷開發模式

2022-05-24 08:21:16

數據安全API

2023-09-10 21:42:31

2023-09-21 08:16:56

JDK 21向量計算計算

2024-01-15 08:41:25

SwiftTypeScrip語法

2023-10-31 08:10:24

域名域名解析服務器

2023-10-31 09:04:21

CPU調度Java

2022-10-28 07:27:17

Netty異步Future
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频中文字幕 | 日本三级电影免费观看 | 日本激情视频中文字幕 | 久久久久久久电影 | 精品国产乱码久久久久久图片 | 国产视频h | 国产精品高清一区二区三区 | 婷婷91| 99热精品在线观看 | 免费成人高清在线视频 | 狠狠操狠狠干 | 亚洲一区二区在线 | 日韩中文一区二区 | 日韩亚洲欧美一区 | 欧美在线资源 | 国产精品a久久久久 | 北条麻妃99精品青青久久 | 亚洲人成网站777色婷婷 | 亚洲一区二区视频 | 黑人成人网| 国产精品精品视频 | 欧美日韩精品在线一区 | 久久y| 日本亚洲欧美 | 中文字幕91 | 艹逼网| 一区二区三区视频在线 | 一级毛片视频在线 | 嫩草懂你的影院入口 | 精品久久久久久久 | 国产视频一区二区 | 成人在线视频一区二区三区 | 欧美久久一级特黄毛片 | 久久大陆| 精品96久久久久久中文字幕无 | 2020亚洲天堂| 国产成人精品a视频 | 欧美涩 | 国产区在线 | 一区二区三区国产好的精 | 亚洲成人精品国产 |