以副本環境的資料均衡為例,以下需要注意:
cosbench支援命令列。進入cosbench目錄,用./cli.sh 來開始、結束任務
[root@node-105-84 ~]# cd 0.4.2.c4/
[root@node-105-84 0.4.2.c4]# ./cli.sh
usage: ./cli.sh - action:
- : submit configuration and start workload
- : cancel workload
- : check status
- anonymous:[email protected]:19088 by default
在上傳大物件的測試中,有觀測到到達預定資料量,之後資料減少的情況。可檢視到gc list中有等待gc的物件。
懷疑因上傳物件有5g以上大小,multipart上傳導致。測試中應排除該部分gc物件的影響,等待或加快gc完成。
radosgw-admin gc list -n client.radosgw.node-105-80
radosgw-admin gc list --include-all -n client.radosgw.node-105-80
radosgw-admin gc process -n client.radosgw.node-105-80
ceph daemon /var/run/ceph/ceph-client.radosgw.node-105-80.1477.94595294014400.asok config show | grep _gc_
注:根據查到的gc引數來理解gc過程
[root@node-105-84 0.4.2.c4]# cat /etc/ceph/ceph.conf |grep scrub
osd scrub begin hour = 0
osd scrub end hour = 5
osd_scrub_chunk_max = 2
osd_scrub_chunk_min = 1
關閉晚上的scrub或者避免在0-5點間測試
ceph osd pool set noscrub true
ceph osd pool set nodeep-scrub true
(1)radosgw-admin bucket stats --bucket=bucket1 --name client.radosgw.node-*
(2)寫入大物件個數還可用s3cmd ls s3://bucket1 |wc -l得到。寫入小物件個數由於到達了百萬級別,ls可能超時。
由於寫入小物件小於512k,可直接等於rados物件數。其實可通過ceph df檢視資料池中的物件得到。比如:
site.rgw.buckets.data.rep2 6 1116g 50.14 1024g 9577008
(1)粗略統計(注:本方法只針對於2副本;gc會影響統計結果;對於乙個pg,可能多個副本發生遷移,乙個pg上的資料量沒有乘以遷移的副本數,導致結果不準確)
步驟:①統計資料遷移前pg的分布
ceph pg dump pgs|awk '' |sort >>/root/oldpg #這裡記錄的分別是,pg名,object數,pg上的資料量,以及pg的acting osd。
②統計資料遷移後pg的分布
ceph pg dump pgs|awk '' |sort >>/root/newpg
③對比前後pg變化
vimdiff /root/oldpg /root/newpg #檢視是否有pg上的資料量發生變化或者乙個pg是否只有乙個副本發生位置變化
③計算遷移量
diff -y /root/oldpg /root/newpg --suppress-common-lines|awk 'beginend' 來進行統計,這裡的單位是位元組
(2)相對精確的統計
理論①:對於乙個pg,可能多個副本發生遷移,乙個pg上的資料量乘以遷移的副本數可得到準確結果。
參見:理論② :刪除osd.1,對比前後pg分布,可能不止分布在osd.1上的pg發生了遷移。已驗證。
綜合①②可通過記錄pg前後變化來計算遷移量。可編寫指令碼計算。
理論③:參見 ,對於不同的刪除osd的方式,資料遷移量不同。當前我們的方式為第一種,stop osd 、out osd(發生資料遷移)、crush remove osd(發生資料遷移) 、add osd(發生資料遷移)。未驗證。
推論:對於不同操作場景,比如:磁碟壞了(stop osd、out osd)、磁碟壞了資料已經修復完成後刪除(remove osd)、磁碟壞了資料已經修復完成後重建(remove osd+add osd)、當前osd為in+up進行刪除(stop、out、crush remove)、當前osd為in+up進行重建(stop、out、crush remove、add),遷移的資料量是不同的。
6、善用excel公式計算時間和速度
=round((h5-g5) * 1440,1)
=round((f2/1024/1024/i2/60),1)
ceph 資料均衡
參考 問題的提出 在ceph集群中,當有新的osd 新增到集群中,會導致資料移動以達到資料均衡,資料的移動只在舊的osd和新新增的osd之間移動,還是舊有的osd之間也有資料移動?上次ceph社群交流,有人提到,當有100個osd時,新增osd,舊有的osd之間會有劇烈的資料移動 目前做了乙個實驗,...
記一次ceph的故障修復 20160408
ceph的在正常執行的時候基本不會出現故障,出現故障一般在變動的時候,具體有下面幾種可能出現的情形 以上這些操作過程中是最可能出現異常的情形,並不是一定會出問題,以上問題除了網路和磁碟問題出現的異常是基本無法避免外,其他出現的時候,一般是非正常操作引起的,也就是我通常認為的人為事故,這個一般出現在操...
SQLSERVER 資料修復
先執行 dbcc checkdb 資料名稱 找出資料有問題的表 再執行下面的命令 declare dbname varchar 255 set dbname 資料名稱 exec sp dboption dbname,single user true dbcc checktable 有問題的表名 re...