Ceph分布式存储(1)

这篇具有很好参考价值的文章主要介绍了Ceph分布式存储(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.ceph分布式存储

Ceph架构(自上往下)

OSD的存储引擎:

Ceph的存储过程:

二. 基于 ceph-deploy 部署 Ceph 集群

20-40节点上添加3块硬盘,一个网卡:

10节点为admin,20-40为node,50为client:

配置 hosts 解析:

安装常用软件和依赖包:

在 admin 管理节点配置 ssh 免密登录所有节点:

10节点配置时间同步:

修改配置文件:

所有节点重启依赖于系统时间的服务:

​编辑​编辑​编辑所有node节点修改网卡配置:

所有节点配置 Ceph yum源:

安装ceph:

所有节点都创建一个 Ceph 工作目录,后续的工作都在该目录下进行:

安装 ceph-deploy 部署工具:

管理节点为其它节点安装 Ceph 软件包:

节点下载:

生成初始配置:

在管理节点初始化 mon 节点:

配置初始化 mon 节点,并向所有节点同步配置:

部署能够管理 Ceph 集群的节点:

部署 osd 存储节点:

添加节点:

在添加其他两个节点:

看下状态:

将剩下磁盘继续添加后,查看状态:

部署 mgr 节点:

从节点下载mgr:

重启 dashboard:

访问页面:


一.ceph分布式存储

ceph:存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。

Ceph架构(自上往下)

客户端(主机/虚拟机/容器/应用程序APP):在Ceph中进行数据读写的终端。

LibRADOS对象访问接口:提供访问存储接口给客户端使用。Ceph默认提供三个接口:RBD块存储接口、RGW对象存储接口、CephFS文件存储接口。还支持用户使用java、python、C、C++等编程语言二次开发自定义访问接口。

RADOS基础存储系统(统一存储池):提供存储能力的。Ceph中一切都是以对象(object)形式存储的。RADOS就是负责存储这些对象的,并保证数据的一致性和可靠性。

OSD的存储引擎:

FileStore:是L版本(12.x)以前版本的唯一可选的OSD存储引擎,将数据对象存储为文件系统的文件,性能上有所不足
BlueStore:是L版本(12.x)开始的默认OSD存储引擎,将数据对象直接存储在块设备上,具有更好的数据读写性能和可靠性


Ceph的存储过程:

1)文件默认会按照4M大小进行分片成一个或多个数据对象(object)
2)每个数据对象都有一个oid(由文件ID(ino)和分片编号(ono)组成),通过对oid使用HASH算法得到一个16进制的特征码,再除以Pool中的PG总数取余,获取到数据对象的pgid(整体由poolid+pgid组成)
3)通过对pgid使用CRUSH算法得到PG对应的OSD的ID,如果是多副本,则是主从OSD的ID(注:PG与OSD的对应关系是在创建存储池Pool的时候就确定好的)
4)将数据对象存储到对应的OSD里

二. 基于 ceph-deploy 部署 Ceph 集群

准备五台服务器,192.168.233.{10..50}:

20-40节点上添加3块硬盘,一个网卡:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式Ceph分布式存储(1),ceph,分布式

10节点为admin,20-40为node,50为client:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

配置 hosts 解析:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

安装常用软件和依赖包:
yum -y install epel-release
yum -y install yum-plugin-priorities yum-utils ntpdate python-setuptools python-pip gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel zip unzip ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssh openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced python wget lsof iptraf strace lrzsz kernel-devel kernel-headers pam-devel tcl tk cmake ncurses-devel bison setuptool popt-devel net-snmp screen perl-devel pcre-devel net-snmp screen tcpdump rsync sysstat man iptables sudo libconfig git bind-utils tmux elinks numactl iftop bwm-ng net-tools expect snappy leveldb gdisk python-argparse gperftools-libs conntrack ipset jq libseccomp socat chrony sshpass

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式Ceph分布式存储(1),ceph,分布式Ceph分布式存储(1),ceph,分布式

