1. 程式人生 > >1.快速部署ceph叢集(ceph做openstack的後端儲存)

1.快速部署ceph叢集(ceph做openstack的後端儲存)

Ceph 簡介(官網 http://docs.ceph.org.cn/start/intro/)

不管你是想為雲平臺提供Ceph 物件儲存和/或 Ceph 塊裝置,還是想部署一個 Ceph 檔案系統或者把 Ceph 作為他用,所有 Ceph 儲存叢集的部署都始於部署一個個 Ceph 節點、網路和 Ceph 儲存叢集。 Ceph 儲存叢集至少需要一個 Ceph Monitor 和兩個 OSD 守護程序。而執行 Ceph 檔案系統客戶端時,則必須要有元資料伺服器( Metadata Server )。

  • Ceph OSDs: Ceph OSD 守護程序( Ceph OSD )的功能是儲存資料,處理資料的複製、恢復、回填、再均衡,並通過檢查其他OSD 守護程序的心跳來向 Ceph Monitors 提供一些監控資訊。當 Ceph 儲存叢集設定為有2個副本時,至少需要2個 OSD 守護程序,叢集才能達到 active+clean
    狀態( Ceph 預設有3個副本,但你可以調整副本數)。
  • Monitors: Ceph Monitor維護著展示叢集狀態的各種圖表,包括監視器圖、 OSD 圖、歸置組( PG )圖、和 CRUSH 圖。 Ceph 儲存著發生在Monitors 、 OSD 和 PG上的每一次狀態變更的歷史資訊(稱為 epoch )。
  • MDSs: Ceph 元資料伺服器( MDS )為 Ceph 檔案系統儲存元資料(也就是說,Ceph 塊裝置和 Ceph 物件儲存不使用MDS )。元資料伺服器使得 POSIX 檔案系統的使用者們,可以在不對 Ceph 儲存叢集造成負擔的前提下,執行諸如 lsfind 等基本命令。

Ceph 把客戶端資料儲存為儲存池內的物件。通過使用 CRUSH 演算法, Ceph 可以計算出哪個歸置組(PG)應該持有指定的物件(Object),然後進一步計算出哪個 OSD 守護程序持有該歸置組。 CRUSH 演算法使得 Ceph 儲存叢集能夠動態地伸縮、再均衡和修復。


CentOS7上部署ceph分散式儲存叢集。在ceph-node1、ceph-node2和ceph-node3上建立一個三節點的叢集。

準備環境

hosts檔案配置(在三個ceph節點上操作)

[email protected] ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.1.1.120 controller1 controller1.openstack.com

10.1.1.121 controller2 controller2.openstack.com

10.1.1.122 controller3 controller3.openstack.com

10.1.1.123 compute1 compute1.openstack.com

10.1.1.124 compute2 compute2.openstack.com

10.1.1.125 nfs-backend backend.openstack.com

10.1.1.126 cinder1 cinder1.openstack.com

10.1.1.127 ceph-node1 ceph-node1.openstack.com     #下面這三臺

10.1.1.128 ceph-node2 ceph-node2.openstack.com

10.1.1.129 ceph-node3 ceph-node3.openstack.com

9.110.187.168 openstack.openstack.com    



軟體環境



    作業系統:Centos 7.3

    Openstack:N版

    Ceph:yongbangyan



安裝Ceph準備repo



在所有ceph節點上準備下面的源。(在三個ceph節點上操作)

 yum clean all

 rm -rf /etc/yum.repos.d/*.repo

 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

 sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo

 sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo

 sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo



 #vi /etc/yum.repos.d/ceph.repo

[ceph-node]

name=ceph-node

baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64/

gpgcheck=0

[ceph-noarch]

name=cephnoarch

baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch/

gpgcheck=0



 yum update -y





作業系統配置

    1:無密碼訪問配置

      在deploy節點(ceph-node1)上執行。配置deploy節點和其他ceph節點之間的無密碼訪問。

ssh-keygen -t rsa

ssh-copy-id -i /root/.ssh/id_rsa.pub -p 22

[email protected]

ssh-copy-id -i /root/.ssh/id_rsa.pub -p 22 [email protected]



    2:禁用Selinux,在所有ceph節點上執行(在三個ceph節點上操作)
systemctl disable firewalld.service
systemctl stop firewalld.service
sed -i "s/SELINUX=enforcing/SELINUX=disabled/"   /etc/selinux/config

    3:安裝ntp,在所有ceph節點上執行(在三個ceph節點上操作)
      yum install ntp ntpdate -y
      systemctl restart ntpdate.service ntpd.service   
      systemctl enable ntpd.service ntpdate.service

   4.準備好環境後重啟(在三個ceph節點上操作)
reboot

部署Ceph叢集(注意:以下都是在ceph-node1操作)

    1:安裝ceph-deploy
      yum install ceph-deploy -y
   
    2:用Ceph-deploy建立Ceph叢集
      mkdir /etc/ceph
      cd /etc/ceph
      ceph-deploy new ceph-node1

      生成一個新的ceph叢集,叢集包括ceph配置檔案以及monitor的金鑰環。

    3:在ceph-node1安裝ceph二進位制軟體包
      ceph-deploy install --no-adjust-repos ceph-node1 ceph-node2 ceph-node3

    4:修改ceph 配置檔案
      [global]
      fsid = 7bac6963-0e1d-4cea-9e2e-f02bbae96ba7
      mon_initial_members = ceph-node1
      mon_host = 10.1.1.127
      auth_cluster_required = cephx
      auth_service_required = cephx
      auth_client_required = cephx
      public network = 10.1.1.0/24
 
    5:在ceph-node1上建立第一個ceph monitor
      ceph-deploy mon create-initial

    6:在ceph-node1上建立OSD
      ceph-deploy disk list ceph-node1(列出disk)
      ceph-deploy disk zap ceph-node1:sdb ceph-node1:sdc ceph-node1:sdd
      ceph-deploy osd create ceph-node1:sdb ceph-node1:sdc ceph-node1:sdd
    
    7:用Ceph-deploy在ceph-node1上建立ceph-node2、ceph-node3的monitor
      ceph-deploy mon create ceph-node2
      ceph-deploy mon create ceph-node3
      ceph –s
 
      ceph osd lspools
      ceph osd tree
      ceph osd pool delete rbd rbd --yes-i-really-really-mean-it    刪除osd pool池
      ceph mon stat
    8:在ceph-node1上建立ceph-node2OSD
      ceph-deploy disk zap ceph-node3:sdb ceph-node2:sdc ceph-node2:sdd
      ceph-deploy osd create ceph-node2:sdb ceph-node2:sdc ceph-node2:sdd
      在ceph-node1上建立ceph-node3的OSD
      ceph-deploy disk zap ceph-node3:sdb ceph-node3:sdc ceph-node3:sdd
      ceph-deploy osd create ceph-node3:sdb ceph-node3:sdc ceph-node3:sdd
    9:調整rbd儲存池的pg_num和pgp_num
      ceph osd pool set rbd pg_num 256
      ceph osd pool set rbd pgp_num 256



通過上面的步驟,一個all in one的ceph就成功部署了。
ceph -s

相關推薦

1.快速部署ceph叢集cephopenstack儲存

Ceph 簡介(官網 http://docs.ceph.org.cn/start/intro/)不管你是想為雲平臺提供Ceph 物件儲存和/或 Ceph 塊裝置,還是想部署一個 Ceph 檔案系統或者把 Ceph 作為他用,所有 Ceph 儲存叢集的部署都始於部署一個個 Ce

移動車牌識別前端識別、識別的區別分析

關鍵詞:移動端車牌識別、ocr車牌識別技術、車牌識別技術、車牌識別sdk、移動端車牌識別sdk、手機端車牌識別、安卓車牌識別、安卓端車牌識別技術。移動端車牌識別sdk(前端識別) 移動端前端車牌識別OCR技術是為促進人工智慧化建設研發而來的SDK應用。此應用基於Android、ios平臺,手機、PDA、安卓

自動補全、自動提示的兩種實現方式前端實現與實現

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="style

Flocker 儲存代理 docker volume-driver 支援

docker Flocker https://github.com/ClusterHQ/flocker/ 文件: https://docs.clusterhq.com/en/latest/docker-integration/ docker swarm 部署 Flocker https://do

數字對講系統開發札記前端linux c c#

前言 數字化是一種趨勢,特別是在“提速降費”的大環境下,這種趨勢愈發明顯。對講機這種古老的系統也處在時代的變革之中,雖然手機的功能越來越強,讓人懷疑對講機是否還有存在的必要。誠然,對講機仍然有它的市場。有時候,功能太多太強反而不是優勢;對講機的優勢就是功能簡單,專業性強。   筆者最近也涉足了對講系

【實踐】基於CentOS7部署Ceph叢集版本10.2.2

1 簡單介紹Ceph的部署模式下主要包含以下幾個型別的節點Ø Ceph OSDs: A Ceph OSD 程序主要用來儲存資料,處理資料的replication,恢復,填充,調整資源組合以及通過檢查其他OSD程序的心跳資訊提供一些監控資訊給Ceph Monitors . 當C

使用Docker快速部署ELK環境最新5.5.1版本

在Linux伺服器上安裝Docker以後,Pull相關的官方Docker映象: docker pull docker.elastic.co/elasticsearch/elasticsearch:5.5.1 docker pull docker.elast

搭建ceph叢集單節點

持之以恆,不言放棄 軟體環境: - Centos7 x64 CEPH版本 : - ceph-deploy v1.5.37 - ceph version 10.2.9 步驟1.修改主機名(即節點名) 1) sed -i ‘/HOSTNAME/

MariaDB Galera Cluster 部署如何快速部署 MariaDB 叢集

MariaDB 作為 Mysql 的一個分支,在開源專案中已經廣泛使用,例如大熱的 openstack,所以,為了保證服務的高可用性,同時提高系統的負載能力,叢集部署是必不可少的。 MariaDB Galera Cluster 介紹 MariaDB 叢集是 MariaDB

CentOS 7部署Hadoop叢集HA高可用叢集

目錄 測試環境 Hadoop 組織框架 HDFS架構 YARN架構 HA叢集部署規劃 自動故障轉移 關於叢集主機時間 Linux環境搭建 配置Java環境 安裝單機版Hadoop Zookeeper叢集安裝 配置環境變數 關閉防火牆 修

Linux上部署Redis叢集to be continue

歡迎使用Markdown編輯器寫部落格 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markdown和擴充套件Markdown簡潔的語法 程式碼塊高亮 圖片連結和圖片上傳 LaTex數學公式 UML序列

Hadoop部署——CentOS 7部署Hadoop叢集HA高可用叢集

目錄 測試環境 關閉防火牆 測試環境 Linux系統版本:CentOS 7 64位 Hadoop 組織框架 Hadoop主要包括兩部分: 一部分是HDFS(Hadoop Distr

在Kubernetes叢集中用Helm託管安裝Ceph叢集並提供儲存_Kubernetes中文社群

在Kubernetes叢集中用Helm託管安裝Ceph叢集並提供後端儲存 本文翻譯自Ceph官方文件,括號內的內容為註釋。 安裝 ceph-helm 專案可讓你在Kubernetes 環境以託管方式部署Ceph . 本文件假定Kubernetes 環境已經可用。 當前的限制 Public網路

Ubuntu14.04下Ambari安裝搭建部署大資料叢集圖文分五大步詳解博主強烈推薦

     不多說,直接上乾貨! 寫在前面的話   (1) 最近一段時間,因擔任我團隊實驗室的大資料環境叢集真實物理機器工作,至此,本人秉持負責、認真和細心的態度,先分別在虛擬機器上模擬搭建ambari(基於CentOS6.5版本)和cloudermanager(基於CentOS6.5或Ub

CentOS6.5下Ambari安裝搭建部署大資料叢集圖文分五大步詳解博主強烈推薦

  第一步:   第二步:   第三步:   第四步:   第五步:   成功! 歡迎大家,加入我的微信公眾號:大資料躺過的坑        人工智慧躺過的坑 同時,大家可以關注我的個人部

Dask快速搭建分散式叢集大資料0基礎可以理解,並使用!

轉載:  https://blog.csdn.net/a19990412/article/details/79510219常開心,解決了很久都沒有解決的問題使用的語言: Python3.5 分散式機器: windows7注意到,其實,通過這工具搭建分散式不需要管使用的電腦是什

在阿里雲伺服器上快速搭建JavaWeb環境安裝JDK、Tomcat、MySQL+Intellij IDEA遠端部署除錯tomcat

首先介紹一下我的的伺服器的系統是Ubuntu 16.04 64位 ide用了Intellij IDEA JDK8 Tomcat8 MySQL5.7 一、先下載JDK 8 1、JDK8 # sudo apt-get install openjdk-8

linux環境部署Spark叢集Standalone Mode

1.使用ssh-keygen生成私鑰和公鑰 命令如下: ssh-keygen -t rsa然後一直按回車鍵即可。 例子: [email protected]:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Ente

docker快速部署storm叢集

Storm的部署雖然不是特別麻煩,但是在生產環境中,為了提高部署效率,方便管理維護,使用Docker來統一管理部署是一個不錯的選擇。下面是我開源的一個新的專案,一個配置好了storm與mono環境的Docker映象編排:storm-mono-docker。準備工作使用首先將命

阿里雲ECS伺服器部署HADOOP叢集:Hadoop完全分散式叢集環境搭建

準備: 兩臺配置CentOS 7.3的阿里雲ECS伺服器; hadoop-2.7.3.tar.gz安裝包; jdk-8u77-linux-x64.tar.gz安裝包; hostname及IP的配置: 更改主機名: 由於系統為CentOS 7,可以直接使用‘hostnamectl set-hostname 主機