本文配套视频和笔记:
Ceph分布式存储实战(Ceph快速上手)

  • B站视频在线观看链接:【千锋教育】Ceph分布式存储技术教程(进阶到实战)
  • 百度网盘链接:2020全新_Ceph分布式存储技术-进阶到实战 笔记+资料+视频.zip 提取码: xry9

文章目录

  • 1. 分布式存储系统理论
    • 1.1. 认识分布式存储
    • 1.2. 分布式存储的特性
      • 1.2.1. 可扩展
      • 1.2.2. 低成本
      • 1.2.3. 高性能
      • 1.2.4. 易用
      • 1.2.5. 易管理
    • 1.3. 分布式存储的挑战和所涉及的技术
    • 1.4. 存储分类
      • 1.4.1. 本地存储
      • 1.4.2. 网络存储
  • 2. Ceph介绍
    • 2.1. Ceph简介
    • 2.2. Ceph优势
    • 2.3. Ceph架构
    • 2.4. Ceph的基本组件
  • 3. 安装Ceph集群
    • 3.1. 准备环境
    • 3.2. 配置ssh免密登录
    • 3.3. 添加下载源
    • 3.4. 安装Ceph-deploy
    • 3.5. 部署Ceph集群
    • 3.6. 配置DashBoard
    • 3.7. 配置客户端使用
    • 3.8. 升级CentOS 7的内核为最新版本
    • 3.9. 客户端安装Ceph
    • 3.10. 将块设备镜像映射到CentOS 7系统上
    • 3.11. 客户端重启之后需重新映射

1. 分布式存储系统理论

1.1. 认识分布式存储

分布式存储系统,是通过网络将数据分散存储在多台独立的设备上。

1.2. 分布式存储的特性

1.2.1. 可扩展

分布式存储系统可以扩展到几百台甚至几千台的集群规模,而且随着集群规模的增长,系统整体性能表现为线性增长。分布式存储的水平扩展有以下几个特性:

  1. 节点扩展后,旧数据会自动迁移到新节点,实现负载均衡,避免单点过热的情况出现。
  2. 水平扩展只需要将新节点和原有的集群连接到同一网络,整个过程不会对业务造成影响。
  3. 当节点被添加到集群,集群系统的整体容量和性能也随之线性扩展,此后新节点的资源就会被管理平台接管,被用于分配或回收。

1.2.2. 低成本

分布式存储系统的自动容错、自动负载均衡机制使其可以构建在普通的PC机之上。另外,线性扩展能力也使得增加、减少机器非常方便,可以实现自动化运维。

1.2.3. 高性能

无论是针对整个集群还是单台机器,都要求分布式存储系统具备高性能。

1.2.4. 易用

分布式存储系统需要能够提供易用的对外接口,另外,也要求具备完善的监控、运维工具,并且能够与其他系统集成。

1.2.5. 易管理

通过一个简单的WEB界面就能够对整个系统进行分配管理,运维简便,极低的管理成本。

1.3. 分布式存储的挑战和所涉及的技术

分布式存储的挑战主要在于数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。分布式存储涉及的技术主要来自两个领域:分布式系统以及数据库

1.4. 存储分类

1.4.1. 本地存储

本地存储本地的文件系统,不能在网络上使用。
Ext3、Ext4、XFS、NTFS

1.4.2. 网络存储

网络文件系统,共享的都是文件系统:

  1. NFS:网络文件系统
  2. HDFS:分布式网络文件系统
  3. GlusterFS:分布式网络文件系统

共享的都是裸设备(块存储、磁盘):

  1. cinder(块存储)
  2. ceph(块存储、对象存储、网络文件系统-分布式)
  3. SAN(存储区域网)

2. Ceph介绍

2.1. Ceph简介

Ceph使用C++语言开发,遵循LGPL协议开源。Sage Weil(Ceph论文发表者)于2011年创立了以Inktank公司主导Ceph的开发和社区维护。2014年Redhat收购Inktank公司,并发布Inktank Ceph企业版(ICE)软件,业务场景聚焦云、备份和归档,支持对象存储和块存储以及文件系统存储应用。出现Ceph开源社区版本和Redhat企业版。
Ceph的主要设计初衷是变成一个可避免单节点故障的分布式文件系统,PB级别的扩展能力,而且是一种开源自由软件,许多超融合的分布式文件系统都是基于Ceph开发的。
Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。

  • Ceph官网:https://ceph.com
  • Ceph文档:https://docs.ceph.com
  • Ceph代码:https://github.com/ceph/ceph

