編譯ceph需要多大內存
『壹』 如何限制ceph-osd內存使用
為了顯示 Ceph 集群中每個 OSD 中包含的 PGs 數量,可以用如下方法: $ ceph --format xml pg mp | \ xmlstarlet sel -t -m 「//pg_stats/pg_stat/acting」 -v osd -n | \ sort -n | uniq -c 332 0 312 1 299 2 326 3 291 4 295 5 316 6 311 7 3.
『貳』 centos7 ceph安裝包多大
Ceph 是一個將數據存儲在單一分布式計算機集群上的開源軟體平台。當你計劃構建一個雲時,你首先需要決定如何實現你的存儲。開源的 Ceph 是紅帽原生技術之一,它基於稱為 RADOS 的對象存儲系統,用一組網關 API 表示塊、文件、和對象模式中的數據...
『叄』 如何統計Ceph的RBD真實使用容量
ceph採用thin provisioning,創建rbd後,並沒有分配全部空間給該rbd,而是根據寫入數據量進行分配,那麼如何查看rbd佔用了多大空間,以下進行實驗來查看rbd實際佔用空間大小。
實際環境:
pool:vms
rbd:36982443-73e0-4e67-93aa-63841d3fdf5d_disk
查看該rbd的基本信息
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
[root@ceph-osd-2 ~]# rbd info vms/36982443-73e0-4e67-93aa-63841d3fdf5d_disk
rbd image '36982443-73e0-4e67-93aa-63841d3fdf5d_disk':
size 20480 MB in 5120 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.1f172ae8944a
format: 2
features: layering
該rbd顯示大小為20480MB,那麼我們來查看下該rbd的實際佔用空間大小
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
[root@ceph-osd-2 ~]# rbd diff vms/36982443-73e0-4e67-93aa-63841d3fdf5d_disk | awk '{ SUM += $2 } END { print SUM/1024/1024 " MB" }'
19820 MB
結果顯示該rbd的實際大小為19820MB,該rbd是作為openstack instance的操作系統盤使用,我們進行instance中查看系統磁碟的佔用空間
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
[root@demo-ceph ~]# df -H
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 22G 19G 1.9G 91% /
tmpfs 1.1G 0 1.1G 0% /dev/shm
『肆』 Linux裡面ceph是什麼
Linux裡面ceph
Ceph是一個可靠地、自動重均衡、自動恢復的分布式存儲系統,根據場景劃分可以將Ceph分為三大塊,分別是對象存儲、塊設備存儲和文件系統服務。在虛擬化領域里,比較常用到的是Ceph的塊設備存儲,比如在OpenStack項目里,Ceph的塊設備存儲可以對接OpenStack的cinder後端存儲、Glance的鏡像存儲和虛擬機的數據存儲,比較直觀的是Ceph集群可以提供一個raw格式的塊存儲來作為虛擬機實例的硬碟。
Ceph相比其它存儲的優勢點在於它不單單是存儲,同時還充分利用了存儲節點上的計算能力,在存儲每一個數據時,都會通過計算得出該數據存儲的位置,盡量將數據分布均衡,同時由於Ceph的良好設計,採用了CRUSH演算法、HASH環等方法,使得它不存在傳統的單點故障的問題,且隨著規模的擴大性能並不會受到影響。
『伍』 ceph這款雲存儲技術怎麼樣
Ceph是一套高性能,易擴展的,無單點的分布式文件存儲系統,基於Sage A. Weil的論文開發,主要提供以下三個存儲服務:
對象存儲(Object Storage),既可以通過使用Ceph的庫,利用C, C++, Java, Python, PHP代碼,也可以通過Restful網關以對象的形式訪問或存儲數據,兼容亞馬遜的S3和OpenStack的Swift。
塊存儲(Block Storage),作為塊設備像硬碟一樣直接掛載。
文件系統(File System) ,如同網路文件系統一樣掛載,兼容POSIX介面。
Ceph的結構,對象存儲由LIBRADOS和RADOSGW提供,塊存儲由RBD提供,文件系統由CEPH FS提供,而RADOSGW, RBD, CEPH FS均需要調用LIBRADOS的介面,而最終都是以對象的形式存儲於RADOS里。
Ceph集群的節點有三種角色:
Monitor,監控集群的健康狀況,向客戶端發送最新的CRUSH map(含有當前網路的拓撲結構)
OSD,維護節點上的對象,響應客戶端請求,與其他OSD節點同步
MDS,提供文件的Metadata,如果不使用CephFS可以不安裝
Google提供的Android包含了原始Android的目標機代碼,主機編譯工具、模擬環境,下載的代碼包經過解壓後(這里是Android2.2的源碼包),源代碼的第一層目錄結構如下:-- Makefile-- bionic (bionic C庫)-- bootable
『柒』 為什麼使用ceph的源碼編譯出來的rpm包太大
db2 connect to trepdb username report using password db2 "import from /路徑/filename.txt of del insert into tablename "
『捌』 ceph 硬碟要求
ceph元數據服務、monitors:每個實例1G OSD:每個實例500M 但是在恢復期間要求內存較多。 DATA STORAGE 數據存儲: 需要小心配置存儲。這需要在費用和性能之間進行權衡。
『玖』 如何在 CentOS 7.0 上配置 Ceph 存儲
Ceph 是一個將數據存儲在單一分布式計算機集群上的開源軟體平台。當你計劃構建一個雲時,你首先需要決定如何實現你的存儲。開源的 Ceph 是紅帽原生技術之一,它基於稱為 RADOS 的對象存儲系統,用一組網關 API 表示塊、文件、和對象模式中的數據。由於它自身開源的特性,這種便攜存儲平台能在公有雲和私有雲上安裝和使用。Ceph 集群的拓撲結構是按照備份和信息分布設計的,這種內在設計能提供數據完整性。它的設計目標就是容錯、通過正確配置能運行於商業硬體和一些更高級的系統。
Ceph 能在任何 Linux 發行版上安裝,但為了能正確運行,它需要最近的內核以及其它最新的庫。在這篇指南中,我們會使用最小化安裝的 CentOS-7.0。
系統資源
**CEPH-STORAGE**
OS:CentOSLinux7(Core)
RAM:1 GB
CPU:1 CPU
DISK:20
Network:45.79.136.163
FQDN: ceph-storage.linoxide.com
**CEPH-NODE**
OS:CentOSLinux7(Core)
RAM:1 GB
CPU:1 CPU
DISK:20
Network:45.79.171.138
FQDN: ceph-node.linoxide.com
安裝前的配置
在安裝 Ceph 存儲之前,我們要在每個節點上完成一些步驟。第一件事情就是確保每個節點的網路已經配置好並且能相互訪問。
配置 Hosts
要在每個節點上配置 hosts 條目,要像下面這樣打開默認的 hosts 配置文件(LCTT 譯註:或者做相應的 DNS 解析)。
#vi/etc/hosts
45.79.136.163 ceph-storage ceph-storage.linoxide.com
45.79.171.138 ceph-node ceph-node.linoxide.com
安裝 VMware 工具
工作環境是 VMWare 虛擬環境時,推薦你安裝它的 open VM 工具。你可以使用下面的命令安裝。
#yum install -y open-vm-tools
配置防火牆
如果你正在使用啟用了防火牆的限制性環境,確保在你的 Ceph 存儲管理節點和客戶端節點中開放了以下的埠。
你必須在你的 Admin Calamari 節點開放 80、2003、以及4505-4506 埠,並且允許通過 80 號埠訪問到 Ceph 或 Calamari 管理節點,以便你網路中的客戶端能訪問 Calamari web 用戶界面。
你可以使用下面的命令在 CentOS 7 中啟動並啟用防火牆。
#systemctl start firewalld
#systemctl enable firewalld
運行以下命令使 Admin Calamari 節點開放上面提到的埠。
# firewall-cmd --zone=public--add-port=80/tcp --permanent
# firewall-cmd --zone=public--add-port=2003/tcp --permanent
# firewall-cmd --zone=public--add-port=4505-4506/tcp --permanent
# firewall-cmd --reload
在 Ceph Monitor 節點,你要在防火牆中允許通過以下埠。
# firewall-cmd --zone=public--add-port=6789/tcp --permanent
然後允許以下默認埠列表,以便能和客戶端以及監控節點交互,並發送數據到其它 OSD。
# firewall-cmd --zone=public--add-port=6800-7300/tcp --permanent
如果你工作在非生產環境,建議你停用防火牆以及 SELinux 設置,在我們的測試環境中我們會停用防火牆以及 SELinux。
#systemctl stop firewalld
#systemctl disable firewalld
系統升級
現在升級你的系統並重啟使所需更改生效。
#yum update
#shutdown-r 0
設置 Ceph 用戶
現在我們會新建一個單獨的 sudo 用戶用於在每個節點安裝 ceph-deploy工具,並允許該用戶無密碼訪問每個節點,因為它需要在 Ceph 節點上安裝軟體和配置文件而不會有輸入密碼提示。
運行下面的命令在 ceph-storage 主機上新建有獨立 home 目錄的新用戶。
[root@ceph-storage ~]#useradd-d /home/ceph -m ceph
[root@ceph-storage ~]#passwd ceph
節點中新建的每個用戶都要有 sudo 許可權,你可以使用下面展示的命令賦予 sudo 許可權。
[root@ceph-storage ~]#echo"ceph ALL = (root) NOPASSWD:ALL"|sudotee/etc/sudoers.d/ceph
ceph ALL =(root) NOPASSWD:ALL
[root@ceph-storage ~]#sudochmod0440/etc/sudoers.d/ceph
設置 SSH 密鑰
現在我們會在 Ceph 管理節點生成 ssh 密鑰並把密鑰復制到每個 Ceph 集群節點。
在 ceph-node 運行下面的命令復制它的 ssh 密鑰到 ceph-storage。
[root@ceph-node ~]#ssh-keygen
Generatingpublic/private rsa key pair.
Enterfilein which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (emptyforno passphrase):
Enter same passphrase again:
Your identification has been saved in/root/.ssh/id_rsa.
Yourpublic key has been saved in/root/.ssh/id_rsa.pub.
The key fingerprint is:
5b:*:*:*:*:*:*:*:*:*:c9 root@ceph-node
The key's randomart image is:
+--[ RSA 2048]----+
[root@ceph-node ~]#ssh--id ceph@ceph-storage
SSH key
配置 PID 數目
要配置 PID 數目的值,我們會使用下面的命令檢查默認的內核值。默認情況下,是一個小的最大線程數 32768。
如下圖所示通過編輯系統配置文件配置該值為一個更大的數。
更改 PID 值
配置管理節點伺服器
配置並驗證了所有網路後,我們現在使用 ceph 用戶安裝 ceph-deploy。通過打開文件檢查 hosts 條目(LCTT 譯註:你也可以用 DNS 解析來完成)。
#vim/etc/hosts
ceph-storage 45.79.136.163
ceph-node 45.79.171.138
運行下面的命令添加它的庫。
# rpm -Uhv http://ceph.com/rpm-giant/el7/noarch/ceph-release-1-0.el7.noarch.rpm
添加 Ceph 倉倉庫
或者創建一個新文件並更新 Ceph 庫參數,別忘了替換你當前的 Release 和版本號。
[root@ceph-storage ~]#vi/etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
之後更新你的系統並安裝 ceph-deploy 軟體包。
安裝 ceph-deploy 軟體包
我們運行下面的命令以及 ceph-deploy 安裝命令來更新系統以及最新的 ceph 庫和其它軟體包。
#yum update -y &&yum install ceph-deploy -y
配置集群
使用下面的命令在 ceph 管理節點上新建一個目錄並進入新目錄,用於收集所有輸出文件和日誌。
#mkdir~/ceph-cluster
#cd~/ceph-cluster
# ceph-deploy new storage
設置 ceph 集群
如果成功執行了上面的命令,你會看到它新建了配置文件。
現在配置 Ceph 默認的配置文件,用任意編輯器打開它並在會影響你公共網路的 global 參數下面添加以下兩行。
#vim ceph.conf
osd pool defaultsize=1
public network =45.79.0.0/16
安裝 Ceph
現在我們准備在和 Ceph 集群關聯的每個節點上安裝 Ceph。我們使用下面的命令在 ceph-storage 和 ceph-node 上安裝 Ceph。
# ceph-deploy install ceph-node ceph-storage
安裝 ceph
處理所有所需倉庫和安裝所需軟體包會需要一些時間。
當兩個節點上的 ceph 安裝過程都完成後,我們下一步會通過在相同節點上運行以下命令創建監視器並收集密鑰。
# ceph-deploy mon create-initial
Ceph 初始化監視器
設置 OSD 和 OSD 守護進程
現在我們會設置磁碟存儲,首先運行下面的命令列出你所有可用的磁碟。
# ceph-deploy disk list ceph-storage
結果中會列出你存儲節點中使用的磁碟,你會用它們來創建 OSD。讓我們運行以下命令,請使用你的磁碟名稱。
# ceph-deploy disk zap storage:sda
# ceph-deploy disk zap storage:sdb
為了最後完成 OSD 配置,運行下面的命令配置日誌磁碟以及數據磁碟。
# ceph-deploy osd prepare storage:sdb:/dev/sda
# ceph-deploy osd activate storage:/dev/sdb1:/dev/sda1
你需要在所有節點上運行相同的命令,它會清除你磁碟上的所有東西。之後為了集群能運轉起來,我們需要使用以下命令從 ceph 管理節點復制不同的密鑰和配置文件到所有相關節點。
# ceph-deploy admin ceph-node ceph-storage
測試 Ceph
我們快完成了 Ceph 集群設置,讓我們在 ceph 管理節點上運行下面的命令檢查正在運行的 ceph 狀態。
# ceph status
# ceph health
HEALTH_OK
如果你在 ceph status 中沒有看到任何錯誤信息,就意味著你成功地在 CentOS 7 上安裝了 ceph 存儲集群。
『拾』 如何搭建ceph虛擬基礎設施 windows環境
搭建虛擬化伺服器,在Hyper-v管理器中,安裝windows server 2012虛擬機系統。
打開Hyper-v管理器,右擊hyper-v伺服器—新建---虛擬機。
在彈出虛擬機新建向導頁面,單擊下一步。
指定虛擬機在Hyper-v中的顯示名稱,選擇虛擬機的存儲位置,選擇完畢後,單擊下一步。
根據虛擬機具體需求,分配內存。
選擇虛擬機要使用的網路連接。
選擇創建虛擬硬碟,指定虛擬硬碟的位置和大小。
選擇安裝介質,可使用物理CD/DVD驅動器安裝,也可直接用映像文件進行安裝。
虛擬機摘要中,確認相關信息無誤後,單擊完成,完成創建虛擬機向導。
打開Hyper-v管理器,右擊新建的虛擬機,單擊啟動選項,開始安裝虛擬機系統,再次右擊虛機選擇選項,即可打開虛擬機的控制台界面。
安裝過程與物理機安裝操作系統相同。