1. 部署构造

虚拟机创立三台服务器,CENTOS版本为7.6, IP网端10.10.20.0/24。三台主机名称为:

  • CENTOS7-1: IP为10.10.20.11, 既做治理节点, 又做子节点。
  • CENTOS7-2: IP为10.10.20.12, 子节点。
  • CENTOS7-2: IP为10.10.20.13, 子节点。

2. 系统配置

系统配置工作, 三台节点顺次执行:

  1. 批改主机名称
    [root@CENTOS7-1 ~]# vi /etc/hostname

    CENTOS7-1
  2. 编辑hosts文件

    10.10.20.11 CENTOS7-110.10.20.12 CENTOS7-210.10.20.13 CENTOS7-3

    留神, 这外面的主机名称要和节点名称保持一致, 否则装置的时候会呈现问题

  3. 批改yum源
    vi /etc/yum.repos.d/ceph.repo, 为防止网速过慢问题, 这里采纳的是清华镜像源:

    [Ceph]name=Ceph packages for $basearchbaseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/enabled=1gpgcheck=1type=rpm-mdgpgkey=https://download.ceph.com/keys/release.asc   [Ceph-noarch]name=Ceph noarch packages# 官网源#baseurl=http://download.ceph.com/rpm-mimic/el7/noarch# 清华源baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/enabled=1gpgcheck=1type=rpm-mdgpgkey=https://download.ceph.com/keys/release.asc   [ceph-source]name=Ceph source packagesbaseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/enabled=1gpgcheck=1type=rpm-mdgpgkey=https://download.ceph.com/keys/release.asc  
  4. 装置ceph与ceph-deploy组件

    yum update && yum -y install ceph ceph-deploy 

    装置实现, 如果执行ceph-deploy呈现ImportError: No module named pkg_resources

    装置python2-pip: yum -y install python2-pip

  5. 装置NTP工夫同步工具

    yum install ntp ntpdate ntp-doc -y

    确保时区是正确, 设置开机启动:

    systemctl enable ntpd

    并将工夫每隔1小时主动校准同步。编辑 vi /etc/rc.d/rc.local 追加:

    /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w

    配置定时工作, 执行crontab -e 退出:

    0 */1 * * * ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w

3. 免明码SSH登陆

  1. 官网倡议不必零碎内置用户, 创立名为ceph_user用户, 明码也设为ceph_user:

    useradd -d /home/ceph_user -m ceph_userpasswd ceph_user
  2. 设置sudo权限

    echo "ceph_user ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph_usersudo chmod 0440 /etc/sudoers.d/ceph_user

    1、2两个步骤顺次在三台机器上执行。

    接下来在主节点, 继续执行:

  3. 生成密钥:

    切换用户: su ceph_user

    执行ssh-keygen,始终按默认提醒点击生成RSA密钥信息。

  4. 散发密钥至各机器节点

    ssh-copy-id ceph_user@CENTOS7-1ssh-copy-id ceph_user@CENTOS7-2ssh-copy-id ceph_user@CENTOS7-3
  5. 批改治理节点上的 ~/.ssh/config 文件, 简化SSH近程连贯时的输出信息:

    治理节点是会有root和ceph_user多个用户, ssh近程连贯默认会以以后用户身份进行登陆,

    如果咱们是root身份进行近程连贯, 还是须要输出明码, 咱们想简化, 该怎么解决?

    切换root身份,

    su root 

    批改~/.ssh/config 文件

    Host CENTOS7-1   Hostname CENTOS7-1   User ceph_userHost CENTOS7-2   Hostname CENTOS7-2   User ceph_userHost CENTOS7-3   Hostname CENTOS7-3   User ceph_user

    留神批改文件权限, 不能采纳777最大权限:

    chmod 600 ~/.ssh/config

    进行ssh近程连贯时, Host的主机名称是辨别大小写的, 所以要留神配置文件的主机名称。

  6. 凋谢端口, 非生产环境, 能够间接禁用防火墙:

    systemctl stop firewalld.servicesystemctl disable firewalld.service
  7. SELINUX设置

    SELinux设为禁用:

    setenforce 0

    永恒失效:
    编辑 vi /etc/selinux/config批改:

    SELINUX=disabled

4. 集群搭建配置

