小型ceph集群的搭建


    了解ceph

    DFS(distributed file system)分布式存儲系統,指文件系統管理的物理存儲資源,不一定直接連接在本地節點上,而是通過計算機網絡與節點相連,眾多類別中,ceph是當下應用比較廣泛的分布式存儲系統,是典型的客戶端-服務端模式.

    1.ceph具有很多特點,譬如,高擴展(可以無限擴展節點),高可用(提供副本備份),高性能(crush算法,數據分布軍均衡,並行度高)等;

    2.ceph可以提供塊存儲,文件系統存儲,對象存儲;

    3.其基本組件有OSD存儲設備,monitor集群監控組件,RGW對象存儲網關,MDS存放文件系統的元數據,client客戶端.

    關於ceph的更深層次內容,請查看官方幫助文檔:http://docs.ceph.org/start/intro

   下面搭建一個小型ceph集群,來做深入的研究.

    總體思路: 搭建環境 -> 集群搭建 ->驗證

    拓撲圖:

  

一, 環境搭建

    思路: (1)創建4台虛擬機,1台做客戶端,另外3台做存儲集群; 

             (2)配置主機名,IP地址,yum源,掛載ceph光盤;

             (3)配置4台主機的ssh無密碼連接,實現操作同步;

             (4)配置NTP時間同步;  

             (5)為虛擬機添加磁盤,用於后面的集群存儲.

    具體步驟:

    //思路:先在主機node1上操作,再同步內容到其它主機上.

    1)真機上創建掛載點/var/ftp/ceph,並掛載ceph10.iso光盤;

    2)為4台主機設置ssh無密碼連接,包括本機;  

      #ssh-keygen -f /root/.ssh/id_rsa -N ''

      #for i in 10 11 12 13     //同步到其它主機

       do

           scp-copy-ip 192.168.4.$i

      done

   3)使用本機解析IP地址,並同步到4台主機(這里不再另外搭建DNS服務器)

     #vim /etc/hosts

      192.168.4.10 client

      192.168.4.11  node1

      192.168.4.12   node2

      192.168.4.13   node3

     for i in 10 11 12 13     //同步到其它主機

     do

        scp /etc/hosts 192.168.4.$i:/etc/

   4)配置yum源,調用真機掛載點里的ceph工具

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

      [mon]

      name=mon

      baseurl=ftp://192.168.4.254/ceph/MON

      gpgcheck=0

      [osd]

      name=osk

      baseurl=ftp://192.168.4.254/ceph/OSD

      gpgcheck=0

      [tools]

      name=tools

      baseurl=ftp://192.168.4.254/ceph/Tools

     gpgcheck=0

    for i in 10 11 12 13       //同步yum源到其它主機

    do

       scp /etc/yum.repos.d/ceph.repo  192.168.4.$i:/etc/yum.repos.d/

    done

 5)配置所有主機NTP與真機一致

   #vim /etc/chrony.conf

     server 192.168.4.254 iburst

     for i in 10 11 12 13   //同步到其它主機

     do

          scp /etc/chrony.conf  192.168.4.$i:/etc/

     done

 6)真機上運行virt-manager,調出虛擬系統管理器,為每個虛擬主機添加3塊磁盤vdb,vdc,vdd.

二, 集群搭建

  思路: (1)安裝工具ceph-deploy

            (2)創建ceph集群

            (3)准備日志,及磁盤分區

            (4)創建OSD存儲空間

            (5)查看ceph狀態及驗證

 具體步驟:

  (1)安裝工具,並創建目錄

     yum -y install ceph-deploy

     mkdir ceph-cluster

  (2)創建ceph集群

      a. 定義monitor主機到配置文件ceph.conf里

         node1 ceph-cluster]#ceph-deploy new node1 node2 node3

      b. 安裝ceph相關軟件包到所有節點

        node1 ceph-cluster]#for i in node1 node2 node3

        do

            ssh 192.168.4.$i  "yum -y install ceph-mon ceph-osd ceph-mds ceph-radosgw"

        done

      c.初始化所有節點的Monitor服務,即啟動mon服務

        node1 ceph-cluster]# ceph-deploy mon create-initial

 (3)創建OSD存儲

     a.將vdb分區成vdb1和vdb2來作為緩存服務器的journal緩存盤

        node1 ceph-cluster]# for i in node1 node2 node3

        do

          ssh 192.168.4.$i "parted /dev/vdb mklabel gpt"

          ssh 192.168.4.$i "parted /dev/vdb mkpart primary 1 50%"

          ssh 192.168.4.$i "parted /dev/vdb mkpart primary 50% 100%"

        done

     b.磁盤分區為vdb1和vdb2后的默認權限,不能讓ceph軟件對其做讀寫操作,需要修改權限.

       注意,4台主機都要改權限,如下以node1為例:

       node1 ceph-cluster]# chown ceph.ceph  /dev/vdb1     //臨時修改權限

       node1 ceph-cluster]# chown ceph.ceph /dev/vdb2      //臨時修改權限

       永久性地設置權限:

       node1 deph-cluster]# vim /etc/udev/rules.d/70-vdb.rules

       ENV{DEVNAME}=="/dev/vdb1",OWNER="ceph",GROUP="ceph"

       ENV{DEVNAME}=="/dev/vdb2"OWNER="ceph",GROUP="ceph"

       #for i in node1 node2 node3     //同步到所有主機

         do

             scp /etc/udev/rules.d/70-vdb.rules  192.168.4.$i:/etc/udev/rules.d/

        done

      c.初始化磁盤數據,即清空.

         #for i in node1 node2 node3

           do

              ceph-deploy disk zap $i:vdc $i:vdd

           done

       d.創建OSD存儲空間

          #for i in node1 node2 node3

           do

              ceph-deploy osd create $i:vdc:/dev/vdb1 $i:vdd:/dev/vdb2 

             //創建osd存儲設備,vdc提供存儲空間,vdb1提供日志緩存;vdd提供存儲空間,vdb2提供日志緩存.

           done

三, 驗證

      node1~]# ceph -s  //查看狀態,

       //如果失敗,嘗試重啟ceph服務:# systemctl restart ceph\*.server ceph\*.target

隨筆完畢.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM