zoukankan      html  css  js  c++  java
  • Ceph-deploy 部署ceph集群

    1       Ceph部署

    1.1   安装前准备

    1.1.1  环境

    系统

    Ip

    角色

    工具说明

    备注

    CentOS 7.6

    数据盘

    vdb  50G

    vdc  20G

    vdd  20G

    Ceph 版本 12.2.12

    10.0.23.133

    10.0.23.136

    主机名 ceph-1

    Ceph-deploy MON  

    RGW 

    MDS 

    OSD Node

    Ceph-deploy 是安装ceph的工具,中小型集群适合使用ceph-deploy部署ceph

    133网段是用于给客户端提供数据网段。

    136网段是ceph集群内部网段,实现数据复制同步不容许客户端访问

    CentOS 7.6

    数据盘

    vdb  50G

    vdc  20G

    vdd  20G

    Ceph 版本 12.2.12

    10.0.23.134

    10.0.23.137

    主机名 ceph-2

    MON  

    RGW 

    MDS 

    OSD Node

    134网段是用于给客户端提供数据网段。

    137网段是ceph集群内部网段,实现数据复制同步不容许客户端访问

    CentOS 7.6

    数据盘

    vdb  50G

    vdc  20G

    vdd  20G

    Ceph 版本 12.2.12

    10.0.23.135

    10.0.23.138

    主机名 ceph-3

    MON  

    RGW 

    MDS 

    OSD Node

    135网段是用于给客户端提供数据网段。

    138网段是ceph集群内部网段,实现数据复制同步,不容许客户端访问

    1.1.2  所有节点运行

    1.1.2.1        配置ecph rpm源

    使用阿里云ceph源:https://mirrors.aliyun.com/ceph/rpm-luminous/el7/

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

    [ceph]

    name=ceph

    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/

    gpgcheck=0

    priority=0

    [ceph-noarch]

    name=cephnoarch

    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/

    gpgcheck=0

    priority=0

    [ceph-source]

    name=Ceph source packages

    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS

    enabled=0

    gpgcheck=1

    type=rpm-md

    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc

    priority=1

    1.1.2.2        配置NTP

    # yum -y install ntpdate ntp

    # ntpdate cn.ntp.org.cn

    #systemctl restart ntpd  &&systemctl enable ntpd

    创建部署用户

    # useradd         cephadmin

    # echo "cephadmin"| passwd --stdin cephadmin

    # echo "cephadmin ALL = (root) NOPASSWD:ALL" |sudo tee /etc/sudoers.d/cephadmin #设置cephadmin用户使用sudo是不需要输入密码

    # chmod 0440 /etc/sudoers.d/cephadmin

    不要使用ceph用户,该用户是进程用户,也不要使用   root 用户,该用户无法使用sudo

    1.1.2.3        配置防火墙,或者关闭

    # firewall-cmd --zone=public   --add-port=6789/tcp        --permanent

    # firewall-cmd --zone=public   --add-port=6800-7100/tcp       --permanent

    # firewall-cmd --reload

    # firewall-cmd --zone=public   --list-all

    或关闭

    # systemctl stop firewalld

    # systemctl disable firewalld

    1.1.2.4        关闭selinux

    #sed -i "/^SELINUX/s/enforcing/disabled/" /etc/selinux/config

    # setenforce    0

    1.1.2.5        配置主机名解析

    使用/etc/hosts 或是dns

    hostnamectl set-hostname ceph-1 && bash

    hostnamectl set-hostname ceph-2 && bash

    hostnamectl set-hostname ceph-3 && bash

    # cat >> /etc/hosts <<EOF

    > 10.0.23.133 ceph-1

    > 10.0.23.134 ceph-2

    > 10.0.23.135 ceph-3

    > EOF

    1.1.2.6      配置sudo不需要tty

    # sed -i "s/Defaultrequiretty/#Defaultrequiretty/" /etc/sudoers

    1.1.3  部署节点执行

    1.1.4  配置    ssh 免密码登陆

    # sudo su - cephadmin

    $ ssh-keygen

    $ ssh-copy-id cephadmin@ceph-1

    $ ssh-copy-id cephadmin@ceph-2

    $ ssh-copy-id cephadmin@ceph-3

    1.2   使用ceph-deploy    部署集群

    1.2.1  安装软件(在10.0.23.133节点即可)

    1.2.1.1        安装ceph-deploy软件

    $ sudo yum install -y ceph-deploy python-pip

    1.2.1.2        安装ceph包(三个节点执行)

    #sudo yum install -y ceph ceph-radosgw                                                       

    //安装      ceph包,替代         ceph-depl oy    install       node1       node2       ,不过下面的命令需要在每台node上安装

    1.2.2  创建集群

    1.2.2.1        安装ceph软件 (在10.0.23.133节点即可)

    $ mkdir my-cluster

    $ cd  my-cluster

    $ ceph-deploy  new ceph-1 ceph-2  ceph-3                                                              //部署节点

    $ ls

    $vim ceph.conf

    [global]

    .....

    public network  = 10.0.23.0/24   //提供客户端的网段

    cluster network = 10.0.23.0/24   // 这个网段为集群内部网段,因没有第二个网段,两个网卡都是一个网段

    ceph-deploy -cluster{cluster-name} new node1 node2 //创建一个自定集群名称的ceph集群,默 认为       ceph

    1.2.3  创建集群(在10.0.23.133节点即可)

    1.2.3.1        集群初始化  

    $ ceph-deploy mon create-initial                                 //配置初始      monitor(s)、并收集所有密钥

    $ ls   -l *.keyring

    $ ceph-deploy admin ceph-1 ceph-2 ceph-3    //把配置信息拷贝到各节点

    $ sudo  chown -R cephadmin:cephadmin /etc/ceph

    $ ceph -s 

     

    1.2.3.2        配置   OSD

    [cephadmin@ceph-1 my-cluster]$ for dev in /dev/vdb /dev/vdc /dev/vdd

    > do

    > ceph-deploy disk zap ceph-1 $dev

    > ceph-deploy osd create ceph-1 --data $dev

    > ceph-deploy disk zap ceph-2 $dev

    > ceph-deploy osd create ceph-2 --data $dev

    > ceph-deploy disk zap ceph-3 $dev

    > ceph-deploy osd create ceph-3 --data $dev

    > done

    如果要在LVM卷上创建OSD,则参数--data  必须是     volume_group/lv_name  ,而不是卷的 块设备的路径

    再次查看集群状态

     

    1.2.3.3        部署mgr,L版本以后才需要部署

    $ceph-deploy  mgr create ceph-1 ceph-2 ceph-3

    1.2.3.4        查看开启的模块

    $ ceph mgr module ls

    1.2.3.5        开启   dashboard    模块,用于UI查看

    $ ceph mgr  module enable dashboard

    1.2.3.6        检查集群状态

    $ceph -s

     

    1.2.3.7        浏览器打开

    http://10.0.23.133:7000 #端口默认是7000

    到此ceph集群安装完成

  • 相关阅读:
    P1603 斯诺登的密码
    C++ 文件操作
    Hibernate Dialect must be explicitly set
    Dijkstra算法详解
    Php 使用 fsockopen发送http请求
    再探java基础——break和continue的用法
    Android源码的下载和编译
    ALV列、行、单元格颜色设置
    数学之路(3)-机器学习(3)-机器学习算法-欧氏距离(2)
    [poj 2926]Requirements[最远曼哈顿距离]
  • 原文地址:https://www.cnblogs.com/houchaoying/p/14440734.html
Copyright © 2011-2022 走看看