zoukankan      html  css  js  c++  java
  • centos 7 下 Ceph 配置安装

    一、环境介绍

      系统:

        CentOS Linux release 7.3.1611 (Core)

      硬盘:

        系统盘:300GB*2-raid 1                

        OSD:600GB*4-raid 5      ceph 数据副本 两份

      网络:

        public_network:10.6.32.0/24

        cluster_network:10.6.33.0/24  (双网卡绑定,osd 内部数据同步使用)

      防火前关闭:

        # systemctl stop firewalld.service 

        # systemctl disable firewalld.service 

      Selinux 关闭:

        # vim /etc/selinux/config

          SELINUX=disabled  (设置此选项为disabled)

      设备规划:

        5台    主机名:ceph1、ceph2……ceph5

        修改主机名:

          # vim /etc/hostname

            ceph1    (修改localhost..... 为主机名 ceph1 到ceph5)

        修改hosts:

          # vim /etc/hosts

            

        功能节点规划:

          ceph1:ceph-deploy 、mon 、 mgr 、 osd,Ntp-server

          ceph2 、ceph3 :mon 、 mgr 、 osd

          ceph4 、ceph5:osd

          

        添加 ssh 信任,以便于ceph-deploy 快速部署

           生成key:

            # ssh-keygen  (保持默认即可)

            # ssh-copy-id root@ceph{2,3,4,5}   (下发证书到 其他4台设备)

     二、部署 ceph-deploy 节点

      配置时间服务器

        使用chrony 时间服务器,时间同步可以达到 nm级别。 

        ceph1:

          # vim /etc/chrony.conf

            

           #添加同于同步时间的IP段

          # systemctl restart chronyd.service

          # chronyc sources

         other ceph:

          # vim /etc/chrony.conf

          

          #设置时间服务器 ceph1 IP。

          # systemctl restart chronyd.service

          # chronyc sources

          

      添加ceph 源:

        # yum -y install epel-release

        # rpm --import http://mirrors.163.com/ceph/keys/release.asc

        # rpm -Uvh --replacepkgs http://mirrors.163.com/ceph/rpm-luminous/el7/noarch/ceph-release-1-1.el7.noarch.rpm

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

           

      同步yum 源到其他设备

        # for i in 21 22 23 24;do scp /etc/yum.repos.d/ceph.repo  root@"10.6.32.$i":/etc/yum.repos.d/ceph.repo;done    (后期再其他节点安装ceph 使用)

      更新源和安装 ceph-deploy  

        # yum update

        # yum install ceph-deploy

    三、安装ceph ,创建集群

      创建文件夹:

        ceph-deploy 节点创建文件夹,用于存放集群文件。

          # mkdir /root/my-ceph

      生成集群文件

        # cd /root/my-ceph

        # ceph-deploy new ceph1     (会生成集群文件)

           

      编辑集群文件:ceph.conf

        # vim ceph.conf 

           

        添加一下配置:[osd.x] 配置 和 [mon] 配置可以再安装好ceph 和 mon 后再进行配置。     

    osd_pool_default_size = 2
    osd_pool_default_min_size = 1
    public_network = 10.6.32.0/24
    cluster_network = 10.6.33.0.0/24
    
    
    [osd.0]
    cluster addr = 10.6.33.20
    osd heartbeat address = 10.6.33.20
    [osd.1]
    cluster addr = 10.6.33.21
    osd heartbeat address = 10.6.33.21
    [osd.2]
    cluster addr = 10.6.33.22
    osd heartbeat address = 10.6.33.22
    [osd.3]
    cluster addr = 10.6.33.23
    osd heartbeat address = 10.6.33.23
    [osd.4]
    cluster addr = 10.6.33.24
    osd heartbeat address = 10.6.33.24
    
    [mon]
    mon allow pool delete = true
    

      解释:

              osd_pool_default_size 设置  数据副本数量

              osd_pool_default_min_size  数据最小副本数  

              public_network    公共网络,用于mds,mon 等功能以及外部访问使用。

              cluster_network    集群网络,用于内部osd 数据同步,恢复等。

              cluster addr   每个osd 节点上定义 集群网络,多网卡下不定义,osd 可能无法启动

              osd heartbeat address   定义osd 心跳地址

              mon allow pool delete  定义是否允许在监控节点上删除 pool。

       安装ceph 

        #  ceph-deploy install --release luminous ceph{1,2,3,4,5}      #但是这种方法很多时候由于 ceph-deploy 工具原因,不容易安装成功。并且还会修改 ceph 源配置文件。建议使用一下方法手动在每个节点安装。

        手动在每个节点安装

          # yum -y install epel-release            添加ceph 源

          # 上述已同步 ceph 源,此处可以不做操作。 ( for i in 21 22 23 24;do scp /etc/yum.repos.d/ceph.repo  root@"10.6.32.$i":/etc/yum.repos.d/ceph.repo;done  

          # yum -y install ceph ceph-radosgw

      安装 mon  (ceph-deploy上操作)

        # cd /root/my-ceph

        # ceph-deploy mon create-initial

         Ceph 存储集群需要至少一个 Monitor 才能运行。为达到高可用,典型的 Ceph 存储集群会运行多个Monitors,这样在单个 Monitor 失败时不会影响 Ceph 存储集群的可用性。集群中的 monitor数目 应该是奇数,最低要求有一个monitor节点,推荐有3个节点。

         添加 ceph2 和ceph3 到 监控器集群

          # ceph-deploy mon add ceph{2,3}      #新增 Monitor 后,Ceph 会自动开始同步并形成法定人数。

          # ceph quorum_status --format json-pretty       检查法定人数状态

            

          # ceph-deploy mon destroy ceph4  从集群中删除  主机名为 ceph4 的 ceph mon 节点      

          #  ceph -s   查看当前集群状态,在没有添加 osd 之前,正常应该为 HEALTH_OK 状态。

            

          # ceph mon stat     查看mon 集群状态

      同步集群文件

        集群文件同步后,在执行 ceph 命令是就无需指定 monitor 地址和ceph.client.admin.keyring 了

        # ceph-deploy admin ceph{1,2,3,4,5}    #第一次执行使用,以后同步文件是需要使用如下:

          #ceph-deploy  --overwrite-conf  admin ceph{1,2,3,4,5}    采用覆盖式同步。

        # chmod +r /etc/ceph/ceph.client.admin.keyring       如果使用非root 账号管理 ceph 集群时,需要添加此权限。

      添加 osd

        查看节点上的可用磁盘

          # ceph-deploy disk list ceph{1,2,3,4,5}

        格式化可用磁盘

          # ceph-deploy disk zap ceph1:sdb ceph2:sdb ceph3:sdb ceph4:sdb ceph5:sdb     # sdb 路径为上一步操作看到的真实路径。

        准备osd

          # ceph-deploy osd prepare ceph1:sdb ceph2:sdb ceph3:sdb ceph4:sdb ceph5:sdb         (在此处应该可以指定日志盘位置,不指定时,默认数据和日志存放在同一个盘下。)

        激活osd

          # ceph-deploy osd activate ceph1:sdb1 ceph2:sdb1 ceph3:sdb1 ceph4:sdb1 ceph5:sdb1     (也可以用 create 命令一次完成准备 OSD 、部署到 OSD 节点、并激活它。 create 命令是依次执行 prepare 和 activate 命令的捷径。

    # ceph-deploy osd create ceph1:sdb ceph2:sdb ceph3:sdb ceph4:sdb ceph5:sdb)

      查看 集群状态

        # ceph osd tree        

          

          提醒:在此前没有配置 /root/ceph.conf 文件中的 [osd.x] 的配置的,此时可能看到 osd 状态都为down,需要添加 配置,并且使用ceph-deploy  --overwrite-conf  admin ceph{1,2,3,4,5}  同步集群配置。

     

     OK。到此处。ceph 集群配置完成。

     

     

     

     

    IT运维开发路上的点点滴滴。。。
  • 相关阅读:
    java.lang.NoClassDefFoundError: sun/swing/plaf/synth/SynthIcon
    微信数据库解密--代码报错:未定义标识符 HMAC_CTX_init
    Windows家庭版组策略编辑
    Visual Studio x64 使用 .asm 文件
    某数据库管理软件离线注册分析
    EV剪辑分析
    ciscn_lonelywolf
    arm-pwn
    libc-2.32.so在orw上与其他版本的区别
    更新libc
  • 原文地址:https://www.cnblogs.com/weijie0717/p/8378485.html
Copyright © 2011-2022 走看看