ceph分布式存储

目录

一、概述

二、组件

三、架构图

四、搭建


一、概述

ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。

特点:

1. 统一存储

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

2. 高扩展性

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

3. 可靠性强

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

4. 高性能

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

二、组件

1. Monitor:一个Ceph集群需要多个Monitor组成的小集群,它们通过Paxos同步数据,用来保存OSD的元数据。

2. OSD:OSD全称Object Storage Device,也就是负责响应客户端请求返回具体数据的进程。一个Ceph集群一般都有很多个OSD。

3. MDS:MDS全称Ceph Metadata Server,是CephFS服务依赖的元数据服务。

4. Object:Ceph最底层的存储单元是Object对象,每个Object包含元数据和原始数据。

5. PG:PG全称Placement Grouops,是一个逻辑的概念,一个PG包含多个OSD。引入PG这一层其实是为了更好的分配数据和定位数据。

6. RADOS:RADOS全称Reliable Autonomic Distributed Object Store,是Ceph集群的精华,用户实现数据分配、Failover等集群操作。

7. Libradio:Librados是Rados提供库,因为RADOS是协议很难直接访问,因此上层的RBD、RGW和CephFS都是通过librados访问的,目前提供PHP、Ruby、Java、Python、C和C++支持。

8. CRUSH:CRUSH是Ceph使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方。

9. RBD:RBD全称RADOS block device,是Ceph对外提供的块设备服务。

10. RGW:RGW全称RADOS gateway,是Ceph对外提供的对象存储服务,接口与S3和Swift兼容。

11. CephFS:CephFS全称Ceph File System,是Ceph对外提供的文件系统服务。

三、架构图

1:文件上传,先将文件切片成N个object(如果开启了cephFS,可以使用MDS缓存)

2:切片后的文件object会存入到Ceph中

3:文件存储前,会经过CRUSH算法,计算当前文件存储归结于哪个PG

4:PG是逻辑概念上对文件存储范围划分的索引

5:根据PG索引将文件存储到指定服务器的OSD中

四、搭建

关闭防火墙、关闭图形网络管理器、配置IP、关闭Selinux

1、环境拓扑

centos1:192.168.115.3

centos2:192.168.115.4

centos3:192.168.115.5

centos4:192.168.115.6(Client)

2、主机名修改

192.168.115.3

ceph分布式存储_第1张图片

192.168.115.4

ceph分布式存储_第2张图片

192.168.115.5

ceph分布式存储_第3张图片

192.168.115.6

ceph分布式存储_第4张图片

3、hosts文件修改

每个节点主机都需要操作

vim /etc/hosts

192.168.115.3 centos1
192.168.115.4 centos2
192.168.115.5 centos3
192.168.115.6 centos4

ceph分布式存储_第5张图片

for i in 4 5 6; do scp /etc/hosts 192.168.115.$i:/etc;done

其它节点查看

ceph分布式存储_第6张图片

ceph分布式存储_第7张图片

ceph分布式存储_第8张图片

ping测试一下(只展现一个节点其它的节点省略)

5、ssh免密配置

每个节点都要配置

ssh-keygen

for i in 3 4 5 6; do ssh-copy-id [email protected].$i;done

每个节点查看

测试免密登录(只展现一个节点其它的节点省略)

ceph分布式存储_第9张图片

6、在centos1上开启时间同步服务器

安装  yum install -y ntp

ceph分布式存储_第10张图片

配置

vim /etc/ntp.conf

server 127.127.1.0  定义时间服务器

fudge 127.127.1.0 stratum 8 定义时间层次

ceph分布式存储_第11张图片

启动   systemctl start ntpd

客户端对时   for i in 4 5; do ssh 192.168.115.$i  ntpdate 192.168.115.3;done

7、添加磁盘

ceph分布式存储_第12张图片

热扫描磁盘

echo "- - -" > /sys/class/scsi_host/host0/scan

for i in 4 5;do ssh 192.168.115.$i echo "- - -" > /sys/class/scsi_host/host0/scan && lsblk;done

格式化 mkfs.xfs /dev/sdb

ceph分布式存储_第13张图片

8、ceph安装

只在centos1执行

yum install epel-release -y

ceph分布式存储_第14张图片

yum install lttng-ust -y

ceph分布式存储_第15张图片

添加ceph安装源

 yum -y install ceph ceph-deploy 

2、集群构建

创建集群目录

mkdir -p /usr/local/soft/cephcluster

cd /usr/local/soft/cephcluster

ceph分布式存储_第16张图片

创建集群    ceph-deploy new centos1 centos2 centos3

修改配置文件 vim ceph.conf

安装    ceph-deploy install centos1 centos2 centos3

ceph分布式存储_第17张图片

初始化monitor    ceph-deploy mon create-initial

ceph分布式存储_第18张图片

同步管理信息    ceph-deploy admin  centos1 centos2 centos3

ceph分布式存储_第19张图片

安装mgr(管理守护进程)    ceph-deploy mgr create  centos1 centos2 centos3

安装rgw   ceph-deploy rgw create centos1 centos2 centos3

创建mds服务  ceph-deploy mds create centos1 centos2 centos3

OSD安装

创建OSD

ceph-deploy osd create --data /dev/sdb centos1

ceph分布式存储_第20张图片

ceph-deploy osd create --data /dev/sdb centos2

ceph-deploy osd create --data /dev/sdb centos3

ceph分布式存储_第21张图片

查看集群状态    ceph -s

dashboard安装

开启dashboard模块    ceph mgr module enable dashboard

生成签名  ceph dashboard create-self-signed-cert

创建目录   mkdir -p /usr/local/jx/cephcluster/mgr-dashboard

cd /usr/local/jx/cephcluster/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

ceph分布式存储_第22张图片

启动服务:

ceph mgr module disable dashboard

ceph mgr module enable dashboard

ceph分布式存储_第23张图片

设置访问地址与端口:

ceph config set mgr mgr/dashboard/server_addr 192.168.115.3

ceph config set mgr mgr/dashboard/server_port 9001

关闭https    ceph config set mgr mgr/dashboard/ssl false

ceph mgr services

ceph分布式存储_第24张图片

ceph dashboard set-login-credentials hf123 123.com

https://192.168.115.3:8443

ceph分布式存储_第25张图片

ceph文件系统创建

创建存储池

ceph osd pool create cephfs_data 128

ceph osd pool create cephfs_metadata 64   

少于5个OSD可把pg_num设置为128
OSD数量在5到10,可以设置pg_num为512
OSD数量在10到50,可以设置pg_num为4096
OSD数量大于50,需要计算pg_num的值

ceph分布式存储_第26张图片

查看存储池     ceph osd lspools

ceph分布式存储_第27张图片

创建文件系统    ceph fs new  fs_test  cephfs_metadata cephfs_data

查看文件系统    ceph fs ls

查看mds状态     ceph mds stat

客户端挂载

在centos1中安装   ceph-deploy install centos4

ceph分布式存储_第28张图片

同步管理信息   ceph-deploy admin centos4

非集群节点,/var/run/ceph 无内容

在centos4   

yum install -y ceph-fuse

ceph分布式存储_第29张图片

查看信息

ls /etc/ceph/ceph.client.admin.keyring

创建挂载目录  mkdir /ceph

ceph分布式存储_第30张图片

挂载ceph文件系统

ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.115.3:6789 /ceph

登录查看

ceph分布式存储_第31张图片

ceph分布式存储_第32张图片

你可能感兴趣的:(ceph,分布式)