zoukankan      html  css  js  c++  java
  • CentOS7部署ceph

    CEPH 简介

    不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。 Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。

    • Ceph OSDs: Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息。当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到 active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数)。
    • Monitors: Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。 Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。
    • MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。

    Ceph 把客户端数据保存为存储池内的对象。通过使用 CRUSH 算法, Ceph 可以计算出哪个归置组(PG)应该持有指定的对象(Object),然后进一步计算出哪个 OSD 守护进程持有该归置组。 CRUSH 算法使得 Ceph 存储集群能够动态地伸缩、再均衡和修复。

    环境说明:

    服务器

    节点
    类型
    ip
    CPU
    内存
    硬盘
    ceph-deploy
    管理平台
    192.168.68.50
    2
    4G
    /dev/sdb
    /dev/sdc
    ceph1
    Monitor osd
    192.168.68.51
    2
    4G
    /dev/sdb
    /dev/sdc
    ceph2
    osd
    192.168.68.52
    2
    4G
    /dev/sdb
    /dev/sdc
    ceph3
    osd
    192.168.68.53
    2
    4G
    /dev/sdb
    /dev/sdc

    系统环境

    ceph version: 14.2.22 nautilus
    OS: CentO7.9
    内核:5.4.161

    升级内核可参考: https://www.cnblogs.com/Sunzz/p/15624582.html

    转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/15624370.html

    环境准备

    修改/etc/hosts

    每个服务器都要修改
    192.168.68.50 ceph.local
    192.168.68.51 ceph1.local ceph1
    192.168.68.52 ceph2.local ceph2
    192.168.68.53 ceph3.local ceph3

    新增用户

    各ceph节点新增cephuser用户

    useradd cephuser
    echo "123456" | passwd --stdin cephuser
    echo "cephuser ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephuser

    安装rpm包

    ceph-deploy节点安装所需的包,root用户操作
    yum install ceph-deploy python2-pip.noarch ceph-common -y

    部署节点新增用户

    deploy管理节点新增manager用户

    useradd manager echo "123456" | passwd --stdin manager

    copy密钥

    在ceph-deploy节点上生成并copy密钥,做免密登陆
    su - manager
    ssh-keygen #一顿回车或者根据自己情况选择
    ssh-copy-id cephuser@192.168.68.51
    ssh-copy-id cephuser@192.168.68.52
    ssh-copy-id cephuser@192.168.68.53

    简化ssh配置

    ceph-deply节点的manger用户家目录下,
    修改config后deploy节点所建的用户名登录Ceph节点无需每次指定 --username cephuser ,简化了ssh和scp的用法
    vim /home/manager/.ssh/config
    Host ceph1
       Hostname ceph1
       User cephuser
    Host ceph2
       Hostname ceph2
       User cephuser
    Host ceph3
       Hostname ceph3
       User cephuser 
    chmod 600 .ssh/config

    创建集群

    创建工作目录

    mkdir ceph-cluster
    cd ceph-cluster

    创建集群

    ceph-deploy new ceph1
    或 指定网段,如果有多个网卡,可使用不同的网段
    ceph-deploy new --cluster-network 192.168.68.0/24 --public-network 192.168.68.0/24 ceph1

    安装ceph

    ceph-deploy install ceph1 ceph2 ceph3 --stable --release nautilus --repo-url=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc
    --stable 指名为稳定版
    --release 指定版本 nautilus ,即就是14.2版本
    可指定repo为国内源
    --repo-url=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc

    初始化monitor

    ceph-deploy mon create-initial    #初始monitor、并收集所有密钥

    部署MGR

    部署mgr

    ceph-deploy mgr create ceph1 ceph2 ceph3

    复制key

    ceph-deploy admin ceph1 ceph2 ceph3
    给deploy本身也复制一份,需要用root操作,以方便用deploy管理ceph集群
    cp /home/manager/ceph-cluster/ceph.client.admin.keyring /etc/ceph/ chmod 644 /etc/ceph/ceph.client.admin.keyring

    查看集群状态

    ceph -s 

    WARN解决

    1. Module 'restful' has failed dependency: No module named 'pecan' (这个在centos7上安装13版本不会出现)
    yum install python36-devel
    pip3 install werkzeug pecan
    systemctl restart ceph-mon.target
    systemctl restart ceph-mgr.target
    2. mon is allowing insecure global_id reclaim
    如果有警告,则禁用安全模式
    ceph config set mon auth_allow_insecure_global_id_reclaim false
    3.OSD count 0 < osd_pool_default_size 3
    这个是因为还没有添加osd,等一会添加后就好了

    添加OSD

    列出磁盘

    ceph-deploy disk list ceph1 【ceph2 ceph3】

    添加osd 

    ceph-deploy osd create --data /dev/sdb ceph1
    ceph-deploy osd create --data /dev/sdc ceph1
    ceph-deploy osd create --data /dev/sdb ceph2
    ceph-deploy osd create --data /dev/sdc ceph2
    ceph-deploy osd create --data /dev/sdb ceph3
    ceph-deploy osd create --data /dev/sdc ceph3

    扩展高可用

    ceph-deploy mon add ceph2

    开启dashboard

    提示:默认情况下,dashboard的所有HTTP连接均使用SSL/TLS进行保护。以上内置命令可快速生成并安装自签名证书。
     

    各ceph节点安装dashboard

    yum install ceph-mgr-dashboard.noarch -y

    启用dashboard

    ceph mgr module enable dashboard
    ceph dashboard create-self-signed-cert
    echo admin > pass.txt  #设置管理员密码
    ceph dashboard ac
    -user-create admin -i pass.txt #创建管理员

    或者 ceph dashboard set-login-credentials admin -i pass.txt ceph mgr services #确认验证

    或者关闭ssl

    ceph mgr module enable dashboard
    ceph config set mgr mgr/dashboard/ssl false
    echo admin > pass.txt  #创建管理员
    ceph dashboard set-login-credentials admin -i pass.txt

     阿里云镜像源

    aliyun-base.repo

    [base]
    name=CentOS-$releasever - Base - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
            http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
            http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
     
    #released updates 
    [updates]
    name=CentOS-$releasever - Updates - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
            http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
            http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
     
    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
            http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
            http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
    base.repo

    阿里云epel源

    aliyun-epel.repo
    [epel]
    name=Extra Packages for Enterprise Linux 7 - $basearch
    baseurl=http://mirrors.aliyun.com/epel/7/$basearch
    failovermethod=priority
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    eple.repo

    阿里云ceph源

    [ceph-noarch]
    name=Ceph noarch packages
    baseurl=https://mirrors.aliyun.com/ceph/rpm-15.2.9/el7/noarch/
    #baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    ceph.repo

    总结

    octopus ,即就是15.2版本,在centos7上问题比较多,dashboard没法使用。
    yum install ceph-mgr-dashboard
     

     缺的这三个报在centos8上有,centos7上没有。

  • 相关阅读:
    11111 Generalized Matrioshkas
    Uva 442 Matrix Chain Multiplication
    Uva 10815 Andy's First Dictionary
    Uva 537 Artificial Intelligence?
    Uva 340 MasterMind Hints
    SCAU 9508 诸葛给我牌(水泥题)
    Uva 10420 List of Conquests(排序水题)
    Uva 409 Excuses, Excuses!
    10/26
    11/2
  • 原文地址:https://www.cnblogs.com/Sunzz/p/15624370.html
Copyright © 2011-2022 走看看