Ceph硬件選型

Ceph對計算機硬件的需求

引言

我閱讀了Ceph的官方文檔,其中說起了Ceph對硬件資源的需求,在《Learning Ceph》一書中也一樣說起。我在此處作一個簡要歸納。 Ceph主要包含以下幾個組件:算法

  • MON
  • OSD
  • MDS
  • RGW

討論的重點也是各組件對CPU以及內存的依賴程度。服務器

MON MON負責管理CRUSHMAP,並非CPU密集型,對內存依賴大,由於要實現數據的快速訪問。CPU能夠配置不高,可是內存要足量,每一個進程實例1GB內存。性能

OSD OSD運行着rados服務,經過CRUSH算法計算對象的位置,要管理數據及其副本,須要合理數量的CPU。 OSD數據對內存的依賴程度不是特別大,正常狀況下每一個進程實例500MB便可。 在不正常的狀況下(數據遷移恢復等),每一個進程實例,每1TB數據就要對應1GB內存。因此內存仍是多多益善,個人OSD進程在運行時,通常。操作系統

MDS 元數據服務器服務於CephFS,是一個CPU密集型進程,佔用的CPU資源不少,因此須要給MDS配備性能強勁的CPU才行。對內存需求也大,由於須要實現數據的快速訪問;每一個進程實例1GB內存。對象

還有一些影響存儲性能的因素,大量的讀寫請求,對於單個磁盤驅動器而言,會影響性能;不一樣的文件系統,也會影響系統性能; 這裏談談磁盤驅動器的選型;進程

我在系統使用的過程當中,發現各組件對內存的佔用狀況: osd: 2G左右,偶合會飈到7G; mon: 目前700M左右,曾經飆到過8G,還致使系統內存不足,後來我逐一重啓了下mon進程; rgw: 目前佔用的內存20G;內存

機械磁盤:資源

  1. 推薦的磁盤大小,最小不過1TB;
  2. 磁盤越大,單位GB的存儲空間越小,可是須要的內存越多,尤爲是在recovery,backfill以及reblance時;
  3. 不推薦將一個盤分多個區,再跑多個OSD進程;
  4. 不推薦OSD和mon, 或者OSD和mds跑在同一個硬盤上;
  5. 不少 slow osd的問題每每是因爲對磁盤設備的過分使用,請使用專用的磁盤用於安裝操做系統以及軟件;專用的磁盤設備用於osd daemon, 專門的磁盤設備用於journal。

SSD磁盤: 使用SSD能夠有效的提高系統性能,可是在決定使用SSD以前,須要考慮幾個問題: 對於寫性能要求高的狀況,要購買合適的SSD,有些便宜的SSD,可能寫性能還不如好的機械硬盤; 順序寫:當你把一塊SSD做爲多個磁盤的journal時,有可能幾個OSD同時寫journal,而寫journal是順序寫,因此須要關注順序寫性能; 注意分區對齊;文檔

網卡: 至少2個1Gbps的網卡,一個用於public network,用於和系統的使用者交互;一個用於cluster network,用於數據副本的拷貝,recovery, backfill等之用。get

參考文檔: http://docs.ceph.com/docs/master/start/hardware-recommendations/

相關文章
相關標籤/搜索