CEPH搭建

目录

一、概述

特点

1、统一存储

2、高扩展性

3、可靠性强

4、高性能

二、准备工作

1、关闭防火墙

2、关闭图形网络管理器

3、配置静态ip

4、关闭selinux

5、修改主机名

6、修改设置

7、ssh免密设置

8、hosts文件修改

9、时间同步

10、添加磁盘,并热扫描

11、磁盘格式化

三、ceph安装

三、dashboard安装

四、客户挂载

centos1操作

centos4操作


一、概述

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

特点

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、MOD
MDS全称Ceph Metadata Server,是CephFS服务依赖的元数据服务。

4、Objet
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中

二、准备工作

centos1    monitor    osd         192.168.100.3
centos2                    osd         192.168.100.4
centos3                    osd         192.168.100.5
centos4                    Client      192.168.100.6

1、关闭防火墙

systemctl stop firewalld.service 
systemctl disable firewalld.service 

2、关闭图形网络管理器

systemctl stop NetworkManager
systemctl disable NetworkManager

3、配置静态ip

sed -i "s/ONBOOT=no/ONBOOT=yes/" /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network

4、关闭selinux

setenforce 0

5、修改主机名

hostnamectl set-hostname centos{1..4}

6、修改设置

sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config
systemctl restart sshd

7、ssh免密设置

centos1
    ssh-keygen
    for i in 3 4 5 6 ; do ssh-copy-id root@192.168.100.$i;done
centos2
    ssh-keygen
   for i in 3 4 5 6 ; do ssh-copy-id root@192.168.100.$i;done
centos3
    ssh-keygen
    for i in 3 4 5 6 ; do ssh-copy-id root@192.168.100.$i;done
centos4
    ssh-keygen
    for i in 3 4 5 6 ; do ssh-copy-id root@192.168.100.$i;done

8、hosts文件修改

vim /etc/hosts
    192.168.100.3   centos1
    192.168.100.4    centos2
    192.168.100.5    centos3
    192.168.100.6    centos4
for i in 3 4 5 6;do scp /etc/hosts 192.168.100.$i:/etc/;done


9、时间同步

yum install -y ntp
vim /etc/ntp.conf
server 127.127.1.0  ·                  定义时间服务器
fudge 127.127.1.0 stratum 8       定义时间层次

systemctl start ntpd
systemctl enable ntpd

for i in 4 5 6 ;do ssh 192.168.100.$i  ntpdate 192.168.100.3;done

10、添加磁盘,并热扫描

cd /sys/class/scsi_host

for i in `ls`;do echo "- - -" > $i/scan;done
lsblk                        centos1 2 3 都需要进行

11、磁盘格式化

mkfs.xfs /dev/sdb

三、ceph安装

yum install epel-release -y
yum install lttng-ust -y

vim /etc/yum.repos.d/ceph.repo

