1.Ceph部署

1.1 Ceph 安装前准备,环境与拓扑图如下:

主机名

外网IP

内网IP

安装组件

磁盘块

c720181

172.22.69.84

192.168.20.181

ceph-deploy

osd

sdb

c720182

172.22.69.85

192.168.20.182

mon

osd

sdb

c720183

172.22.69.86

192.168.20.183

mon

osd

sdb

c720184

172.22.69.95

192.168.20.184

cli

============每台主机都需要配置============

配置主机名,IP地址(略)

关闭防护墙和selinux(略)

配置主机名解析,使用/etc/hosts

cat >>/etc/hosts>>EOF

192.168.20.181 c720181

192.168.20.182 c720182

192.168.20.183 c720183

192.168.20.184 c720184

1.2 部署安装

安装方式如下:

官网安装方式:https://docs.ceph.com/docs/master/start/

Ansilbe安装方式:https://docs.ceph.com/ceph-ansible/master/

使用官方推荐的ceph-deploy部署集群:

============每台主机都需要配置============

配置环境变量:

export username="ceph-admin"

export passwd="ceph-admin"

export node1="c720181"

export node2="c720182"

export node3="c720183"

export node4="c720184"

export node1_ip="192.168.20.181"

export node2_ip="192.168.20.182"

export node3_ip="192.168.20.183"

export node4_ip="192.168.20.184"

配置rpm

wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo

或者直接在/etc/yum/repos.d/目录下,创建ceph.repo,添加内容如下:

[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
priority=1

[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0
priority=1

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
enabled=0
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

 

配置NTP

yum -y install ntpdate ntp

ntpdate cn.ntp.org.cn

systemctl restart ntpd ntpdate &&
systemctl enable ntpd ntpdate

创建部署用户和ssh免密码登陆

useradd ${username}

echo "${passwd}" | passwd --stdin
${username}

echo "${username} ALL = (root)
NOPASSWD:ALL" | sudo tee /etc/sudoers.d/${username}

chmod 0440 /etc/sudoers.d/${username}

配置sudo 不需要tty

sed -i 's/Default requiretty/#Default requiretty/' /etc/sudoers

============只在管理节点192.168.20.181上配置============

su - ceph-admin

export username=ceph-admin

ssh-keygen

ssh-copy-id ${username}@c720181

ssh-copy-id ${username}@c720182

ssh-copy-id ${username}@c720183

ssh-copy-id ${username}@c720184

1.2.1 安装 ceph-deploy

su - ceph-admin

sudo yum install -y ceph-deploy python-pip

如果提示没有python-pip安装包,则切换到root用户安装epel-release,然后再尝试安装python-pip

1.2.2 部署节点

su - ceph-admin

mkdir my-cluster

cd my-cluster

ceph-deploy new c720181 c720182 c720183

编辑ceph.conf配置文件

cat ceph.conf

[global]

……

public network = 172.22.69.0/24

cluster network = 192.168.20.0/24

============每台主机都需要配置============

安装ceph包,替代再管理端使用ceph-deploy install node1 node2 node3,因为使用ceph-deploy安装的话通过官网yum源去安装,这样会很慢而且容易报错

yum install -y ceph ceph-radosgw

如果有遇到上述报错的话,是因为yum源没有相关依赖包,则切换到root用户安装epel-release,然后再尝试安装 yum install -y ceph ceph-radosgw

============只在管理节点192.168.20.181上配置============

配置初始化monitor(s)、并收集所有密钥

su - ceph-admin

cd my-cluster

ceph-deploy mon create-initial

如果出现上述报错:

解决办法:在各个节点上执行sudo pkill ceph,然后再在deploy节点执行ceph-deploy mon create-initial

ls -l *.keyring

然后发现ERROR报错消失了,配置初始monitor(s)、并收集到了所有密钥,当前目录下可以看到下面这些密钥环

ceph.bootstrap-mds.keyring
ceph.bootstrap-mgr.keyring
ceph.bootstrap-osd.keyring
ceph.bootstrap-rgw.keyring
ceph.client.admin.keyring

把配置信息拷贝到各节点

ceph-deploy admin c720181 c720182 c720183

配置osd

for dev in /dev/sdb

do

ceph-deploy disk zap c720181
$dev

ceph-deploy osd create c720181
--data $dev

ceph-deploy disk zap c720182
$dev

ceph-deploy osd create c720182
--data $dev

ceph-deploy disk zap c720183
$dev

ceph-deploy osd create c720183
--data $dev

done

如果有多个硬盘,可以将

for dev in /dev/sdb 改为

for dev in /dev/sdb, /dev/sdc, /dev/sdd

部署mgr(新版本监控UI, L版以后才需要部署)

ceph-deploy mgr create c720181 c720182 c720183

开启dashboard模块,用于UI查看

ceph mgr module enable dashboard

上述报错是因为/etc/ceph 目录权限是root,而不是ceph-admin

所以用所属用户权限改成ceph-admin即可:sudo chown -R ceph-admin
/etc/ceph/

再执行启用dashboard模块命令:ceph mgr module enable
dashboard

访问监控面板地址:http://192.168.20.181:7000/servers

问题处理:

1、  访问速度慢,输入链接访问,退出lab非常慢,通过F12发现访问跳转到fonts.googleapis.com CSS文件特别久。

解决办法:取消访问http://fonts.googleapis.com 站点的CSS静态文件。

路径:/usr/lib64/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css

需改下面两个文件,注释掉访问http://fonts.googleapis.com的行

vim AdminLTE.min.css

# @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic);/*!
 *   AdminLTE v2.3.7
 *   Author: Almsaeed Studio
 *       Website: Almsaeed Studio <http://almsaeedstudio.com>
 *   License: Open source - MIT
 *           Please visit http://opensource.org/licenses/MIT for more information

重启服务:

[ceph-admin@c720181 my-cluster]$ ceph mgr module disable dashboard
[ceph-admin@c720181 my-cluster]$ ceph mgr module enable dashboard

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

  1. ceph集群搭建

    CEPH 1.组成部分 1.1 monitor admin节点安装ceph-deploy工具 admin节点安装ceph-deploy 添加源信息 rm -f /etc/yum.repos.d/* w ...

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

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

  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. Java设计模式之单利模式(Singleton)

    单利模式的应用场景: 单利模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例.并提供一个全局反访问点.单利模式是创建型模式.单利模式在生活中应用也很广泛,比如公司C ...

  2. ASP.NET Core 1.0: API的输入参数

    Web API是需要接受参数的,譬如,通常用于创建数据的POST method需要接受输入数据,而用于GET method也需要接受一些可选参数,譬如:为了性能起见,控制返回数据的数量是至关重要的. ...

  3. SqlServer2005 查询 第三讲 between

    在数据库的查询中最重要的是要知道命令的顺序,因为在sql命令中有许多的参数,例如distinct,top,in,order by,group by.......如果你不能理解什么时候该执行什么的话,很 ...

  4. spark集群搭建(三台虚拟机)——zookeeper集群搭建(3)

    !!!该系列使用三台虚拟机搭建一个完整的spark集群,集群环境如下: virtualBox5.2.Ubuntu14.04.securecrt7.3.6_x64英文版(连接虚拟机) jdk1.7.0. ...

  5. VS2017,遇到异常:这可能是由某个扩展导致的

    网上看的解决办法没有解决,干脆自己亲自动手搞吧! 具体问题如下: 解决方案: 按照提示路径打开日志文件定位问题所在,打开之后,拉倒最后看到如下图所示: 我的问题是因为安装了一个叫 "Clau ...

  6. Python3.7.1学习(一):redis的连接和简单使用

    1.python 利用 redis 第三方库 首先安装:pip install redis 2.reids的连接 Redis使用StrictRedis对象来管理对一个redis server 的所有连 ...

  7. 前端的构建化工具Webpack

    经常看到如jquery-3.0.0.js和jquery-3.0.0-min.js等两相似的文件名. 其实以上两个文件名的内容是一样的,不过带min代表的是占用最小的空间,为项目提高性能.压缩的部分如换 ...

  8. python进程概要

    进程 狭义:正在运行的程序实例. 广义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,他是操作系统动态执行的基本单元. python的进程都是并行的. 并行:两个进程同时执行一起走. ...

  9. 关于JDK源码:我想聊聊如何更高效地阅读

    简介 大家好,我是彤哥,今天我想和大家再聊聊JDK源码的几个问题: 为什么要看JDK源码 JDK源码的阅读顺序 JDK源码的阅读方法 为什么要看JDK源码 一,JDK源码是其它所有源码的基础,看懂了J ...

  10. 2019-9-17:基础学习,windows server 2008 r2,搭建web服务器和FTP服务器

    一.信息服务iis管理器安装 1,点击打开“服务器管理器”-->选择“角色”-->选择“添加角色”,打开“添加角色向导” 2,点击“下一步”-->勾选“web服务器(IIS)”--& ...