小型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

随笔完毕.

posted @ 2019-06-05 17:01  巴州夜雨  阅读(1443)  评论(0编辑  收藏  举报