【Distributed】分布式Ceph存储系统之相关应用

﹏ヽ暗。殇╰゛Y 2024-04-06 14:50 150阅读 0赞

文章目录

  • 一、创建 CephFS 文件系统 MDS 接口
      1. 服务端操作
      • 1.1 在管理节点创建 mds 服务
      • 1.2 查看各个节点的 mds 服务
      • 1.3 创建存储池,启用 ceph 文件系统
      • 1.4 查看mds状态
      • 1.5 创建用户
      1. 客户端操作
      • 2.1 客户端要在 public 网络内
      • 2.2 在客户端创建工作目录
      • 2.3 在 ceph 的管理节点给客户端拷贝文件
      • 2.4 在客户端安装 ceph 软件包
      • 2.5 在客户端制作秘钥文件
      • 2.6 客户端挂载
        • 方式一:基于内核
        • 方式二:基于 fuse 工具
  • 二、创建 Ceph 块存储系统 RBD 接口
      1. 创建一个名为 rbd-demo 的专门用于 RBD 的存储池
      1. 将存储池转换为 RBD 模式
      1. 初始化存储池
      1. 创建镜像
      1. 镜像管理
      • 5.1 查看镜像的详细信息
      • 5.2 修改镜像大小
      • 5.3 删除镜像
      1. Linux客户端使用
      • 6.1 管理节点操作
      • 6.2 linux客户端操作
      1. 快照管理
      • 7.1 在客户端写入文件
      • 7.2 在管理节点对镜像创建快照
      • 7.3 列出指定镜像所有快照
      • 7.4 回滚镜像到指定
      • 7.5 限制镜像可创建快照数
      • 7.6 删除快照
      • 7.7 快照分层
      • 7.8 快照展平
      1. 镜像的导出导入
      • 8.1 导出镜像
      • 8.2 导入镜像
  • 三、创建 Ceph 对象存储系统 RGW 接口
      1. 对象存储概念
      1. 创建 RGW 接口
      • 2.1 管理节点创建守护进程
      • 2.2 开启 http+https ,更改监听端口
      • 2.3 创建 RadosGW 账户
      • 2.4 S3 接口访问测试
  • 四、OSD 故障模拟与恢复
      1. 模拟 OSD 故障
      1. 将坏掉的 osd 踢出集群
      • 方法一
      • 方法二
      1. 把原来坏掉的 osd 修复后重新加入集群

一、创建 CephFS 文件系统 MDS 接口

1. 服务端操作

1.1 在管理节点创建 mds 服务

  1. cd /etc/ceph
  2. ceph-deploy mds create node01 node02 node03

在这里插入图片描述

1.2 查看各个节点的 mds 服务

  1. ssh root@node01 systemctl status ceph-mds@node01
  2. ssh root@node02 systemctl status ceph-mds@node02
  3. ssh root@node03 systemctl status ceph-mds@node03

在这里插入图片描述

1.3 创建存储池,启用 ceph 文件系统

  ceph 文件系统至少需要两个 rados 池,一个用于存储数据,一个用于存储元数据。此时数据池就类似于文件系统的共享目录。

  1. ceph osd pool create cephfs_data 128 #创建数据Pool
  2. ceph osd pool create cephfs_metadata 128 #创建元数据Pool

在这里插入图片描述

  1. #创建 cephfs,命令格式:ceph fs new <FS_NAME> <CEPHFS_METADATA_NAME> <CEPHFS_DATA_NAME>
  2. ceph fs new mycephfs cephfs_metadata cephfs_data #启用ceph,元数据Pool在前,数据Pool在后
  3. ceph fs ls #查看cephfs

在这里插入图片描述

1.4 查看mds状态

  一个up,其余两个待命,目前的工作的是node01上的mds服务

  1. ceph -s
  2. mds: mycephfs:1 {
  3. 0=node01=up:active} 2 up:standby
  4. ceph mds stat
  5. mycephfs:1 {
  6. 0=node01=up:active} 2 up:standby

在这里插入图片描述

1.5 创建用户

  1. 语法格式:ceph fs authorize <fs_name> client.<client_id> <path-in-cephfs> rw
  2. #账户为 client.zhangsan,用户 name 为 zhangsan,zhangsan 对ceph文件系统的 / 根目录(注意不是操作系统的根目录)有读写权限
  3. ceph fs authorize mycephfs client.zhangsan / rw | tee /etc/ceph/zhangsan.keyring
  4. # 账户为 client.lisi,用户 name 为 lisi,lisi 对文件系统的 / 根目录只有读权限,对文件系统的根目录的子目录 /test 有读写权限
  5. ceph fs authorize mycephfs client.lisi / r /test rw | tee /etc/ceph/lisi.keyring

在这里插入图片描述

2. 客户端操作

2.1 客户端要在 public 网络内

2.2 在客户端创建工作目录

  1. mkdir /etc/ceph

在这里插入图片描述

2.3 在 ceph 的管理节点给客户端拷贝文件

  1. #拷贝的文件分别是 ceph 的配置文件 ceph.conf 和账号的秘钥环文件 zhangsan.keyring、lisi.keyring
  2. scp ceph.conf zhangsan.keyring lisi.keyring root@client:/etc/ceph

在这里插入图片描述

2.4 在客户端安装 ceph 软件包

  1. cd /opt
  2. wget https://download.ceph.com/rpm-nautilus/el7/noarch/ceph-release-1-1.el7.noarch.rpm --no-check-certificate
  3. rpm -ivh ceph-release-1-1.el7.noarch.rpm
  4. yum install -y ceph

在这里插入图片描述

2.5 在客户端制作秘钥文件

  1. cd /etc/ceph
  2. ceph-authtool -n client.zhangsan -p zhangsan.keyring > zhangsan.key #把 zhangsan 用户的秘钥导出到 zhangsan.keyl
  3. ceph-authtool -n client.lisi -p lisi.keyring > lisi.key #把 lisi 用户的秘钥导出到 lisi.key

在这里插入图片描述

2.6 客户端挂载

方式一:基于内核
  1. 语法格式:
  2. mount -t ceph node01:6789,node02:6789,node03:6789:/ <本地挂载点目录> -o name=<用户名>,secret=<秘钥>
  3. mount -t ceph node01:6789,node02:6789,node03:6789:/ <本地挂载点目录> -o name=<用户名>,secretfile=<秘钥文件>
  4. 示例一:
  5. mkdir -p /data/zhangsan
  6. mount -t ceph node01:6789,node02:6789,node03:6789:/ /data/zhangsan -o name=zhangsan,secretfile=/etc/ceph/zhangsan.key
  7. 示例二:
  8. mkdir -p

发表评论

表情:
评论列表 (有 0 条评论,150人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ceph分布式存储简介

    一、Ceph简介: 什么是分布式存储?   我在一个环境当中,有很多很多的服务器,服务器上也有它自己很多的硬盘,我通过软件的形式把若干服务器都收集起来,部署成一个软

    相关 ceph分布式存储简介

    点击关注上方“开源Linux”, 后台回复“[读书][Link 1]”,有我为您特别筛选书籍资料~ Ceph简介 什么是分布式存储?打个比方, 我在一个环境当中,有很