环境准备

1.三台服务器

  • cephnode01 192.168.254.83

  • cephnode02 192.168.254.84

  • cephnode03 192.168.254.85

2.基本环境配置

  • 设置主机名

#192.168.254.83 hostnamectl set-hostname cephnode01 #192.168.254.84 hostnamectl set-hostname cephnode02 #192.168.254.85 hostnamectl set-hostname cephnode03
  • 添加hosts绑定

      在每个服务器上添加host绑定,确保可以通过域名进行访问

192.168.254.83 cephnode01 192.168.254.84 cephnode02 192.168.254.85 cephnode03
  • 关闭防火墙

systemctl stop firewalld.service systemctl disable firewalld.service
  • 禁用selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0
  • 时间更新同步

yum install ntpdate -y ntpdate asia.pool.ntp.org
  • 做免密钥认证

在管理节点上生成密钥,并复制到其他节点

安装ceph

  • 安装ceph管理工具ceph-deploy

yum install -y ceph-deploy
  • 创建工作目录

mkdir /ceph ; cd /ceph
  • 安装ceph客户端

在每台主机上安装ceph yum install -y ceph 或者 在管理节点上之行 ceph-deploy install cephnode01 cephnode02 cephnode03
  • 在管理主机上操作

启动一个新的ceph集群,并设置初始监控节点 ceph-deploy new cephnode01 cephnode02 cephnode03 建议是奇数 激活监控节点 ceph-deploy mon create-initial 磁盘操作 ceph-deploy disk zap cephnode01:/dev/sdb1 cephnode02:/dev/sdb1 cephnode03:/dev/sdb1 #擦出盘所有数据 ceph-deploy osd prepare cephnode01:/dev/sdb1 cephnode02:/dev/sdb1 cephnode03:/dev/sdb1 #格式化盘 ceph-deploy osd activate cephnode01:/dev/sdb1 cephnode02:/dev/sdb1 cephnode03:/dev/sdb1 #激活盘 也可以使用create完成,但是有bug ceph-deploy osd create node4:sdb node2:sdb node4:sdc node2:sdc node3:sdb node3:sdc 确认集群状态,显示OK则正常 ceph -s
  • 创建相关的池

ceph osd pool create image 64 ceph建好后默认有个rbd池,可以考虑删除 ceph osd pool delete rbd rbd --yes-i-really-really-mean-it 创建一个镜像,-p参数指定池的名称,-size单位为M rbd create test --size 1024 -p image

如果安装中途有什么问题,可以推到重来


ceph-deploy purge 节点1 节点2 .... ceph-deploy purgedata 节点1 节点2 .... ceph-deploy forgetkeys

参考:http://docs.ceph.org.cn/

其他命令

rados lspools 查看池子

ceph -s 或 ceph status 查看集群状态

ceph -w 观察集群健康状态

ceph quorum_status --format json-pretty 检查ceph monitor仲裁状态

ceph df 检查集群使用情况

ceph mon stat 检查monitor状态

ceph osd stat 检查osd状态

ceph pg stat 检查pg配置组状态

ceph pg dump 列出PG

ceph osd lspools 列出存储池

ceph osd tree 检查osd的crush map

ceph auth list 列出集群的认证密钥

ceph 获取每个osd上pg的数量


ceph pg dump | awk ' /^pg_stat/ { col=1; while($col!="up") {col++}; col++ } /^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0; up=$col; i=0; RSTART=0; RLENGTH=0; delete osds; while(match(up,/[0-9]+/)>0) { osds[++i]=substr(up,RSTART,RLENGTH); up = substr(up, RSTART+RLENGTH) } for(i in osds) {array[osds[i],pool]++; osdlist[osds[i]];} } END { printf("\n"); printf("pool :\t"); for (i in poollist) printf("%s\t",i); printf("| SUM \n"); for (i in poollist) printf("--------"); printf("----------------\n"); for (i in osdlist) { printf("osd.%i\t", i); sum=0; for (j in poollist) { printf("%i\t", array[i,j]); sum+=array[i,j]; poollist[j]+=array[i,j] }; printf("| %i\n",sum) } for (i in poollist) printf("--------"); printf("----------------\n"); printf("SUM :\t"); for (i in poollist) printf("%s\t",poollist[i]); printf("|\n"); }'

