CEPH

1.组成部分

1.1 monitor

admin节点安装ceph-deploy工具

  • admin节点安装ceph-deploy

    • 添加源信息
    rm -f /etc/yum.repos.d/*
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    sed -i '/aliyuncs.com/d' /etc/yum.repos.d/*.repo
    echo '#阿里ceph源
    [ceph]
    name=ceph
    baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
    gpgcheck=0
    [ceph-noarch]
    name=cephnoarch
    baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
    gpgcheck=0
    [ceph-source]
    name=ceph-source
    baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
    gpgcheck=0
    #'>/etc/yum.repos.d/ceph.repo
    yum clean all && yum makecache
    yum install deltarpm
    • 把软件包源加入软件仓库。用文本编辑器创建一个 YUM (Yellowdog Updater, Modified) 库文件,其路径为 /etc/yum.repos.d/ceph.repo 。例如:
    sudo vim /etc/yum.repos.d/ceph.repo
    
    
    • 添加ceph源
        name=Ceph noarch packages
    # 根据当前系统的发行版来:http://download.ceph.com/
    baseurl=http://download.ceph.com//rpm-nautilus/el7/noarch/
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://download.ceph.com/keys/release.asc
    • 安装ceph-deploy
     sudo yum update && sudo yum install ceph-deploy
  • 所有节点安装NTP(network time portocal)、openssh

# yum 安装 ntp
sudo yum install ntp ntpdate ntp-doc # 校对系统时钟
ntpdate 0.cn.pool.ntp.org
  • 安装ssh服务
   sudo yum install openssh-server

后续操作:安装ceph-deploy的节点需要ssh到各个节点远程完成ceph的安装配置工作,

1.2 创建ceph部署用户
  • 添加部署用户
   sudo useradd -d /home/cephd -m cephd
  • 设置密码
   sudo passwd cephd
# moon2017
  • 赋予root权限
   echo "cephd ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephd

   sudo chmod 0440 /etc/sudoers.d/cephd
cat ~/.ssh/config
Host node1
Hostname node1
User cephd
Host node2
Hostname node2
User cephd
  • 开放所需端口

    放所需端口设置,Ceph Monitors 之间默认使用 6789 端口通信, OSD 之间默认用 6800:7300 这个范围内的端口通信,所以我们需要调整防火墙设置,开放所需端口,允许相应的入站请求。
    # 防火墙设置
sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent # 当然我们也可以关闭防火墙
sudo systemctl stop firewalld.service #停止 firewall
sudo systemctl disable firewalld.service #禁止 firewall 开机启动
部署集群

cephd账号下的ceph-cluster目录下运行

ceph-deploy
ImportError: No module named pkg_resources
安装yum install python-setuptools

Delta RPMs disabled because /usr/bin/applydeltarpm not installed.

yum provides '*/applydeltarpm'
yum install deltarpm -y

unable to find a keyring on /etc/ceph/ceph.client.admin.keyring

  • 清理配置
 # 清理 Ceph 安装包