采纳root身份进行装置

  1. 在治理节点创立集群配置目录,cd /usr/local:

    mkdir ceph-clustercd ceph-cluster

    留神: 此目录作为ceph操作命令的基准目录, 会存储解决配置信息。

  2. 创立集群, 蕴含三台机器节点:

    ceph-deploy new CENTOS7-1  CENTOS7-2 CENTOS7-3

    创立胜利后, 会生一个配置文件。

  3. 如果接下来集群的装置配置呈现问题, 能够执行以下命令革除, 再重新安装:

    ceph-deploy purge CENTOS7-1  CENTOS7-2 CENTOS7-3ceph-deploy purgedata CENTOS7-1  CENTOS7-2 CENTOS7-3ceph-deploy forgetkeys

    将三台节点的mon信息也删除

    rm -rf /var/run/ceph/
  4. 批改配置文件, 有些配置前面需用到:

    vi /usr/local/ceph-cluster/ceph.conf

    退出:

    [global]public network = 10.10.20.0/24# 设置pool池默认调配数量osd pool default size = 2# 容忍更多的时钟误差mon clock drift allowed = 2mon clock drift warn backoff = 30# 容许删除poolmon_allow_pool_delete = true[mgr]# 开启WEB仪表盘mgr modules = dashboard

    第一项为正本数, 设为2份。

    第二项为对外IP拜访网段,留神依据理论IP批改网段。

    第三、四项为容许肯定工夫的漂移误差。

  5. 执行装置:

    ceph-deploy install  CENTOS7-1  CENTOS7-2 CENTOS7-3

    如果呈现谬误:

    ceph_deploy][ERROR ] RuntimeError: Failed to execute command: ceph --version

    能够在各节点上独自进行装置:

    yum -y install ceph 

    如果没有仓库文件ceph.repo, 按下面的步骤手工创立。

  6. 初始monitor信息:

    ceph-deploy mon create-initial

    执行实现后, 会生成以下文件:

  7. 同步治理信息:

    下发配置文件和治理信息至各节点:

    ceph-deploy admin  CENTOS7-1  CENTOS7-2 CENTOS7-3
  8. 装置mgr(治理守护过程), 大于12.x版本需装置, 咱们装的是最新版,需执行:

    ceph-deploy mgr create CENTOS7-1  CENTOS7-2 CENTOS7-3
  9. 装置OSD(对象存储设备)

    留神: 新版本的OSD没有prepare与activate命令。

    这里须要新的硬盘作为OSD存储设备, 敞开虚拟机, 减少一块硬盘, 不必格式化。

    重启, fdisk -l 查看新磁盘名称:

    执行创立OSD命令:

    ceph-deploy osd create --data /dev/sdb CENTOS7-1

    三台节点都需别离顺次执行。

  10. 验证节点:
    输出ceph health 或 ceph -s查看, 呈现HEALTH_OK代表失常。

    通过虚拟机启动, 如果呈现谬误:

    [root@CENTOS7-1 ~]# ceph -s  cluster:    id:     0ec99aa9-e97e-43d3-b5b9-90eb21c4abff    health: HEALTH_WARN            1 filesystem is degraded            1 osds down            1 host (1 osds) down            Reduced data availability: 41 pgs inactive            Degraded data redundancy: 134/268 objects degraded (50.000%), 22 pgs degraded, 87 pgs undersized            39 slow ops, oldest one blocked for 2286 sec, daemons [osd.0,mon.CENTOS7-2,mon.CENTOS7-3] have slow ops.            clock skew detected on mon.CENTOS7-2, mon.CENTOS7-3   services:    mon: 3 daemons, quorum CENTOS7-1,CENTOS7-2,CENTOS7-3    mgr: centos7-1(active), standbys: centos7-3, centos7-2    mds: fs_test-1/1/1 up  {0=centos7-1=up:replay}    osd: 3 osds: 1 up, 2 in   data:    pools:   9 pools, 128 pgs    objects: 134  objects, 64 KiB    usage:   1.0 GiB used, 19 GiB / 20 GiB avail    pgs:     32.031% pgs unknown             134/268 objects degraded (50.000%)             65 active+undersized             41 unknown             22 active+undersized+degraded

    在各节点执行命令, 确保工夫同步统一:

    ntpdate ntp1.aliyun.com 

5. 装置治理后盾

  1. 开启dashboard模块

    ceph mgr module enable dashboard
  2. 生成签名

    ceph dashboard create-self-signed-cert
  3. 创立目录

    mkdir mgr-dashboard

    [root@CENTOS7-1 mgr-dashboard]# pwd/usr/local/ceph-cluster/mgr-dashboard
  4. 生成密钥对

    cd  /usr/local/ceph-cluster/mgr-dashboard
    openssl req -new -nodes -x509   -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650   -keyout dashboard.key -out dashboard.crt -extensions v3_ca
    [root@CENTOS7-1 mgr-dashboard]# lltotal 8-rw-rw-r-- 1 ceph_user ceph_user 1155 Jul 14 02:26 dashboard.crt-rw-rw-r-- 1 ceph_user ceph_user 1704 Jul 14 02:26 dashboard.key
  5. 启动dashboard

    ceph mgr module disable dashboardceph mgr module enable dashboard
  6. 设置IP与PORT

    ceph config set mgr mgr/dashboard/server_addr 10.10.20.11ceph config set mgr mgr/dashboard/server_port 18843
  7. 敞开HTTPS

    ceph config set mgr mgr/dashboard/ssl false
  8. 查看服务信息

    [root@CENTOS7-1 mgr-dashboard]# ceph mgr services{    "dashboard": "https://10.10.20.11:8443/"}
  9. 设置治理用户与明码

    ceph dashboard set-login-credentials admin admin
  10. 拜访


    通过后盾拜访能够看到整个集群的运行状态和节点数量等信息,HEALTH_OK代表处于失常。


本文由mirson创作分享,如需进一步交换,请加QQ群:19310171或拜访www.softart.cn