启动osd服务:

/usr/bin/systemctl start ceph-osd@0

ceph 存储安装部署的更多相关文章

  1. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  2. ceph存储安装配置

    1.修改yum源: 1.安装yum源:sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://dl.fedor ...

  3. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  4. 002.Ceph安装部署

    一 前期准备 1.1 配置规格 节点 类型 IP CPU 内存 ceph-deploy 部署管理平台 172.24.8.71 2 C 4 G node1 Monitor OSD 172.24.8.72 ...

  5. ceph mimic版本 部署安装

    ceph 寻址过程 1. file --- object映射, 把file分割成N个相同的对象 2. object - PG 映射, 利用静态hash得到objectID的伪随机值,在 "位 ...

  6. 部署ceph存储集群及块设备测试

    集群环境 配置基础环境 添加ceph.repo wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishang ...

  7. ceph学习笔记之十二 Ubuntu安装部署Ceph J版本

    https://cloud.tencent.com/info/2b70340c72d893c30f5e124e89c346cd.html 安装Ubuntu系统安装步骤略过 拓扑连接: 一.安装前准备工 ...

  8. 淘宝分布式 key/value 存储引擎Tair安装部署过程及Javaclient測试一例

    文件夹 1. 简单介绍 2. 安装步骤及问题小记 3. 部署配置 4. Javaclient測试 5. 參考资料 声明 1. 以下的安装部署基于Linux系统环境:centos 6(64位),其他Li ...

  9. hive的本地安装部署,元数据存储到mysql中

    要想使用Hive先要有hadoop集群的支持,使用本地把元数据存储在mysql中. mysql要可以远程连接: 可以设置user表,把localhost改为%,所有可连接.记住删除root其他用户,不 ...

随机推荐

  1. Linux下Kill函数用法

    http://www.cnblogs.com/winnxm/archive/2010/01/22/1654502.html 用于向任何进程组或进程发送信号. #include <sys/type ...

  2. 利用AbstractRoutingDataSource实现动态数据源切换

    需求:系统中要实现切换数据库(业务数据库和his数据库) 网上很多资料上有提到AbstractRoutingDataSource,大致是这么说的 在Spring 2.0.1中引入了AbstractRo ...

  3. 数据库——SQL中EXISTS怎么用2(转)

    数据库sql语句的exists总结 sql exists in 学习 先来比较下语法: --deals=交易表,areas=地域表,例如香港:我们的目的:查看有交易的地域 select * from ...

  4. sendmsg/recvmsg和struct msghdr

    函数原型 #include <sys/types.h> #include <sys/socket.h> ssize_t sendmsg(int sockfd, const st ...

  5. main函数位置

    c语言中main函数的位置可以任意位置.在执行一个c语言编写的程序时,main函数就相当于是执行程序的入口.只要是没有语法和逻辑上的错误,main函数可以放在任意位置.

  6. 有了malloc/free 为什么还要new/delete ?

    有了malloc/free 为什么还要new/delete ? malloc 与 free 是 C++/C 语言的标准库函数,new/delete 是 C++的运算符.它们都可 用于申请动态内存和释放 ...

  7. linux -- #!/bin/bash

    #!/bin/bash是指此脚本使用/bin/bash来解释执行. 其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径. bash只是shell的一种,还有很多其它shell,如:sh ...

  8. 让Android 变身回一台真正的Linux系统吧!!!

    在Android上开发也有两年的时间了,虽然一直都知道Android是构建在Linux Kernel上的手机操作系统,但在此之前一直没有实感. 直到第一次买了Android的手机,并请人帮我Root后 ...

  9. FusionMap 检测融合基因

    定义:融合基因是指两个或者多个基因联合起来,一起转录形成一个转录本: 检测的意义:融合基因可以作为某些疾病的特异分子标记,比如 bcr/abl融合基因存在于95%以上的慢性粒细胞白血病患者中: AML ...

  10. 【Java面试题】11 什么是内部类?Static Nested Class 和 Inner Class的不同。

    Inner Class(内部类)定义在类中的类. (一般是JAVA的说法) Nested Class(嵌套类)是静态(static)内部类.(一般是C++的说法)静态内部类:1 创建一个static内 ...