在 ceph 群集中,每顆硬碟使用獨立的 osd daemon 進行管理。
不同的硬碟,在硬體的異質性上可表現在:
預設情形下 ceph 可處理容量不同的硬碟。硬碟容量影響 osd 的 crush 權重,使得容量大的寫選中時機率高,容量小的寫選中時機率低。
在預設的情形下, osd 會有三副本,其中讀取時僅讀主副本,寫入時寫入主副本,並由主副本寫入第二、三副本。
因此讀取速度快的硬碟,將會更適合設定做為主副本 osd。
反過來說,讀取速度慢的硬碟,較不適合做為主副本 osd。
透過指令:
ceph osd primary-affinity osd.<id> 0
其中,osd 的 primary affinity 原本預設為 1,即表示均視為可做為主副本。
將該 osd 的主副本親和性設定為 0 後,即表示不選擇此 osd 做為主副本。