原创 ceph df中pool對應的max avail計算方式

目錄   計算公式 舉例 結論 源碼跟蹤 取值打印max avail處 計算osd除於權重佔比值 osd的權重佔總權重的佔比計算函數 源碼打印測試 計算公式   參數說明: max_avail:最大可用空間 min():取括號範圍內的最

原创 【CEPH】scrub error解決方案

問題描述 原因分析         數據的不一致性(inconsistent)指對象的大小不正確、恢復結束後某副本出現了對象丟失的情況。數據的不一致性會導致清理失敗(scrub error)。         CEPH在存儲的過程

原创 C/C++ 函數的編譯方式與調用約定以及extern “C”的使用

函數在C++編譯方式與C編譯方式下的主要不同在於:由於C++引入了函數重載(overload),因此編譯器對同名函數進行了名稱重整(name mangle)。因此,在C++中引 用其他C函數庫時,需要對聲明使用的函數做適當的處理,以告知

原创 linux c/c++ 判斷是否爲中文(不包括中文符號,非正則)

在linux環境下,c/c++默認的中文編碼爲UTF-8,中文的unicode編碼是雙字節的編碼。有趣的是,windows環境下中文utf-8的編碼爲兩個字節,而linux環境下UTF-8的爲三個字節,而匹配中文使用正則表達式爲[\u4e

原创 【CEPH】RBD拍平原理和shell腳本測試

原理 測試數據         三個塊大小分別爲10G,30G,50G 測試腳本  #!/bin/bash for size in 10240 30720 51200 do echo "*****************

原创 SSH原理及免密登陸

非對稱加密算法 該算法基於大數的因式分解數學難題,是目前應用最廣泛的非堆成加密算法。 非對稱加密算法,顧名思義就是加密和解密所用的密碼是不一致的。有兩個密碼,一個爲私鑰,自己保存,另一個爲公鑰,可以放到公開的位置中給別人使用。由此派生了加

原创 Ubuntu 14.04 設置軟件源

建議先將之前的備份,然後在編輯 cp /etc/apt/sources.list /etc/apt/sources.list.bak vi /etc/apt/sources.list中科大軟件源 deb http://debian.u

原创 shell計算上傳一個文件到CEPH的時間

#!/bin/bash if [ "`dpkg -l | grep " bc " | awk '{print $2}'`" != "bc" ];then apt-get install bc fi if [ -z $1

原创 Cephx源碼淺析

  Ceph X protocol   Ceph的Auth認證服務由MON中的AuthMonitor模塊提供,隨MON啓動而啓動。啓動時會檢查認證服務是否爲cephx,如果是將加載admin.keyring(裏面包含客戶端服務器共享的密鑰

原创 xshell連接VM虛擬機上下左右及退格鍵不正常問題

上下左右的問題可以在終端修改以下變懶來解決(非完美解決) export TERM=linux 退格的問題可以通過“文件”->"屬性”->"終端"->"鍵盤",修改紅框區域內容來解決(並非完美解決) 點贊 收藏 分

原创 Cinder無法連上CEPH集羣原因分析和解決

問題描述         Cinder服務無法連接到CEPH,導致cinder_volume服務無法啓動。 原因分析         Cinder用戶對應的ceph用戶沒有連接volumes池的權限。 解決辦法        部

原创 linux 查看目錄的剩餘可用空間【shell腳本】

Linux中暫時沒發現現成的命令,因此可用用shell腳本結合df -h命令來實現 實現思路: 1、輸入一個路徑 2、獲得df -h信息 3、保存根目錄的可用空間大小 4、除了跟根目錄之外的其他掛載目錄匹配路徑,如果匹配成功,取該路徑的可

原创 CEPH J版本新特性RGW Multi-tenancy詳解

 CEPH官方對RGW Multi-tenancy的介紹如下 RGW Multi-tenancy  多租戶特性允許創建使用不同的存儲桶和用戶,前提是將其分離在不同的租戶之下。例如,允許不同租戶下的Swift API的用戶,都

原创 構建CEPH deb包

注:操作系統爲UBUNTU14.4,3.X的內核,安裝的CEPH版本爲0.94.5(hammer)   思路         根據github上下載的CEPH源碼,然後打包成deb包。通過dpkg –i指令替換ceph-deployins

原创 openstack基於CEPH的共享盤實現方案

首先,讓我們先了解下librbd I/O的協議棧  其中VM根據libvirt通過配置文件來調用QEMU的。而塊存儲RBD,其實是CEPH集羣的一個client而已。所以,可以控制OSD中的/etc/ceph/ceph.conf中的[