[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

[Ceph-noarch]
name=Ceph noarch packages
# 清华源
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

yum -y install ceph ceph-deploy 

创建集群目录
mkdir -p /usr/local/soft/cephcluster
cd /usr/local/soft/cephcluster

ceph-deploy new centos1 centos2 centos3

修改配置文件
vim ceph.conf

#对外开放网段
public network = 192.168.100.0/24
# 设置pool池默认分配数量
osd pool default size = 2
# 容忍更多的时钟误差
mon clock drift allowed = 2
mon clock drift warn backoff = 30
# 允许删除pool
mon_allow_pool_delete = true
[mgr]
# 开启WEB仪表盘
mgr modules = dashboard

安装
ceph-deploy install centos1 centos2 centos3(需要良好网络)

初始化monitor
ceph-deploy mon create-initial 

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


安装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-deploy osd create --data /dev/sdb centos2
ceph-deploy osd create --data /dev/sdb centos3

查看集群状态
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 mgr module disable dashboard
ceph mgr module enable dashboard

设置访问地址与端口
ceph config set mgr mgr/dashboard/server_addr 192.168.100.3
ceph config set mgr mgr/dashboard/server_port 9001

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

查看ceph地址
ceph mgr services

设置用户和密码
ceph dashboard set-login-credentials jx123 123.com

访问测试
https://192.168.100.3:8443

在ceph文件系统创建存储池
少于5个OSD可把pg_num设置为128
OSD数量在5到10,可以设置pg_num为512
OSD数量在10到50,可以设置pg_num为4096
OSD数量大于50,需要计算pg_num的值

cd /usr/local/soft/cephcluster

ceph osd pool create cephfs_data 128

ceph osd pool create cephfs_metadata 64

查看存储池
ceph osd lspools

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

查看文件系统
ceph fs ls

查看mds状态
ceph mds stat

四、客户挂载

centos1操作

安装

同步管理信息

ceph-deploy install centos4

ceph-deploy admin  centos4

centos4操作

yum install -y ceph-fuse

查看信息

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

创建挂载目录
mkdir /ceph挂载ceph文件系统
ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.100.3:6789 /ceph

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/199370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RepidJson将内容格式化后写入文件

以下是使用RapidJson将JSON内容格式化后写入文件的示例代码&#xff1a; #include <iostream> #include <fstream> #include <string> #include "rapidjson/document.h" #include "rapidjson/prettywriter.h" #include "rapidjson…

Windows下安装Git和Git小乌龟

目录 Git简介 Git安装 Git小乌龟简介 Git小乌龟安装 Git简介 Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地进行从很小到非常大的项目的版本管理。Git支持将本地仓库与远程仓库进行关联&#xff0c;实现多人协作开发。由于具有分布式版本控制、高效性、灵…

C++12.5

想象一下你去了一家动物园&#xff0c;看到了许多不同种类的动物&#xff0c;如狮子、大象、猴子等。现在&#xff0c;动物园里有一位讲解员&#xff0c;他会为每种动物表演做简单的介绍。 在这个场景中&#xff0c;我们可以将动物比作是不同的类&#xff0c;而每种动物表演则…

HQX Customization Guide

QNX Hypervisor Customization Guide 80-PM231-1 qnx FDE配置 target/hypervisor/host/qcpe_config/8540/QCPE_config_8540_la.xml <fde_config><!-- Total Slots for Makena are 64, of which 10 are reserved --><!-- QNX_HOST --><vm id="HOST…

conda的使用教程总结

conda是一个包管理器和环境管理器&#xff0c;可以用于安装多个版本的Python及其相关的软件包&#xff0c;并且可以创建和管理不同的环境。下面是conda安装教程&#xff1a; 1 安装Anaconda&#xff1a; 首先需要下载并安装Anaconda&#xff0c;可以从官方网站(https://www.a…

【数据结构】链表OJ题(顺序表)(C语言实现)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ &#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1…

握这些员工管理技巧,助你打造高效团队!

人力资源是一个组织中至关重要的一环&#xff0c;而员工管理是确保团队高效运转的关键因素之一。一个优秀的经理需要具备多方面的技巧和能力&#xff0c;以便激发员工的潜力&#xff0c;促进合作和增加团队的效率。在这里&#xff0c;我将分享一些实用的员工管理技巧&#xff0…

Day41| Leetcode 343. 整数拆分 Leetcode 96. 不同的二叉搜索树

Leetcode 343. 整数拆分 题目链接 343 整数拆分 dp[i]的含义对i进行拆分&#xff0c;得到最大的整数 固定一个j用for循环来遍历&#xff0c;剩下的按照i-j来算&#xff0c;拆分成两个数是j*(i-j)&#xff0c;拆分为三个及其以上需要j*dp[i-j],下面上代码&#xff1a; class…

Hadoop学习笔记(HDP)-Part.12 安装HDFS

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

基本类型优先于包装类型

基本类型和包装类型之间有三个主要区别&#xff1a; 1、基本类型只有值&#xff0c;而两个包装类型可以具有相同的值和不同的同一性&#xff08;值相同&#xff0c;但是false&#xff09; 2、基本类型只有功能完备的值&#xff0c;而每个包装类型除了它对应基本类型的所有功能…

RAR文件的密码保护如何设置和取消?

RAR文件是压缩包一种常用的压缩文件格式&#xff0c;对于这种文件&#xff0c;我们如何设置和取消密码保护呢&#xff1f; 首先我们要下载适用于RAR文件的WinRAR解压缩软件&#xff0c;然后在压缩文件的时候&#xff0c;就可以同步设置密码&#xff0c;选中需要压缩的文件&…

在外包公司干测试半年,提升的只有我的年龄···

有一说一&#xff0c;外包没有给很高的薪资&#xff0c;是真不能干呀&#xff01; 先说一下自己的情况&#xff0c;本科生&#xff0c;年初通过校招进入深圳某软件公司&#xff0c;干了接近半年的功能测试&#xff0c;直到最近遇到了瓶颈&#xff0c;感觉自己不能够在这样下去了…

qnx hypervisor load qvm

//解析dts 获取node qcom_gvms 参考博客:https://blog.csdn.net/liaochaoyun/article/details/127427719 startup-qvmhost.sh startup.sh1419 waitfor /dev/lcm_demo/display0 1420 if [ $RECOVERY_MODE -eq 0 ]; then 1421 log_launch $VMM_SERVICE_BINARY #启动 vmm_ser…

Linux C++ 贪吃蛇游戏 -- 方向键控制蛇移动

1. 代码 #include <iostream> #include <ncurses.h> #include <vector> #include <cstdlib> #include <ctime> #include <thread>using namespace std;// 定义方向 enum class Direction { UP, DOWN, LEFT, RIGHT };class SnakeGame { pu…

分享5款小伙伴们推荐的好用软件

​ 转眼间2023年已经只剩下一个月了&#xff0c;最近陆陆续续收到好多小伙伴的咨询&#xff0c;这边也是抓紧整理出几个好用的软件&#xff0c;希望可以帮到大家。 1.文件格式转换——Convertio ​ Convertio是一款在线文件格式转换软件&#xff0c;可以让用户在不同的文件格…

【开题报告】基于SSM的校园爱心帮扶系统的设计与实现

1.选题背景 校园爱心帮扶系统是基于SSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架的设计与实现&#xff0c;旨在促进校园内的爱心互助和帮扶活动。以下是一些可能的选题背景&#xff1a; &#xff08;1&#xff09;社会责任感的提升&#xff1a;随着社会发展&#…

Python sorted函数及用法以及如何用json模块存储数据

Python sorted函数及用法 sorted() 函数与 reversed() 函数类似&#xff0c;该函数接收一个可迭代对象作为参数&#xff0c;返回一个对元素排序的列表。 在交互式解释器中测试该函数&#xff0c;可以看到如下运行过程&#xff1a; >>> a [20, 30, -1.2, 3.5, 90, 3.…

MongoInvalidArgumentError: Argument “docs“ must be an array of documents

这个错误通常表示在 MongoDB 操作中&#xff0c;你提供的参数不符合预期。错误信息指出了 docs 参数必须是一个文档&#xff08;document&#xff09;数组&#xff0c;但实际上提供的参数类型可能与预期不符。 假设你在使用 MongoDB 的一个函数或方法时出现了这个错误。以下是…

Linux系统---图书管理中的同步问题

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、问题描述 &#xff08;1&#xff09;图书馆阅览室最多能够容纳N&#xff08;N5&#xff09;名学生&#xff0c;若有更多学生想…

FFmpeg的C++封装:FFmpegWrapper

什么是FFmpeg&#xff1f; FFmpeg 是一套完整的录制、转换、流化音视频的解决方案&#xff0c;也是一个在LGPL协议 下的开源项目。它包含了业界领先的音视频编解码库。FFmpeg是在Linux操作系统下开发的&#xff0c;但它也能在其他操作系统下编译&#xff0c;包括Windows。 整…