ceph-deploy purge admin node1 node2
# 清理配置
ceph-deploy purgedata admin node1 node2
ceph-deploy forgetkeys rm -rf ./*
  • 通过ceph-deploy创建admin,node信息
  ceph-deploy new admin
  • 修改ceph集群副本数

Vim ceph.conf

osd pool default size = 2  #增加默认副本数为 2

这里需要注意的是hostname,需要和命令参数名称一致。 修改机器hostname方法:

1.修改 /etc/hostname

2.通过hostnamectl 命令查看。如果不一样,需要使用 hostnamectl set-hostname 自定义名称

如果不这样设置的话,在创建monitor这一步的时候,会读取 /var/run/ceph下的文件,文件的命名应该是根据系统的hostname来创建的,如hostname不一致,就会报错。

  • 创建集群,节点
  ceph-deploy install admin node1 node2
  • 创建monitor
  ceph-deploy mon create-initial
# ceph-deploy --overwrite-conf mon create-initial
  • 安装mgr
ceph-deploy mgr create node1 node2
  • 分发配置文件
  ceph-deploy admin node1 node2

将配置文件改为可读的权限:

 sudo chmod +r /etc/ceph/ceph.client.admin.keyring
  • 增加、删除OSD

    • 查看节点磁盘信息
        ceph-deploy disk list node1

    得到结果

    • 准备OSD(过期)

    官网上介绍的是依次执行:准备(prepare)激活(active)。最后是创建(create)。但是最新的版本里面 ceph-deploy osd 命令只支持list,create命令,所以就直接执行 create命令。执行create命令会依次执行prepare、active命令

    # 格式
    ceph-deploy osd prepare {node-name}:{data-disk}[:{journal-disk}]
    # 自己创建的目录
    ceph-deploy osd prepare node1: /var/local/osd1
    • 创建osd

    创建osd需要有独立的磁盘。在虚拟机中,只有sda盘,并且是系统盘,需要分区出来得到一块新的磁盘信息。

    1. 查看磁盘信息

      sudo fdisk -l



      通过命令可以知道,*虚拟机只有sda一个磁盘,因此需要在sda上面进行分区,不能直接在sda上面直接创建osd。

    2. 分区操作

         fdisk /dev/sda

      输入n一直回车,最后一定要输入w保存

      想要马上生效,需要输入partprobe通知内核重新读取分区表信息

      这样,新的分区就建好了。需要在所有节点上执行上述创建分区操作。

    3. 创建osd

    ```bash
    ceph-deploy osd create --data /dev/sda3 node1
    ```

    结果

    • 同步配置信息
    ceph-deploy admin admin node1 node2

    将配置文件和admin密钥同步到各个节点,以便在各个node上使用ceph命令,无需指定montior地址和ceph.client.admin.keyring密钥

    确保你对 ceph.client.admin.keyring 有正确的操作权限

    在所有的节点中修改该文件的操作权限。

    sudo chmod +r /etc/ceph/ceph.client.admin.keyring
    
    

    使用w命令,保存分区信息并退出

    11.ls /dev/sdb*,可以看到分区已经建立,如果分区信息未被创建,使用partprobe通知内核重新读取分区表信息。

  • 创建成功

开启dashboard
  • 查看active的mgr
ceph -s



由上图可知,当前活跃的mgr是node2节点,需要在node2节点上做操作,否则不成功

  • 开启监控
ceph mgr module enable dashboard
  • 生成并安装一个 自签名证书
ceph dashboard create-self-signed-cert
  • 生成密钥,生成两个文件----dashboard.crt dashboard.key (在当前登陆的账号路径下面:/home/cephd/)
mkdir mgr-dashboard

cd 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

  • 配置服务地址、端口,默认的端口是8443
ceph config set mgr mgr/dashboard/server_addr 192.168.242.92
[root@node1 mgr-dashboard]# ceph config set mgr mgr/dashboard/server_port 8443
[root@node1 mgr-dashboard]# ceph mgr services
{
"dashboard": "https://node2:8443/"
}
  • 创建一个用户、密码
ceph dashboard set-login-credentials admin admin123
  • 登陆成功后

  • 查看过滤运行的进程
sudo systemctl list-units|grep mgr

ceph集群搭建的更多相关文章

  1. Ceph集群搭建及Kubernetes上实现动态存储(StorageClass)

    集群准备 ceph集群配置说明   节点名称 IP地址 配置 作用 ceph-moni-0 10.10.3.150 centos7.5 4C,16G,200Disk 管理节点,监视器 monitor ...

  2. Ceph 集群搭建

    1.Ceph部署 1.1 Ceph 安装前准备,环境与拓扑图如下: 主机名 外网IP 内网IP 安装组件 磁盘块 c720181 172.22.69.84 192.168.20.181 ceph-de ...

  3. CEPH集群搭建(CentOS 7)

    以包含四个节点的集群为例,其中包括一个 ceph-deploy 管理节点和一个三节点的Ceph存储集群. 下图中每个节点代表一台机器. 创建一个 Ceph 存储集群,它有一个 Monitor 和两个 ...

  4. Ceph集群搭建记录

    环境准备 基础环境 node00 192.168.247.144 node00 node01 192.168.247.135 node01 node02 192.168.247.143 node02 ...

  5. docker创建ceph集群

    背景 Ceph官方现在提供两类镜像来创建集群,一种是常规的,每一种Ceph组件是单独的一个镜像,如ceph/daemon.ceph/radosgw.ceph/mon.ceph/osd等:另外一种是最新 ...

  6. ceph-deploy离线部署ceph集群及报错解决FAQ

    ceph-deploy部署ceph集群 环境介绍 主机名 ip地址 操作系统 角色 备注 ceph-node1 10.153.204.13 Centos7.6 mon.osd.mds.mgr.rgw. ...

  7. Ceph部署(一)集群搭建

    背景 Ceph简介 Ceph是一个分布式存储,可以提供对象存储.块存储和文件存储,其中对象存储和块存储可以很好地和各大云平台集成.一个Ceph集群中有Monitor节点.MDS节点(可选,用于文件存储 ...

  8. Ceph 存储集群 - 搭建存储集群

    目录 一.准备机器 二.ceph节点安装 三.搭建集群 四.扩展集群(扩容)   一.准备机器 本文描述如何在 CentOS 7 下搭建 Ceph 存储集群(STORAGE CLUSTER). 一共4 ...

  9. 小型ceph集群的搭建

    了解ceph DFS(distributed file system)分布式存储系统,指文件系统管理的物理存储资源,不一定直接连接在本地节点上,而是通过计算机网络与节点相连,众多类别中,ceph是当下 ...

随机推荐

  1. thinkphp 找数据库某个字段为空的数据,PHP 数据调取 空数据

    $arr['dingwei'] = array('EXP','is null');

  2. Linux jdk 环境变量配置

    备忘,引用自:http://blog.csdn.net/lzwglory/article/details/54233248 1. 永久修改,对所有用户有效  # vi /etc/profile //按 ...

  3. dattime和timestamp的异同

    相同点: 1)都可以用来表示YYYY-MM-DD HH:MM:SS[.FRACTION]的时间; 不同点: 1)两者的存储方式不一样 a)timestamp他把客户端插入的时间从当前时区转化为UTC( ...

  4. linux系统安装cdcfordb2udb

    最近接触到db2数据库实时复制的解决方案InfoSphere CDC(Change Database Capture) .主要是通过读取源端的日志信息对目标端进行数据的增删改,从而尽量减少对源端资源的 ...

  5. [usaco18Feb] New Barns

    题意 每次新建一个节点,并与一个已知节点连边.(或者不连).多次询问以某个已知点点出发的最远路径长度. 分析 显然,在任何时候图都是一个森林.由树的直径算法可知,与某点最远距的点必然是树的直径的一段. ...

  6. MySQL忘记密码后找回密码

    停止mysql服务 在mysql配置文件里[mysqld]下添加skip-grant-tables 3.重启服务,进入mysql 4.修改密码: MariaDB [mysql]> update ...

  7. 『字符串模式匹配 KMP』

    字符串模式匹配 我们要先了解一下问题是什么. 模式匹配是数据结构中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串,这就是模式匹配. KMP 然后我们来认识一下今天的主 ...

  8. npm 包的 发布 流程

    npm 包的发布流程 本文主要是针对 还未曾发布过自己的 npm 的同学,阐述一下 npm 的发布流程 熟悉的同学,可以绕道了. 首先你得有一个 自己的 npmjs.com 的账号 (没有的话,就到 ...

  9. [MySQL]支持 emoji(字符集问题)

    问题的根源 主要问题就是在字符集,一般解决这种问题都是靠试验.我实验了一通,得出的结论和大家分享一下(如有错误,还望指正): 数据库的字符集 数据库连接的字符集 配置方法 设置数据库的字符集为utf8 ...

  10. 前端笔记之HTML5&CSS3(中)选择器&伪类伪元素&CSS3效果&渐变背景&过渡

    一.CSS3选择器 CSS3是CSS的第三代版本,新增了很多功能,例如:强大的选择器.盒模型.圆角.渐变.动画.2D/3D转换.文字特效等. CSS3和HTML5没有任何关系!HTML5骨架中,可以用 ...