1、背景:
ceph集群會定時進行scrub操作,在ceph對接openstack的場景中,如果ceph集群正在進行scrub操作,會對scrub的資料進行加鎖,如果openstack使用ceph作為後端儲存的虛擬機器此時也在訪問該資料,就會導致openstack中使用ceph作為後端儲存的虛擬機器可能會出現卡頓的現象。
1)scurb是什麼?
scrub是ceph集群副本進行資料掃瞄的操作,用以檢測副本間資料的一致性,包括scrub和deep scrub,其中scrub只會對元資料資訊進行掃瞄,相對比較快,而deep scrub不僅對元資料進行掃瞄,還會對儲存的資料進行掃瞄,相對比較慢。
2)scrub預設週期是多久進行一次?
osd的scrub預設配置策略是每天到每週(如果集群負載大週期就是一周,如果集群負載小週期就是一天)進行一次,時間區域預設為全天(0時-24時),deep scrub預設策略是每週一次。
2、案例實戰
基於對業務執行時間的了解,晚上10點到第二天早上7點為業務閒時,可以進行scrub操作,本文以此為例進行配置策略的制定。
場景:晚22點到第二天早上7點進行scrub
先通過tell方式,讓scrub時間區間配置立即生效,具體操作如下:
配置scrub起始時間為22點整:
ceph tell osd.* injectargs "--osd-scrub-begin-hour 22"
配置scrub結束時間為第二天早上7點整:
ceph tell osd.* injectargs "--osd-scrub-end-hour 7"
vim /etc/ceph/ceph.conf
[global]
....
..[osd]
osd_scrub_begin_hour = 22
osd_scrub_end_hour = 7
這樣之後,可以使配置立即生效,即使集群服務重啟或者節點重啟,配置也會重新從配置檔案中載入,永久生效。 Ceph 手動搭建ceph集群
hostname ipmon id 磁碟快journal ceph1 192.168.1.1 0 dev sdb2 dev sdb1 ceph2 192.168.1.2 1 dev sdb2 dev sdb1 ceph3 192.168.1.3 2 dev sdb2 dev sdb1 使用yum來安...
Ceph基礎之搭建ceph集群
8 更新源 yum update ysetenforce 0 4 安裝ntp,在所有ceph節點上執行 2 用ceph deploy建立ceph集群mkdir etc ceph 生成乙個新的ceph集群,集群包括ceph配置檔案以及monitor的金鑰環。3 安裝ceph二進位制軟體包ceph de...
手動部署Ceph集群
接上篇,這次使用全手工配置的方式部署一套集群。環境配置及需要做的準備工作和上篇一樣,不再多說了。先從單節點配起,然後逐步進行擴充套件,最終做到三節點。安裝ceph 這裡選擇從倉庫中進行安裝,而不是從源 開始編譯,因為實在是太慢了,跑了一天還沒跑完。apt install ceph ceph mds配...