在 admin 管理节点配置 ssh 免密登录所有节点:

Ceph分布式存储(1),ceph,分布式

sshpass -p '123' ssh-copy-id -o StrictHostKeyChecking=no root@admin
sshpass -p '123' ssh-copy-id -o StrictHostKeyChecking=no root@node01
sshpass -p '123' ssh-copy-id -o StrictHostKeyChecking=no root@node02
sshpass -p '123' ssh-copy-id -o StrictHostKeyChecking=no root@node03

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

10节点配置时间同步:
修改配置文件:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

开启chrony:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

开启 NTP:

timedatectl set-ntp true

Ceph分布式存储(1),ceph,分布式

设置时区:

timedatectl set-timezone Asia/Shanghai

Ceph分布式存储(1),ceph,分布式

强制同步下系统时钟:

chronyc -a makestep

Ceph分布式存储(1),ceph,分布式

查看时间同步状态:

timedatectl status

Ceph分布式存储(1),ceph,分布式

查看 ntp 源服务器信息:

Ceph分布式存储(1),ceph,分布式

将当前的UTC时间写入硬件时钟:

Ceph分布式存储(1),ceph,分布式

所有节点重启依赖于系统时间的服务:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

关闭无关服务:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式Ceph分布式存储(1),ceph,分布式Ceph分布式存储(1),ceph,分布式所有node节点修改网卡配置:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

重启网卡:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

所有节点配置 Ceph yum源:
wget https://download.ceph.com/rpm-nautilus/el7/noarch/ceph-release-1-1.el7.noarch.rpm --no-check-certificate

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

将包移动到/opt下:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

安装ceph:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

所有节点都创建一个 Ceph 工作目录,后续的工作都在该目录下进行:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

安装 ceph-deploy 部署工具:

Ceph分布式存储(1),ceph,分布式

查看版本,2.0.1 默认部署的是 mimic 版的 Ceph,若想安装其他版本的 Ceph,可以用 --release 手动指定版本:

Ceph分布式存储(1),ceph,分布式

管理节点为其它节点安装 Ceph 软件包:
yum install -y ceph-mon ceph-radosgw ceph-mds ceph-mgr ceph-osd ceph-common ceph

Ceph分布式存储(1),ceph,分布式

节点下载:

修改ceph的源:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

改为阿里云下载:

sed -i 's#download.ceph.com#mirrors.aliyun.com/ceph#' ceph.repo

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

其他节点下载 Ceph 包:

Ceph分布式存储(1),ceph,分布式Ceph分布式存储(1),ceph,分布式

生成初始配置:

在管理节点运行下述命令,告诉 ceph-deploy 哪些是 mon 监控节点:

ceph-deploy new --public-network 192.168.233.0/24 --cluster-network 192.168.100.0/24 node01 node02 node03

Ceph分布式存储(1),ceph,分布式.命令执行成功后会在 /etc/ceph 下生成配置文件:

ceph.conf :                   ceph的配置文件
ceph-deploy-ceph.log :       monitor的日志
ceph.mon.keyring   :         monitor的密钥环文件

Ceph分布式存储(1),ceph,分布式

在管理节点初始化 mon 节点:
ceph-deploy mon create node01 node02 node03

Ceph分布式存储(1),ceph,分布式

节点上查看下mon状态:

Ceph分布式存储(1),ceph,分布式

配置初始化 mon 节点,并向所有节点同步配置:
ceph-deploy --overwrite-conf mon create-initial

Ceph分布式存储(1),ceph,分布式

命令执行成功后会在 /etc/ceph 下生成配置文件:

Ceph分布式存储(1),ceph,分布式

ceph.bootstrap-mds.keyring       :    引导启动 mds 的密钥文件
ceph.bootstrap-mgr.keyring      :      引导启动 mgr 的密钥文件
ceph.bootstrap-osd.keyring      :     引导启动 osd 的密钥文件
ceph.bootstrap-rgw.keyring    :       引导启动 rgw 的密钥文件
ceph.client.admin.keyring     :    ceph客户端和管理端通信的认证密钥,拥有ceph集群的所有权限