2.2. Ceph优势

  1. 高扩展性:使用普通的x86服务器,支持10~1000台服务器,支持TB~EB级的扩展。
  2. 高可靠性:没有单点故障,多数据副本,自动管理,自动修复。
  3. 高性能:数据分布均衡。
  4. 功能全面:可用于对象存储,块设备存储和文件系统存储。

2.3. Ceph架构

  • 基础存储系统RADOS:
    基础存储系统RADOS(Reliable, Autonomous, Distributed Object Store,即可靠的、自动化的、分布式的对象存储)。所有存储在Ceph系统中的用户数据事实上最终都是由这一层来存储的。Ceph的高可靠、高可扩展、高性能、高自动化等等特性本质上也是由这一层所提供的。
  • 基础库LibRADOS:
    LibRADOS这一层的功能是对RADOS进行抽象和封装,并向上层提供API,以便直接基于RADOS(而不是整个Ceph)进行应用开发。特别要注意的是,RADOS是一个对象存储系统,因此,LibRADOS实现的API也只是针对对象存储功能的。
  • 高层应用接口
    RADOSGw:对象网关接口(对象存储),其作用是在LibRADOS的基础上提供抽象层次更高、更便于应用使用的上层接口。
    RBD:块存储其作用是在LibRADOS的基础上提供抽象层次更高、更便于主机或虚拟机使用的上层接口。
    CephFS:文件存储系统,其作用是在RADOS的基础上提供抽象层次更高、更便于客户端使用的上层接口。

2.4. Ceph的基本组件

  1. Ceph OSD(必装)
    全称是Object Storage Device,用于集群中所有数据与对象的存储。处理集群数据的复制、恢复、回填、再均衡。并向其他OSD守护进程发送心跳,然后向Mon提供一些监控信息。
    当Ceph存储集群设定数据有两个副本时(一共存两份),则至少需要两个OSD守护进程即两个OSD节点,集群才能达到active+clean状态。
  2. Ceph Monitor(必装)
    Ceph的监控器,主要功能是维护整个集群健康状态,提供一致性的决策,包含了Monitor map,即集群map,monitor本身不存储任何集群数据
  3. Managers(必装)
    用于收集Ceph集群状态、运行指标,比如存储利用率、当前性能指标和系统负载。对外提供 Ceph Dashboard(Ceph UI)和RESTful API。高可用性通常至少需要两个管理器。
  4. Ceph MDS(可选)
    全称是Ceph Metadata Server,是为Ceph文件系统提供元数据(metadata)计算、缓存与同步(也就是说,Ceph块设备和Ceph对象存储不使用MDS)。在Ceph中,元数据也是存储在OSD节点中的,MDS类似于元数据的代理缓存服务器。MDS进程并不是必须的进程,只有需要使用Ceph FS时,才需要配置MDS节点。

3. 安装Ceph集群

3.1. 准备环境

系统版本:CentOS 7.9.2009(需要CentOS 7.5以上)
硬件配置:5台VM,1核1G,每台Node角色的机器至少挂载1块不低于5个G的空闲盘为OSD存储

