原创 刪除一個OSD的最佳實踐

當你要縮小集羣規模或者處理壞盤時,你就需要通過刪除OSD來實現,但是在刪除之前你要確保集羣不會達到full的狀態。 雖然社區的文檔給出了刪除一個OSD的步驟(http://docs.ceph.com/docs/hammer/rados/o

原创 在mac上配置git send-email使用gmail

最近在往Qemu社區貢獻代碼,藉着這個機會也有了通過郵件發送patch的體驗(因爲之前主要專注於Ceph和OpenStack的開發,所以提交代碼基本上是用Pull Request和Gerrit,比較簡單方便)。另外,向linux社區貢獻代

原创 爲shell命令設置超時

最近寫一個檢查所有集羣狀態的腳本,在使用ssh在server上執行遠程命令時,如果server一時網絡不通,則ssh命令會等將近1分鐘纔會返回,這會延長腳本的執行。通過google,也在網上查到一些解決方案,比如設置timeout、TMO

原创 HEALTH_WARN clock skew detected的解決辦法

當你的ceph集羣出現如下狀況時, $ ceph -s     cluster 3a4399c0-2458-475f-89be-ff961fbac5

原创 linux內存管理之內核對物理內存的描述

Linux將物理內存按固定大小的頁面(一般爲4K)劃分內存,在內核初始化時,會建立一個全局struct page結構數組mem_map[ ]。如系統中有76G物理內存,則物理內存頁面數爲76*1024*1024k/4K= 19922944

原创 檢查OSD哪些配置有別於默認配置

在Ceph集羣中,如果想看一下你自定義的一些配置可以通過如下命令完成: $ sudo ceph daemon osd.1 config diff { "diff": { "current": {

原创 管道引起的變量賦值問題

引起問題的shell程序: $ cat tt.txt 1 2 3$ cat tt.sh #!/bin/sh tt=0 cat tt.txt|while read num; do <span style="white-space:pr

原创 Ceph學習之Crush算法—— 整體介紹

Ceph作爲最近關注度比較高的統一分佈式存儲系統,其有別於其他分佈式系統就在於它採用Crush(Controlled Replication Under Scalable Hashing)算法使得數據的存儲位置都是計算出來的而不是去查詢專

原创 XFS文件系統碎片整理

網上有些帖子說XFS不用做碎片整理,其實是錯誤的。XFS用延遲寫入等技術確實可以減少碎片的出現,但是如果服務器用了幾年,並且文件操作比較頻繁,還是會出現碎片的,應該整理。注意:在Debian中XFS相關命令在xfsprogs包中,而xfs

原创 HEALTH_WARN mds 0 is laggy的解決方法

當你的ceph集羣狀態遇到如下狀態時, $ ceph -s     cluster 3a4399c0-2458-475f-89be-ff961fbac537      health HEALTH_WARN 191 pgs stale; m

原创 計算機中的墨菲定律

我目前的工作主要是負責公司的分佈式存儲ceph,這在互聯網行業裏算是高危行業,因爲任何分佈式系統都有個假設即故障是常態,所以一搞不好就要投簡歷走人了。老闆也時不時的提醒我們這一點,做存儲首要穩定,有次偶然提到了墨菲定律:有可能出錯的事,就

原创 Mac下通過proxychains-ng配置thunderbird來訪問gmail

國內的GFW太強大了,導致一些優秀的軟件被牆,和我們關係比較大的就是gmail了。一般情況下,通過代理我們可以很容易實現客戶端的訪問,但客戶端或者碼農的終端要實現訪問外網,就需要自己配置了。 在Mac上可以通過proxychains-ng

原创 安裝lsb_release

lsb_release命令用來查看當前系統的發行版信息(prints certain LSB (Linux Standard Base) and Distribution information.)。有了這個命令就可以清楚的知道到底是Re

原创 查看誰map了rbd image

創建了一個rbd卷,想刪除的時候總是報錯一直被佔用,想知道卷被誰佔用了? 首先查看卷的相關信息: $ rbd info testjevon/foo rbd image 'foo': size 10240 MB in 2560 objec

原创 Ceph學習之Crush算法—— Bucket

Ceph使用Bucket將系統的存儲資源按照層級結構組織完成兩個目標:映射算法的高效性和可擴展性,以及當集羣狀態發生變化時(比如設備的增加或者刪除)數據的遷移量要儘可能的少。CRUSH定義了四種bucket類型(Uniform Bucke