在节点上查看下配置文件:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

主节点上看下ceph信息:

Ceph分布式存储(1),ceph,分布式

从节点看:

Ceph分布式存储(1),ceph,分布式

查看 mon 集群选举的情况:

ceph quorum_status --format json-pretty | grep leader

Ceph分布式存储(1),ceph,分布式

部署能够管理 Ceph 集群的节点:
ceph-deploy --overwrite-conf config push node01 node02 node03

Ceph分布式存储(1),ceph,分布式

本质就是把 ceph.client.admin.keyring 集群认证文件拷贝到各个节点:


ceph-deploy admin node01 node02 node03

Ceph分布式存储(1),ceph,分布式

在 从 节点上查看:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

部署 osd 存储节点:

查看下从节点的磁盘情况:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

添加节点:
ceph-deploy --overwrite-conf osd create node01 --data /dev/sdb
ceph-deploy --overwrite-conf osd create node02 --data /dev/sdb
ceph-deploy --overwrite-conf osd create node03 --data /dev/sdb

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

看下从节点的磁盘情况:

Ceph分布式存储(1),ceph,分布式

在添加其他两个节点:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

看下状态:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

扩容 osd 节点:

ceph-deploy --overwrite-conf osd create node01 --data /dev/sdc
ceph-deploy --overwrite-conf osd create node02 --data /dev/sdc
ceph-deploy --overwrite-conf osd create node03 --data /dev/sdc
ceph-deploy --overwrite-conf osd create node01 --data /dev/sdd
ceph-deploy --overwrite-conf osd create node02 --data /dev/sdd
ceph-deploy --overwrite-conf osd create node03 --data /dev/sdd

Ceph分布式存储(1),ceph,分布式

看下状态:

Ceph分布式存储(1),ceph,分布式

看下从节点:

Ceph分布式存储(1),ceph,分布式

将剩下磁盘继续添加后,查看状态:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

主节点看下状态:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式
部署 mgr 节点:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

解决 HEALTH_WARN 问题:mons are allowing insecure global_id reclaim问题:

禁用不安全模式:

ceph config set mon auth_allow_insecure_global_id_reclaim false

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

从节点下载mgr:

Ceph分布式存储(1),ceph,分布式Ceph分布式存储(1),ceph,分布式

开启 dashboard 模块:

ceph mgr module enable dashboard --force

Ceph分布式存储(1),ceph,分布式

禁用 dashboard 的 ssl 功能:

ceph config set mgr mgr/dashboard/ssl false

Ceph分布式存储(1),ceph,分布式

配置 dashboard 监听的地址和端口:

ceph config set mgr mgr/dashboard/server_addr 192.168.233.20
ceph config set mgr mgr/dashboard/server_port 8000

Ceph分布式存储(1),ceph,分布式

重启 dashboard:
ceph mgr module disable dashboard
ceph mgr module enable dashboard --force

Ceph分布式存储(1),ceph,分布式

确认访问 dashboard 的 url:

Ceph分布式存储(1),ceph,分布式

设置 dashboard 账户以及密码:

Ceph分布式存储(1),ceph,分布式

ceph dashboard set-login-credentials admin -i dashboard_passwd.txt

Ceph分布式存储(1),ceph,分布式

访问页面:

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式

Ceph分布式存储(1),ceph,分布式文章来源地址https://www.toymoban.com/news/detail-800071.html

