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

    随笔完毕.

  • 相关阅读:
    卖菜起家赚到100万,他怎样做到的?
    百万网站创始人,痴迷网络经营,成就创业梦想
    徐小平靠投资进行创业,他却格外与众不同
    金融专业学生收卖废品,做起了“破烂王”
    pod setup命令失败解决方法
    pod setup命令失败解决方法
    pod setup命令失败解决方法
    pod setup命令失败解决方法
    PHP的闭包和匿名函数
    PHP的闭包和匿名函数
  • 原文地址:https://www.cnblogs.com/liusingbon/p/10980625.html
Copyright © 2020-2023  润新知