• 不卸载ceph重新获取一个干净的集群环境


    不卸载ceph重新获取一个干净的集群环境

    标签(空格分隔): ceph ceph环境搭建 运维


    部署了一个ceph集群环境,由于种种原因需要回到最开始完全clean的状态,而又不想卸载ceph客户端或者重新搭建虚拟机,此篇博客的目的就是为了解决这一问题。

    我的环境:node1的角色为osd,mon,node2和node3的角色都为osd。每个host的系统为centos7,每个host上部署两个osd。ceph版本为luminous (12.4.1 )。之外有一个host作为专门部署ceph的admin节点,系统同样是centos7。

    1. ceph环境清理!

    在每个ceph节点上执行如下指令,即可将环境清理至刚安装完ceph客户端时的状态!强烈建议在旧集群上搭建之前清理干净环境,否则会发生各种异常情况。

    ps aux|grep ceph |awk '{print $2}'|xargs kill -9
    ps -ef|grep ceph
    

    确保此时所有ceph进程都已经关闭!!!如果没有关闭,多执行几次

    umount /var/lib/ceph/osd/*
    rm -rf /var/lib/ceph/osd/*
    rm -rf /var/lib/ceph/mon/*
    rm -rf /var/lib/ceph/mds/*
    rm -rf /var/lib/ceph/bootstrap-mds/*
    rm -rf /var/lib/ceph/bootstrap-osd/*
    rm -rf /var/lib/ceph/bootstrap-rgw/*
    rm -rf /var/lib/ceph/bootstrap-mgr/*
    rm -rf /var/lib/ceph/tmp/*
    rm -rf /etc/ceph/*
    rm -rf /var/run/ceph/*
    

    同时情况admin节点中my-cluster目录下的所有内容:

    cd /root/my-cluster/
    rm *
    

    虽然这个时候环境已经清理干净,但是ceph却还不能运行,需要执行下面的操作。

    2. 重新启动ceph:

    2.1 在admin节点上执行下面的命令:

    创建my-cluster目录之后,进入该目录下创建集群:

    ceph-deploy new node1
    

    2.2 在每个ceph节点上执行下面的命令:

    如果想要随便更新ceph,并且网速不好,需要从https://download.ceph.com/rpm-luminous/el7/x86_64/下载最新安装包放到/var/cache/yum/x86_64/7/Ceph/packages/文件夹下
    执行下面的命令重新安装ceph:

    sudo yum install ceph epel-release ceph-radosgw
    

    安装完成后,查看ceph版本确定安装成功:

    ceph --version
    

    添加防火墙规则:

    firewall-cmd --zone=public --add-service=ceph-mon --permanent(仅mon节点执行,如不添加就不能在其他节点执行ceph命令)
    firewall-cmd --zone=public --add-service=ceph --permanent
    firewall-cmd --reload
    

    3. 在admin节点执行:

    ceph-deploy install --release luminous node1 node2 node3
    

    4. 在admin节点初始化mon:

    ceph-deploy mon create-initial
    

    5. 赋予各个节点使用命令免用户名权限:

    ceph-deploy admin node1 node2 node3
    

    6. 安装ceph-mgr (仅luminous版本,为使用dashboard做准备):

    ceph-deploy mgr create node1
    

    7. 添加osd:

    ceph-deploy osd createnode1:sdb1 node2:sdb1 node3:sdb1 node1:/dev/sdc1 node2:/dev/sdc1 node3:/dev/sdc1
    

    需要说明的是该sdb是在各个节点上为osd准备的空闲磁盘(无需分区格式化,如果有分区需要指定具体分区),通过如下命令查看:

    ssh node1 lsblk -f 
    

    最后通过如下命令查看集群状态:

    ssh node1 sudo ceph -s
    

    如果显示health_ok,6个osd up就成功了。

    但在环境创建完成后,该命令执行后,虽然集群状态为health_ok,但是却显示0个osd。在ceph节点使用ceph osd tree命令后竟然啥都没有,最后需要在admin部署节点,执行如下命令:

    ceph-deploy osd activate  node1:/dev/sdb1 node2:/dev/sdb1 node3:/dev/sdb1 node1:/dev/sdc1 node2:/dev/sdc1 node3:/dev/sdc1
    

    至此就得到一个干净的ceph环境,这种方法可以彻底清除原来滞留的数据

    结束语

    第一次使用markdown写博客,参考了 高亮显示linux命令, MarkDown写作技巧 简单完成此篇博客书写语法方面的问题。特别感谢徐小胖的 快速部署ceph ,从该作者的一系列的博客学习很多ceph相关的知识,包括疑难问题解决,运维常用知识等。

  • 相关阅读:
    ORACLE 查看进程数,已执行任务数, 剩余任务数,删除指定任务
    ORACLE 收集统计整个用户数据
    解决Hystrix dashboard Turbine 一直 Loading…… 及其他坑
    利用 Maven 构造 Spring Cloud 微服务架构 模块使用 spring Boot构建
    AES加解密
    JAVA POI XSSFWorkbook导出扩展名为xlsx的Excel,附带weblogic 项目导出Excel文件错误的解决方案
    JAVA 文件的上传下载
    shell启停服务脚本模板
    JAVA 设计模式之 原型模式详解
    JAVA 设计模式之 工厂模式详解
  • 原文地址:https://www.cnblogs.com/sisimi/p/7693237.html
Copyright © 2020-2023  润新知