阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7下快速部署 Ceph分布式存储架构

547次阅读
没有评论

共计 5592 个字符,预计需要花费 14 分钟才能阅读完成。

随着 OpenStack 日渐成为开源云计算的标准软件栈,Ceph 也已经成为 OpenStack 的首选后端存储。相关介绍网上有很多,这里就不做过多介绍了,自己尝试在自己的测试机搭建了一下。

Ceph 的架构

Ceph 是一个开源的分布式文件系统。因为它还支持块存储、对象存储,所以很自然的被用做云计算框架 openstack 或 cloudstack 整个存储后端。当然也可以单独作为存储,例如部署一套集群作为对象存储、SAN 存储、NAS 存储等。

支持接口
1、对象存储:即 radosgw, 兼容 S3 接口。通过 rest api 上传、下载文件。

2、文件系统:posix 接口。可以将 ceph 集群看做一个共享文件系统挂载到本地。

3、块存储:即 rbd。有 kernel rbd 和 librbd 两种使用方式。支持快照、克隆。相当于一块硬盘挂到本地,用法和用途和硬盘一样。

Ceph 相比其它分布式存储有哪些优点?

1、统一存储
 虽然 ceph 底层是一个分布式文件系统,但由于在上层开发了支持对象和块的接口。所以在开源存储软件中,能够一统江湖。至于能不能千秋万代,就不知了。

2、高扩展性
 扩容方便、容量大。能够管理上千台服务器、EB 级的容量。

3、可靠性强
 支持多份强一致性副本,EC。副本能够垮主机、机架、机房、数据中心存放。所以安全可靠。存储节点可以自管理、自动修复。无单点故障,容错性强。

4、高性能
  因为是多个副本,因此在读写操作时候能够做到高度并行化。理论上,节点越多,整个集群的 IOPS 和吞吐量越高。另外一点 ceph 客户端读写数据直接与存储设备(osd) 交互。在块存储和对象存储中无需元数据服务器。

集群部署

主机准备

IP 地址      主机名
172.16.10.167  admin-node  #管理端,后续的 ceph-deploy 工具都在该主机上进行操作,并且也充当监控和 osd.0 节点
172.16.10.162  node1    #监控和 osd.1 节点
172.16.10.142  node2    #监控和 osd.2 节点
每台主机三块盘,sda 系统盘、sdb 存储盘(osd)、sdc 日志盘(journal),日志盘最好选用 ssd

修改 admin-node 的 /etc/hosts 文件

172.16.10.162    node1
172.16.10.142    node2

配置 admin-node 与其它节点的 ssh 无密码 root 权限访问,为了方便使用的是 root 用户,为了安全应该创建一个普通用户

# ssh-keygen
# cat /root/.ssh/id_rsa.pub

修改每个节点的 hostname

# hostnamectl set-hostname “ 新的名字 ”

每个 osd 节点开放防火墙

-A INPUT -p tcp -m state –state NEW -m tcp –dport 6789:7100 -j ACCEPT

配置 ceph 的 yum 源, 安装 ceph-deploy 工具

此处的源太慢,在我安装的时候总是失败

国内的一些 Ceph 源:Ceph 国内源

# yum install –nogpgcheck -y epel-release
# rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
# vim /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=http://download.ceph.com/rpm-jewel/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1
 