到了这里,关于Ceph分布式存储(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式存储Ceph部署

    前言 Ceph 和 GlusterFS 都是出色的分布式存储,其中Ceph 广泛由于Openstack以及K8S的分布式持久化存储。 介绍 Ceph 是一个开源的分布式存储系统,同时支持 对象存储、块设备、文件系统 ceph 是一个对象(object)式存储系统,它把每一个待管理的数据流(文件等数据)切分为一到多个固

    2024年02月14日
    浏览(28)
  • ceph分布式存储实战

    虚拟机安装ceph集群       部署ceph集群      mon服务器的高可用: # apt install ceph-mon # apt install ceph-mon 1.ceph的组件和功能 2.ceph的数据读写流程 3.使用ceph-deploy安装一个最少三个节点的ceph集群 推荐3个或以上的磁盘作为专用osd 4.测试ceph的rbd使用

    2024年02月09日
    浏览(33)
  • Ceph分布式存储笔记

    1、Ceph概念 分布式存储 是指一种独特的系统架构,它由一组网络进行通信、为了完成共同的任务而协调工作的计算机节点组成;分布式系统是为了用廉价的、普通的机器完成单个计算无法完成的计算、存储任务;其目的是利用更多的机器,处理更多的数据。 Ceph是一个统一【

    2023年04月08日
    浏览(35)
  • 【分布式技术】分布式存储ceph之RBD块存储部署

    目录 创建 Ceph 块存储系统 RBD 接口 服务端操作 1、创建一个名为 rbd-demo 的专门用于 RBD 的存储池 2、将存储池转换为 RBD 模式 3、初始化存储池 4、创建镜像 5、在管理节点创建并授权一个用户可访问指定的 RBD 存储池 6、修改RBD镜像特性,CentOS7默认情况下只支持layering和stripin

    2024年01月18日
    浏览(57)
  • 分布式存储ceph的介绍

    分布式存储 Ceph、TFS、FastDFS、MooseFS(MFS)、GlusterFS(GFS) 存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。 #分布式存储的类型 ●块存储(例如硬盘,一般是一个存储被一个服务器挂载使用,适用于容器或虚拟机存储卷分配、日志存储、文件存

    2024年02月08日
    浏览(33)
  • Ceph 分布式存储之应用

    1)在管理节点创建 mds 服务 2)查看各个节点的 mds 服务 3)创建存储池,启用 ceph 文件系统 ceph 文件系统至少需要两个 rados 池,一个用于存储数据,一个用于存储元数据。此时数据池就类似于文件系统的共享目录。 创建 cephfs 4)查看mds状态 5)创建用户 账户为 client.lion,用

    2024年02月16日
    浏览(35)
  • ceph 分布式存储与部署

    目录 一、存储基础:  1.单机存储设备:  2. 单机存储的问题:  3. 商业存储解决方案:  4. 分布式存储:  5. 分布式存储的类型: 二、Ceph 简介: 三、Ceph 优势: 四、Ceph 架构:  1. RADOS 基础存储系统:  2. LIBRADOS 基础库:  3. 高层应用接口:包括了三个部分:   3.1 对象

    2024年02月07日
    浏览(32)
  • 分布式运用——存储系统Ceph

    Ceph是一个开源的分布式存储解决方案,旨在提供可扩展性、高性能和强大的数据可靠性。它采用了一种分布式对象存储架构,能够同时提供块存储和文件存储的功能。本篇博客将深入探索Ceph的原理、特性和应用场景,帮助读者更好地理解和使用这一强大的存储解决方案。

    2024年02月17日
    浏览(32)
  • 【分布式技术】分布式存储ceph之RGW接口

    目录 1、对象存储概念  2、创建 RGW 接口 //在管理节点创建一个 RGW 守护进程 #创建成功后默认情况下会自动创建一系列用于 RGW 的存储池  #默认情况下 RGW 监听 7480 号端口  //开启 http+https ,更改监听端口 #更改监听端口 ​          //创建 RadosGW 账户 客户端测试 OSD 故障模拟

    2024年01月19日
    浏览(44)
  • 【Linux】分布式存储系统 Ceph

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Ceph使用C++语言开发,是一个开放、自我修复和自我管理的开源分布式存储系统。具有高扩展性、高性能、高可靠性的优点。 Ceph目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack,Kubernet

    2024年02月17日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包