• linux————ceph分布式部署


    目录

    一、概述

    特点

    1、统一存储

    2、高扩展性

    3、可靠性强

    4、高性能

    组件

    1、Monitor

    2、OSD

    3、MOD

    4、Objet

    5、PG

    6、RADOS

    7. Libradio

    8. CRUSH

    9. RBD

    10. RGW

    11. CephFS

    架构图

    二、准备工作

    三、ceph安装

    创建集群目录

    修改配置文件

    安装

    初始化monitor

    同步管理信息

    ​编辑

    安装mgr(管理守护进程)

    安装rgw

    创建mds服务

    OSD安装,创建OSD

    查看集群状态

    三、dashboard安装

    开启dashboard模块

    生成签名

    创建目录

    启动服务

    设置访问地址与端口

    关闭https

    查看ceph地址

    设置用户和密码

    访问测试

    在ceph文件系统创建存储池

    查看存储池

    创建文件系统

    查看文件系统

    查看mds状态

    四、客户挂载

    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

  • 相关阅读:
    Mysql的索引
    介绍document部分自带的方法及属性,场景使用例如倒计时等
    spring boot集成flyway快速入门demo
    JAXB:用XmlElement注解复杂类型的Java属性,来产生多层嵌套的xml元素
    使用RestSharp和C#编写程序
    谷粒商城-消息队列
    一般做家庭用电的考什么样式的电工证?应急管理厅低压电工
    百度智能云获评Forrester中国市场人工智能/机器学习平台领导者
    如何使用FirewallD限制网络访问
    高级运维学习(八)Ceph 概述与部署
  • 原文地址:https://blog.csdn.net/a872182042/article/details/133144741