主机名 IP Role
admin 10.1.1.73 admin–安装ceph-deploy
node1 10.1.1.74 mon/mgr/osd
node2 10.1.1.75 osd
node3 10.1.1.76 osd
ceph-client 10.1.1.77 client
  1. 给3台Node节点添加一块大小5G以上的磁盘

    lsblk
    

  2. 所有节点修改主机名并相互解析
    修改主机名可以参考:https://coco56.blog.csdn.net/article/details/123407421

    vim /etc/hosts
    

    以下是解析内容:

    10.1.1.73 admin
    10.1.1.74 node1
    10.1.1.75 node2
    10.1.1.76 node3
    10.1.1.77 ceph-client
    

  3. 关闭所有机器的防火墙和selinux
    关闭防火墙可以参考:https://coco56.blog.csdn.net/article/details/123409975,下面是关闭selinux的步骤:
    先修改配置文件

    vim /etc/sysconfig/selinux
    
    %s/SELINUX=enforcing/SELINUX=disabled/gc
    


    关闭selinux

    setenforce 0
    

  4. 所有机器都创建一个普通用户cephu并设置密码(密码这里设置为1
    useradd cephu
    
    passwd cephu
    

3.2. 配置ssh免密登录

  1. 确保各机器上新创建的用户都有sudo权限

    visudo
    

    转到第100行,然后在下面添加:

    cephu    ALL=(root) NOPASSWD:ALL
    

    注意上面的是缩进(Tab),而不是空格

  2. 实现ssh无密码登录(admin节点操作)
    先切换到cephu用户

    su - cephu
    

    输入如下指令之后,再连续输三个回车,以生成密钥

    ssh-keygen
    
  3. 将admin节点cephu用户生成的密钥拷贝到各Ceph节点
    在admin节点执行如下命令

    ssh-copy-id cephu@node1
    

    执行完之后要输入yes,然后输入我们刚才设置的密码1

    ssh-copy-id cephu@node2
    
    ssh-copy-id cephu@node3
    
    ssh-copy-id cephu@ceph-client
    

    测试连接:
    使用ssh连接

    ssh cephu@node1
    

    查看当前主机

    hostname
    

    退出

    exit
    

  4. 在admin节点用root用户创建~/.ssh/config配置文件

    mkdir ~/.ssh
    touch ~/.ssh/config
    

  5. 将~/.ssh/config配置文件设置为如下内容,这样ceph-deploy就能用你所建的用户名登录Ceph节点了

    host node1
    hostname node1
    user cepuhhost node2
    hostname node2
    user cepuhhost node3
    hostname node3
    user cepuh
    

3.3. 添加下载源

  1. 添加下载源,安装ceph-deploy(admin节点,root用户)

    touch /etc/yum.repos.d/ceph.repo
    vim /etc/yum.repos.d/ceph.repo
    
    [ceph-noarch]
    name=Ceph noarch packages
    baseurl=https://download.ceph.com/rpm-luminous/el7/noarch
    enabled=1
    priority=2
    gpgcheck=1
    gpgkey=https://download.ceph.com/keys/release.asc
    

    https://docs.ceph.com/en/pacific/install/get-packages/#rhel

  2. 建立缓存
    yum makecache
    
  3. 更新yum源
    yum update -y
    
  4. 开启yum缓存
    vim /etc/yum.conf
    
    keepcache=1
    

3.4. 安装Ceph-deploy

  1. 安装Ceph-deploy

    yum install ceph-deploy -y
    
  2. 安装ntp(所有机器)
    选择任意一台机器当ntp时间服务器,其他节点当时间服务器的客户端,跟时间服务器同步时间。
    这里选择admin节点为ntp时间服务器

    yum install -y ntp # [root@admin ~]
    
  3. 修改时间服务器的配置
    vim /etc/ntp.conf
    

    有4行server的位置,把那4行server行注释掉,填写以下两行:

    server 127.127.1.0 # local clock
    fudge 127.127.1.0 stratum 10
    

  4. 启动ntp服务,并设置开机自启
    systemctl start ntpd # 启动ntp服务
    systemctl enable ntpd # 将ntp服务设为开机自启
    systemctl status ntpd # 查看ntp服务当前的状态
    

    5. 其他所有节点安装ntpdate

    yum install ntpdate -y
    
  5. 同步时间
    ntpdate 10.1.1.73 # 注意改成自己时间服务器的IP
    

3.5. 部署Ceph集群

注意:没有特殊说明,以下所有操作均是在admin节点,cephu用户下执行

  1. 创建cephu用户操作的目录

    su - cephu # 先切换到cephu用户
    mkdir my-cluster # 创建my-cluster目录
    

    注意:之后所有ceph-deploy命令操作必须在该目录下执行

  2. 为Python2.7安装pip
    curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py   # 下载安装脚本
    
    sudo python get-pip.py    # 运行安装脚本
    
    pip -V
    

  3. 使用pip安装distribute
    pip install distribute
    
  4. 创建集群
    cd my-cluster
    
    ceph-deploy new node1
    

    查看当前目录下的文件:

    ls
    

    创建成功会有三个文件:ceph.confceph-deploy-ceph.logceph.mon.keyring

  5. 安装luminous
    目标:在node1、node2、node3三个节点上安装ceph和ceph-radosgw主包
    方法1:利用官方脚本全自动安装,脚本会帮助node1、node2、node3创建epel源和ceph源,并且自动安装ceph和ceph-radosgw主包

    ceph-deploy install --release luminous node1 node2 node3
    # 这一步时间很长,容易超时,可以利用手动安装或者分批安装
    # 比如我第一次为node1和node2成功安装了
    # 后面再次安装时只需要把node1和node2去掉,只为node3安装就行了
    

    如果一直提示Another app is currently holding the yum lock; waiting for it to exit...,那么重启下出问题的机器再次安装就行了。

    如果ceph和ceph-radosgw安装不上,则采用方法2
    测试安装是否完成:分别在node1、node2、node3中确认安装版本为12.2.13

    ceph --version
    

    正常情况下应该会显示:ceph version 12.2.13 (584a20eb0237c657dc0567da126be145106aa47e) luminous (stable)
    方法2:手动部署安装,三台机器分别创建(三台node节点相同操作) 安装epel源

    yum install -y epel*
    

    创建Ceph源

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

    以下是官方Ceph源的配置(服务器位于加拿大,比较慢):

    [ceph]
    name=Ceph packages for $basearch
    baseurl=https://download.ceph.com/rpm-luminous/el7/$basearch
    enabled=1
    priority=2
    gpgcheck=1
    gpgkey=https://download.ceph.com/keys/release.asc[ceph-noarch]
    name=Ceph noarch packages
    baseurl=https://download.ceph.com/rpm-luminous/el7/noarch
    enabled=1
    priority=2
    gpgcheck=1
    gpgkey=https://download.ceph.com/keys/release.asc[ceph-source]
    name=Ceph source packages
    baseurl=https://download.ceph.com/rpm-luminous/el7/SRPMS
    enabled=0
    priority=2
    gpgcheck=1
    gpgkey=https://download.ceph.com/keys/release.asc
    

    以下是阿里云Ceph源的配置(服务器位于国内,有CDN加速,我河南这边儿用的是郑州的服务器):

    [ceph]
    name=Ceph packages for $basearch
    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch
    enabled=1
    priority=2
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc[ceph-noarch]
    name=Ceph noarch packages
    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch
    enabled=1
    priority=2
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc[ceph-source]
    name=Ceph source packages
    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
    enabled=0
    priority=2
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    

    分别在node1、node2、node3节点执行下面的命令安装软件,可以完全手动安装,但需要yum的Ceph缓存目录结构

    sudo yum install ceph ceph-radosgw -y
    

    如果因为速度慢导致安装失败可以按ctrl+c,利用它创建的yum缓存目录,手动把安装包下载下来保存到缓存目录/var/cache/yum/x86_64/Ceph/packages目录下
    再次执行安装命令:

    sudo yum install ceph ceph-radosgw -y
    

    测试安装是否完成,分别在node1、node2、node3中确认安装版本为12.2.13

    ceph --version
    

    正常情况下会提示:ceph version 12.2.13 (584a20eb0237c657dc0567da126be145106aa47e) luminous (stable)

  6. 初始化Monitor(admin节点,cephu用户在my-cluster目录下执行)
    ceph-deploy mon create-initial
    

  7. 赋予各个节点使用命令,免用户名权限
    ceph-deploy admin node1 node2 node3
    

  8. 安装ceph-mgr:只有luminous才有,为使用dashboard做准备。
    ceph-deploy mgr create node1
    

  9. 添加osd
    注意:各个节点上提供的磁盘容量不能太小,最好5GB以上,另外还要留意一下你的磁盘名称

    ceph-deploy osd create --data /dev/sdb node1 # [cephu@admin my-cluster]
    ceph-deploy osd create --data /dev/sdb node2 # [cephu@admin my-cluster]
    ceph-deploy osd create --data /dev/sdb node3 # [cephu@admin my-cluster]
    


    命令中的/dev/sdb是在各个节点上为osd准备的空闲磁盘(无需分区格式化,如果有分区则要指定具体分区),通过如下命令查看:

    最后通过如下命令查看集群状态:

    ssh node1 sudo ceph -s
    


    如果显示HEALTH_OK osd: 3 osds: 3 up, 3 in就成功了

3.6. 配置DashBoard

在node1节点上操作,把ceph-mgr和ceph-mon安装在了同一台主机上,最好只有一个ceph-mgr

  1. 切换用户

    su - cephu
    
  2. 创建管理域密钥

    sudo ceph auth get-or-create mgr.node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'
    

  3. 开启ceph-mgr管理域

    sudo ceph-mgr -i node1
    
  4. 查看ceph的状态,确认mgr的状态为active

    sudo ceph status
    

  5. 打开dashboard模板

    sudo ceph mgr module enable dashboard
    
  6. 绑定开启dashboard模板的ceph-mgr节点的IP地址

    sudo ceph config-key set mgr/dashboard/node1/server_addr 10.1.1.74 #IP地址为mgr节点的IP地址,也就是mode1的IP地址
    

  7. 查看端口占用情况

    netstat -lntp
    

  8. Web登录,浏览器输入:mgr地址:7000(如:http://10.1.1.74:7000/)

3.7. 配置客户端使用

  1. 配置客户端使用rbd:创建块设备之前需要创建存储池,存储池相关命令需要在mon节点执行,也就是规划好的node1节点
  2. 创建存储池
    sudo ceph osd pool create rbd 128 128
    

    128 128为PG的数量,少于5个OSD,PG数量应为128,创建好了会提示:pool 'rbd' created

  3. 初始化存储池
    sudo rbd pool init rbd
    

3.8. 升级CentOS 7的内核为最新版本

  1. 打开之前准备好的客户端ceph-client:主机名为ceph-client,IP为10.1.1.77
  2. 查看内核版本
    uname -r
    

    内核版本为:3.10.0-1160.el7.x86_64

  3. 导入ELRepo仓库的公共密钥:
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    
  4. 安装ELRepo仓库的yum源
    rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
    
  5. 查看可用的系统内核包
    yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
    

  6. 安装最新版的内核
    yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
    
  7. 查看系统上的所有可用内核:
    awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
    

  8. 更改新内核的启动顺序
    grub2-set-default 0
    

    其中0是上面查询出来的可用内核

  9. 重启(重启的时候可以看到CentOS Linux (5.16.14-1.el7.elrepo.x86_64) 7 (Core)是最先启动)
    reboot
    

  10. 验证
    uname -r
    

  11. 查看系统中全部的内核
    rpm -qa | grep kernel
    

  12. 删除旧的内核
    yum remove kernel -y
    

  13. 再次查看系统中全部的内核
    rpm -qa | grep kernel
    

    会发现少了一个kernel-3.10.0-1160.el7.x86_64

  14. 如果需要把其他的删除,可以执行:
    yum remove kernel-devel-3.10.0-1160.el7.x86_64 \
    kernel-tools-libs-3.10.0-1160.el7.x86_64 \
    kernel-headers-3.10.0-1160.el7.x86_64 \
    kernel-tools-3.10.0-1160.el7.x86_64 -y
    
  15. 再次查看系统中全部的内核
    rpm -qa | grep kernel
    

    会发现内核版本为3.10.0的相关rpm包都没了

3.9. 客户端安装Ceph

  1. 安装epel源

    yum install -y epel*
    
  2. 创建Ceph源

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

    以下是官方Ceph源的配置(服务器位于加拿大,比较慢):

    [ceph]
    name=Ceph packages for $basearch
    baseurl=https://download.ceph.com/rpm-luminous/el7/$basearch
    enabled=1
    priority=2
    gpgcheck=1
    gpgkey=https://download.ceph.com/keys/release.asc[ceph-noarch]
    name=Ceph noarch packages
    baseurl=https://download.ceph.com/rpm-luminous/el7/noarch
    enabled=1
    priority=2
    gpgcheck=1
    gpgkey=https://download.ceph.com/keys/release.asc[ceph-source]
    name=Ceph source packages
    baseurl=https://download.ceph.com/rpm-luminous/el7/SRPMS
    enabled=0
    priority=2
    gpgcheck=1
    gpgkey=https://download.ceph.com/keys/release.asc
    

    以下是阿里云Ceph源的配置(服务器位于国内,有CDN加速,我河南这边儿用的是郑州的服务器):

    [ceph]
    name=Ceph packages for $basearch
    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch
    enabled=1
    priority=2
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc[ceph-noarch]
    name=Ceph noarch packages
    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch
    enabled=1
    priority=2
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc[ceph-source]
    name=Ceph source packages
    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
    enabled=0
    priority=2
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    
  3. 开启yum缓存

    vim /etc/yum.conf
    

    修改成:

    keepcache=1
    

  4. 清理缓存

    yum clean all
    
  5. 切换为普通用户

    su - cephu
    
  6. 安装cephceph-radosgw

    sudo yum install ceph ceph-radosgw  -y
    

  7. 查看ceph版本

    ceph --version
    

  8. 在admin节点赋予client使用命令免用户名权限:
    打开admin节点
    切换为普通用户

    su - cephu
    

    进入my-cluster目录

    cd my-cluster
    

    最后执行:

    ceph-deploy admin ceph-client
    

  9. 修改client下该文件的读权限:

    sudo chmod +r /etc/ceph/ceph.client.admin.keyring
    

  10. 修改client下的ceph配置文件(这一步是为了解决映射镜像时出错问题)

    sudo vim /etc/ceph/ceph.conf
    

    在最后一行追加:

    rbd_default_features = 1
    

  11. client节点创建块设备镜像:单位是M,这里是4个G

    rbd create foo --size 4096
    

3.10. 将块设备镜像映射到CentOS 7系统上

  1. client节点映射镜像到主机

    sudo rbd map foo --name client.admin
    

    执行完之后会提示:/dev/rbd0

  2. client节点格式化块设备
    sudo mkfs.ext4 -m 0 /dev/rbd/rbd/foo
    

  3. client节点mount块设备
    sudo mkdir /mnt/ceph-block-device #创建挂载点
    
    sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device #挂载
    

    挂载完成之后,可以查看一下

    df -Th
    

    正常情况下应该会显示:/dev/rbd0 ext4 3.9G 16M 3.8G 1% /mnt/ceph-block-device

    进入刚才挂载的目录

    cd /mnt/ceph-block-device
    

    新建一个文件

    sudo touch a.txt
    

    查看结果

    ls
    

3.11. 客户端重启之后需重新映射

客户端重起之后,设备需要重新作映射,不然可能会卡死或者之前的映射消失不见

  1. client节点映射镜像到主机

    sudo rbd map foo --name client.admin
    

    执行完之后会提示:/dev/rbd0

  2. client节点mount块设备
    sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device #挂载
    

    挂载完成之后,可以查看一下

    df -Th
    

    正常情况下应该会显示:/dev/rbd0 ext4 3.9G 16M 3.8G 1% /mnt/ceph-block-device

    进入刚才挂载的目录

    cd /mnt/ceph-block-device
    

    查看结果

    ls
    

    可以看到我们之前创建的文件还都在

Ceph分布式存储实战:从0搭建一个存储集群,并把块设备镜像映射到CentOS 7系统上的步骤相关推荐

  1. 手把手搭建一个redis集群

    文章目录 前言 安装的含义 安装redis redis编译安装 redis集群 redis集群的使用 C++工程连接使用redis-cluster hiredis-cluster 总结 前言 所谓&q ...

  2. 单机简单搭建一个kafka集群(没有进行内核参数和JVM的调优)

    1.JDK安装 在我的部署单节点kafka的博客里有相关的方法.(https://www.cnblogs.com/ToBeExpert/p/9789486.html )zookeeper和kafka的 ...

  3. 十分钟搭建一个EFK集群

    快速部署搭建ELK ELK 介绍 环境信息 架构 二进制部署 一,系统初始化. 二,elasticsearch安装(所有节点) 三,filebeat安装使用 四,nginx安装 五,kibana 安装 ...

  4. 【阿里云EMR实战篇】以EMR测试集群版本为例,详解 Flink SQL Client 集成 Hive 使用步骤

    简介: 以测试集群版本为例(EMR-4.4.1)-- Flink SQL Client 集成 Hive 使用文档 作者:林志成,阿里云EMR产品团队技术支持,拥有多年开源大数据经验 1.以测试集群版本 ...

  5. 和你聊聊如何搭建redis分片集群

    摘要:我发现,凡是涉及到大数据存储,好像都得有个横向扩容方案,不管是在应用层实现,还是在数据存储本身实现.Redis作为一个高效的数据缓存,也周到的提供了数据sharding特性,本文就先讲下最基础的 ...

  6. docker 搭建mysql 连接不上_docker搭建MySQL主从集群

    关于MySQL主从模式,如果我们直接在本机上搭建的话,是没法搭建的,只能借助于虚拟机,但有的时候我们又需要搭建一个主从集群,以便于进行一些功能性的测试.这个时候我们就可以尝试使用docker,借助于d ...

  7. linux系统搭建redis cluster集群 切片集群 教程 centOS系统redis6

    目录 一.说明 二.环境信息 三.介绍 四.部署流程 五.测试 一.说明 该教程为redis集群-cluster切片集群部署方式,不包含redis的安装过程,如需redis安装教程请移步以下链接: & ...

  8. Kubernetes搭建Flink会话集群

    Kubernetes搭建Flink会话集群 一.准备工作 linux 系统环境 :linux系统采用的是Centos 8 .安装linux软件包管理工具yum 安装docker-ce yum inst ...

  9. Ceph分布式存储实战.

    云计算与虚拟化技术丛书 Ceph分布式存储实战 Ceph中国社区 著 图书在版编目(CIP)数据 Ceph分布式存储实战/Ceph中国社区著. -北京:机械工业出版社,2016.11 (云计算与虚拟化 ...

最新文章

  1. LeetCode实战:存在重复元素
  2. 这组动画完美演绎了一个程序员从接手新项目到交货的复杂心情
  3. puppet 类、模块
  4. linux shell 获取字符串最后一个字符 去掉字符串最后一个字符 去掉末尾一个字符 去掉末尾两个字符
  5. 【转】sudo命令情景分析
  6. 先天性异常或智力残疾儿童患者的外显子组和基因组测序:美国医学遗传学与基因组学学院循证临床指南...
  7. Js/jQuery实时监听input输入框值变化
  8. ccccccccccccccccccccccccccccccccc
  9. 管理员权限自动注册Dll文件
  10. 抖音无水印解析网站源码
  11. 写c语言win7还是win10好,做设计系统用WIN7还是WIN10?
  12. MySQL基础学习(三)————SQL语句的常用操作
  13. android移植(二)-4的尝试移植过程
  14. 超详细,如何不用任何第三方软件实现电脑与手机文件传输
  15. python filter和map的区别_js中filter和map的区别
  16. SAS|where keep rename
  17. android coreservice作用,android service重启
  18. 【Shell牛客刷题系列】SHELL1 统计文件的行数:学习wc命令和文本三剑客awk、grep、sed命令
  19. Arduino 和LCD1602显示屏
  20. slider unity 头顶血条_Unity开发者教程:人物血条跟随的功能开发(一)

热门文章

  1. 秒速五厘米(为情怀而补的题)
  2. ASR语音转文字模型——项目落地
  3. 如果能理解医生的准确意图,深度学习会是医疗诊断的未来吗?
  4. 抖音用计算机怎么表白,抖音表白代码
  5. 《环球》杂志|“宇宙级”漏洞过后,一个技术总裁的忠告……
  6. [Caffe]: HDF5Data Layer
  7. SVM学习总结(三)SMO算法流程图及注释源码
  8. eslint报“Extra semicolon“错误的解决
  9. pc机未连接手机ANDroid,安卓手机连接电脑没显示的解决教程简述
  10. C语言贪吃蛇游戏主要功能,C语言游戏-贪吃蛇