[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-jewel/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1
 
[ceph-source]
name=Ceph source packages
baseurl=http://download.ceph.com/rpm-jewel/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

安装 ceph-deploy 工具

# yum update -y
# yum install ceph-deploy -y
# yuminstall ntp ntpdate ntp-doc openssh-server yum-plugin-priorities -y

创建管理目录

# mkdir my-cluster
# cd my-cluster

创建监控节点,这里可以同时创建多个节点,为了测试后期增加 mon 节点,这里就只添加一个

# ceph-deploy new node1

修改配置文件,执行上述命令之后,会在当前目录产生 ceph.conf 文件,打开文件增加配置

osd pool default size = 3  #创建 3 个副本
public_network = 172.16.10.0/24  #公用网络
cluster_network = 172.16.10.0/24  #集群网络

使用 ceph-deploy 为节点安装 ceph,这一步在我安装时经常出问题,出现执行 ceph –version 命令失败,还有一些其它错误,然后各种在网上查资料,最后自己无意中发现,再次执行命令,或者在失败节点把 ceph 和 ceph-release 卸载,然后单个节点再次安装,重复操作,就可以安装成功,究其原因,还是因为 ceph 源在国外。然后找了一下国内的 ceph 源,在 ceph 中国社区找到了一篇文档,在开头已有介绍。

# ceph-deploy install admin-node node1 node2

初始化监控节点并收集 keyring,如果是双网卡,需要修改配置文件 ceph.conf 将 mon 的内网地址改为公网地址,执行时需要在 ceph-deploy 后加 –overwrite-conf

# ceph-deploy mon create-initial

把 admin-node 节点的配置文件与 keyring 同步至其它节点

# ceph-deploy admin admin-node node1 node2
# chmod +r /etc/ceph/ceph.client.admin.keyring  #如果是 root 用户,这步不需要

初始化各节点的 osd 分区

# ceph-deploy disk zap admin-node:/dev/sdb node1:/dev/sdb node2:/dev/sdb

挂载日志盘

# ceph-deploy osd prepare admin-node:sdb:/dev/sdc node1:sdb:/dev/sdc node2:sdb:/dev/sdc

查看挂载情况

# ceph-deploy disk list node1

现在初步集群搭建完成

查看 ceph 集群健康状态

# ceph health

如果成功将提示:HEALTH_OK

增加监控节点

打开 ceph.conf 文件,增加 mon 配置,新增 admin-node 和 node2 节点为 mon 节点

# cd my-cluster && vim ceph.conf
mon_initial_members = node1,admin-node,node2
mon_host= 172.16.10.162,172.16.10.167,172.16.10.142

将配置文件同步至所有节点

# ceph-deploy –overwrite-conf admin admin-node node1 node2

查看配置是否生效

# ceph –show-config |grep mon_initial_members

创建新的 mon

# ceph-deploy mon create admin-node
# ceph-deploymon create node2

查看 mon 状态

# ceph mon stat

查看整个集群状态,验证是否成功

# ceph -s

不出意外,现在应该是显示集群成功的,也可能会有时间不同步或者 pg 问题,在网上都有解决方法,个人测试了几遍都可以成功安装。

启动命令

启动或停止一个节点的所有 osd 或者 mon

# systemctl start ceph-osd.target
# systemctl start ceph-mon.target

启动单个 osd 或者 mon

# systemctl start ceph-osd@0
# systemctl start ceph-mon@node1

添加开机启动

# systemctl enable ceph-mon.target
# systemctl enable ceph-osd.target

检测是否加入开机启动

# systemctl is-enabled ceph-osd.target
# systemctlis-enabled ceph-mon.target

验证

使用块存储验证集群存储是否可用

再找一台机器做为:client-node,并且需要执行上面的基础流程

在 admin-node 上面

# cd my-cluster
# ceph-deploy install  client-node
# ceph-deployadmin client-node

在 client-node 创建块设备映像

# rbd create test –size 4096 –image-format 2 –image-feature  layering

查看创建的映像

# rbd ls

将 ceph 提供的块设备映射到 client-node

# rbd map test –pool rbd –name client.admin

创建文件系统

# mkfs.xfs  /dev/rbd/rbd/test

挂载文件系统

# mkdir /test
# mount /dev/rbd/rbd/test /test

使用 dd 测试

# cd /test
# dd if=/dev/zero of=ceshi bs=1M count=10

在随便一台 osd 节点上,查看是否有数据写入

# ceph -w

监控

在监控方面,calamari 在安装起来比较复杂,没有仔细研究,在网上看到可以使用 zabbix 对 ceph 进行监控,然后看了一下。

监控流程

在 ceph 的一台 monitor 上,比如:admin-node

# yum install -y git
# git clone https://github.com/BodihTao/ceph-zabbix.git
# cd ceph-zabbix
# cp ceph-status.sh /usr/local/zabbix/etc/
# ln -s /usr/local/zabbix/bin/* /usr/bin/
# vim ceph_cron.txt  或者直接 crontab - e 编辑
* * * * * /usr/local/zabbix/etc/ceph-status.sh zabbixIP“zabbix 中定义的主机名”
例如:
* * * * * /usr/local/zabbix/etc/ceph-status.sh 172.16.10.102 “Ceph-172.16.10.167”
# crontab ceph_cron.txt
# crontab -l
# vim/usr/local/zabbix/etc/zabbix_agentd.conf
Hostname=Ceph-172.16.10.167
# pkill -9 zabbix_agentd
# /usr/local/zabbix/sbin/zabbix_agentd

然后在 zabbix 上面导入 ceph-zabbix/zabbix_templates 中的模板,修改导入的模板 – 项目中的类型为 zabbix trapper(zabbix 捉捕器),然后添加主机,使用导入的模板。

注:如果还需要使用其它模板,比如:Template OS Linux,如果项目中提示不支持,则需要修改类型为 zabbix trapper(zabbix 捉捕器),如果修改,需要做一个克隆,以免影响其它模板使用者。

在 CentOS 7.1 上安装分布式存储系统 Ceph  http://www.linuxidc.com/Linux/2015-08/120990.htm

Ceph 环境配置文档 PDF http://www.linuxidc.com/Linux/2013-05/85212.htm 

CentOS 6.3 上部署 Ceph http://www.linuxidc.com/Linux/2013-05/85213.htm 

Ceph 的安装过程 http://www.linuxidc.com/Linux/2013-05/85210.htm 

HOWTO Install Ceph On FC12, FC 上安装 Ceph 分布式文件系统 http://www.linuxidc.com/Linux/2013-05/85209.htm 

实验环境 Ceph 9.2.1 部署笔记 http://www.linuxidc.com/Linux/2016-11/137094.htm

Ubuntu 12.04 Ceph 分布式文件系统 http://www.linuxidc.com/Linux/2013-04/82588.htm 

Ubuntu 16.04 快速安装 Ceph 集群  http://www.linuxidc.com/Linux/2016-09/135261.htm

Ceph 的详细介绍:请点这里
Ceph 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-02/140630.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5592字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7963090
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...