Ceph完整版安装部署

  1. Ceph介绍
    1.1. Ceph 介绍
    在过去几年中,数据存储需求急剧增长。研究表明,大型组织中的数据正以每年40%到60%的速度增长,许多公司每年的数据都翻了一番。国际数据公司(IDC)的分析师估计,到2000年,全球共有54.4 exabytes 的数据。到2007年,这一数字达到295艾字节,到2020年,全球预计将达到44 zettabytes。传统的存储系统无法管理这样的数据增长;我们需要一个像Ceph这样的系统,它是分布式的,可扩展的,最重要的是,在经济上是可行的。Ceph是专门为处理当今和未来的数据存储需求而设计的。
    1ZB=1024EB 1EB=1024PB 1PB=1024TB
    (1) 软件定义存储 -SDS
    SDS是减少存储基础设施的TCO(总体成本)所需要的。除了降低存储成本外,SDS还可以提供灵活性、可伸缩性和可靠性。Ceph是一种真正的SDS;它运行在没有厂商锁定的普通硬件上。与传统的存储系统(硬件与软件结合在一起)不同,在SDS中,您可以从任何制造商中自由选择硬件,也可以根据自己的需要自由设计异构硬件解决方案。Ceph在此硬件之上的软件定义存储提供了您需要的所有,并将负责所有事情,从软件层提供了所有企业存储特性。
    (2)云存储
    目前已经和开源云架构OpenStack 结合起来,成为Openstack后端存储的标配,并且又同时支持用于kubernetes 动态存储。
    (3)下一代统一存储体系架构
    统一存储的定义最近发生了变化。几年前,术语“统一存储”指从单个系统提供文件和块存储。如今,由于近年来的技术进步,如云计算、大数据和物联网,一种新的存储方式正在进化,即对象存储。因此,所有不支持对象存储的存储系统都不是真正的统一存储解决方案。真正的统一存储就像Ceph;它支持来自单个系统的块、文件和对象存储。
    Ceph是目前最热门的软件定义存储(SDS)技术,正在撼动整个存储行业。它是一个开源项目,为块、文件和对象存储提供统一的软件定义的解决方案。Ceph的核心思想是提供一个分布式存储系统,该系统具有大规模的可伸缩性和高性能,并且没有单点故障。从根本上说,它被设计成在通用硬件上运行时具有高度的可伸缩性(可达艾字节(ExaByte)级别甚至更高)。
    Ceph提供了出色的性能、巨大的可伸缩性、强大的功能和灵活性。它摆脱昂贵的专有存储。Ceph确实是一个企业级的存储解决方案,可以在普通硬件上运行;这是一个低成本但功能丰富的存储系统。Ceph的通用存储系统提供块存储、文件存储和对象存储,使客户可以随心所欲地使用存储。
    1.2 Ceph 架构
    (1)Ceph组件
    • Ceph monitors(MON):Ceph监视器通过保存集群状态的映射来跟踪整个集群的健康状况
    • Ceph对象存储设备(OSD): 一旦应用程序向Ceph集群发出写操作,数据就以对象的形式存储在OSD中。
    • 这是Ceph集群中存储实际用户数据的惟一组件,通常,一个OSD守护进程绑定到集群中的一个物理磁盘。因此,通常来说,Ceph集群中物理磁盘的总数与在每个物理磁盘上存储用户数据的OSD守护进程的总数相同。
    • Ceph metadata server (MDS): MDS跟踪文件层次结构,仅为Ceph FS文件系统存储元数据
    • RADOS: RADOS对象存储负责存储这些对象,而不管它们的数据类型如何。RADOS层确保数据始终保持一致。为此,它执行数据复制、故障检测和恢复,以及跨集群节点的数据迁移和再平衡。
    • Librados: librados库是一种访问RADOS的方便方法,支持PHP、Ruby、Java、Python、C和c++编程语言。它为Ceph存储集群(RADOS)提供了本机接口,并为其他服务提供了基础,如RBD、RGW和CephFS,这些服务构建在librados之上。librados还支持从应用程序直接访问RADOS,没有HTTP开销。
    • RBD:提供持久块存储,它是瘦配置的、可调整大小的,并在多个osd上存储数据条带。RBD服务被构建为一个在librados之上的本机接口。
    • RGW:RGW提供对象存储服务。它使用librgw (Rados网关库)和librados,允许应用程序与Ceph对象存储建立连接。RGW提供了与Amazon S3和OpenStack Swift兼容的RESTful api接口。
    • CephFS: Ceph文件系统提供了一个符合posix标准的文件系统,它使用Ceph存储集群在文件系统上存储用户数据。与RBD和RGW一样,CephFS服务也作为librados的本机接口实现。
    • Ceph manager: Ceph manager守护进程(Ceph -mgr)是在Kraken版本中引入的,它与monitor守护进程一起运行,为外部监视和管理系统提供额外的监视和接口。

(2)Ceph 部署

  1. Ceph 部署
    2.1 Ceph 安装前准备

Ceph部署之前
1、每个节点都要添加 3个20G的硬盘
2 、每个节点都要做ceph 的yum添加
3、每台节点都需要修改主机名
4、每台安装ntp服务 时钟服务,并同步时钟
5、每台配置ssh 免密登陆认证

分别修改主机名
#hostnamectl set-hostname ceph128
#hostnamectl set-hostname ceph129
#hostnamectl set-hostname ceph130
配置DNS或者配置hosts

vi /etc/hosts

182.16.0.128 ceph128
182.16.0.129 ceph129
182.16.0.130 ceph132
配置NTP服务
yum -y install ntpdate ntp
ntpdate cn.ntp.org.cn
systemctl restart ntpd ntpdate && systemctl enable ntpd ntpdate
配置 rpm

Wget -O /etc/yum.repos.d/ceph.repo

https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
关闭 selinux
Vi /etc/selinux/config= disabled
setenforce 0

创建部署用户和ssh免密码登录

Useradd ceph
Passwd ceph

echo “ceph ALL = (root) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/ceph
chmod 0440 /etc/sudoers.d/ceph

三个节点配置免密钥登录

su - ceph
export username=ceph
ssh-keygen
ssh-copy-id ceph@ceph129
[root@ceph128 ceph]# cat ceph.client.admin.keyring
[client.admin]
key = AQBYtVJd4DYmIRAAm0Kxzqiy+c+R5+8yjJSC5Q==
[root@ceph128 ceph]#

#开始安装节点ceph-deploy epel-release python-pip

在182.16.0.128主节点输入如下命令安装 ecph

安装 ceph-deploy
#sudo yum install -y ceph-deploy epel-release python-pip

mkdir my-cluster

cd my-cluster

在从节点 182.16.0.129 182.16.0.132 安装如下命令

部署节点
ceph-deploy new ceph128 ceph129 ceph132
ls

编辑 ceph.conf 配置文件

cat ceph.conf
[global]
……….
public network = 192.168.20.0/24
cluster network = 192.168.20.0/24


安装 ceph包,替代 ceph-deploy install node1 node2 node3 ,不过下面的命令需要在每台node上安装

yum install -y epel-release ceph ceph-radosgw

配置初始 monitor(s)、并收集所有密钥:

[ceph@ceph128 my-cluster]$ ceph-deploy mon create-initial

把配置信息拷贝到各节点

[ceph@ceph128 my-cluster]$ ceph-deploy admin ceph128 ceph129 ceph132

软件安装完毕 开始配置磁盘组

配置 osd

[ceph@ceph128 my-cluster]$ lsblk

for dev in /dev/sdb /dev/sdc /dev/sdd
do
ceph-deploy disk zap ceph128 $dev
ceph-deploy osd create ceph128 --data $dev
ceph-deploy disk zap ceph129 $dev
ceph-deploy osd create ceph129 --data $dev
ceph-deploy disk zap ceph132 $dev
ceph-deploy osd create ceph132 --data $dev
done

如果web iu 部署好出现 磁盘 down 问题 需要手动 激活
命令如下
ceph-deploy osd activate ceph128:/dev/sdb ceph128:/dev/sdc ceph128:/dev/sdd

部署 mgr , L版以后才需要部署 mgr 为web端口 随机 组

[ceph@ceph128 my-cluster]$ ceph-deploy mgr create ceph128 ceph129 ceph132

开启 dashboard 模块,用于UI查看

ceph mgr module enable dashboard

这时报错,查看有文件,只是权限不对

修改权限
[ceph@ceph128 my-cluster]$ sudo chown -R ceph /etc/ceph

服务开启并且监听
访问是否可以成功
http://182.16.0.128:7000/

  1. Ceph 块存储
    安装 Ceph 块存储客户端
    Ceph块设备,以前称为RADOS块设备,为客户机提供可靠的、分布式的和高性能的块存储磁盘。RADOS块设备利用librbd库并以顺序的形式在Ceph集群中的多个osd上存储数据块。RBD是由Ceph的RADOS层支持的,因此每个块设备都分布在多个Ceph节点上,提供了高性能和优异的可靠性。RBD有Linux内核的本地支持,这意味着RBD驱动程序从过去几年就与Linux内核集成得很好。除了可靠性和性能之外,RBD还提供了企业特性,例如完整和增量快照、瘦配置、写时复制克隆、动态调整大小等等。RBD还支持内存缓存,这大大提高了其性能:

任何普通的Linux主机(RHEL或基于debian的)都可以充当Ceph客户机。客户端通过网络与Ceph存储集群交互以存储或检索用户数据。Ceph RBD支持已经添加到Linux主线内核中,从2.6.34和以后的版本开始。
182.16.0.103为客户端做如下操作

1修改主机名
[root@ceph103 ~]#
hostnamectl
set-hostname ceph103 cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
182.16.0.128 ceph128
182.16.0.129 ceph129
182.16.0.132 ceph132
182.16.0.103 ceph103
[root@ceph103 ~]#
2修改ceph源文件
yum install wget
wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo
3创建 目录
mkdir -p /etc/ceph
3 安装ceph‘
yum install epel-release
yum -y install ceph
cat /etc/ceph/ceph.client.rbd.keyring

创建 ceph 块客户端用户名和认证密钥

ceph auth get-or-create client.rbd mon ‘allow r’ osd ‘allow class-read object_prefix rbd_children, allow rwx pool=rbd’ |tee ./ceph.client.rbd.keyring
注:client.rbd为客户端名 mon之后的全为授权配置
#客户端配置解析

创建文件夹
[root@ceph103 ~]# mkdir -p /etc/ceph
拷贝配置文件及密钥到客户机
[ceph@ceph128 my-cluster]$ scp ceph.client.rbd.keyring root@182.16.0.103:/etc/ceph
[ceph@ceph128 my-cluster]$ scp ceph.conf root@182.16.0.103:/etc/ceph

检查是否符合块设备环境要求

uname -r
modprobe rbd
echo $?

安装ceph客户端

wget -O /etc/yum.repos.d/ceph.repo
https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo
查看密钥文件
cat /etc/ceph/ceph.client.rbd.keyring
ceph -s --name client.rbd

3.2 客户端创建块设备及映射
在服务端182.16.0.128执行如下命令
( 1) 创建块设备
默认创建块设备,会直接创建在rbd 池中,但使用 deploy 安装后,该rbd池并没有创建。

创建池和块

ceph osd lspools # 查看集群存储池
ceph osd pool create rbd 50 # 50 为 place group 数量,由于我们后续测试,也需要更多的pg,所以这里设置为50
确定 pg_num 取值是强制性的,因为不能自动计算。下面是几个常用的值:
• 少于 5 个 OSD 时可把 pg_num 设置为 128
• OSD 数量在 5 到 10 个时,可把pg_num 设置为 512
• OSD 数量在 10 到 50 个时,可把 pg_num 设置为 4096
• OSD 数量大于 50 时,你得理解权衡方法、以及如何自己计算pg_num 取值

客户端创建 块设备

创建一个容量为5105M的rbd块设备
[root@ceph103 ~]# rbd create rbd1 --size 5105 --name client.rbd

182.16.0.103客户端查看查看rbd1块设备
[root@ceph103 ~]# rbd ls --name client.rbd
[root@ceph103 ~]# rbd ls -p rbd --name client.rbd
[root@ceph103 ~]# rbd list --name client.rbd

查看rbd1块设备信息
[root@ceph103 ~]# rbd --image rbd1 info --name client.rbd

映射到客户端,应该会报错

[root@ceph103 ~]# rbd map --image rbd1 --name client.rbd

layering: 分层支持
• exclusive-lock: 排它锁定支持对
• object-map: 对象映射支持(需要排它锁定(exclusive-lock))
• deep-flatten: 快照平支持(snapshot flatten support)
• fast-diff: 在client-node1上使用krbd(内核rbd)客户机进行快速diff计算(需要对象映射),我们将无法在CentOS内核3.10上映射块设备映像,因为该内核不支持对象映射(object-map)、深平(deep-flatten)和快速diff(fast-diff)(在内核4.9中引入了支持)。为了解决这个问题,我们将禁用不支持的特性,有几个选项可以做到这一点:
1)动态禁用
rbd feature disable rbd1 exclusive-lock object-map deep-flatten fast-diff --name client.rbd
2) 创建RBD镜像时,只启用 分层特性。
rbd create rbd2 --size 10240 --image-feature layering --name client.rbd
3)ceph 配置文件中禁用
rbd_default_features = 1

我们这里动态禁用

[root@ceph103 ~]# rbd feature disable rbd1 exclusive-lock object-map fast-diff deep-flatten --name client.rbd

对rbd1进行映射
[root@ceph103 ~]# rbd map --image rbd1 --name client.rbd

查看本机已经映射的rbd镜像
[root@ceph103 ~]# rbd showmapped --name client.rbd

查看磁盘rbd0大小

格式化rbd0

创建挂在目录并进行挂载
[root@ceph103 ~]# mkdir /mnt/ceph-disk1
[root@ceph103 ~]# mount /dev/rbd0 /mnt/ceph-disk1/

写入数据测试

[root@ceph103 ceph-disk1]# dd if=/dev/zero of=/mnt/ceph-disk1/file1 count=100 bs=1M

做成服务,开机自动挂载

[root@ceph103 ~]# wget -O /usr/local/bin/rbd-mount
https://raw.githubusercontent.com/aishangwei/ceph-demo/master/client/rbd-mount

[root@ceph103 ~]# chmod +x /usr/local/bin/rbd-mount
[root@ceph103 ~]# wget -O /etc/systemd/system/rbd-mount.service
https://raw.githubusercontent.com/aishangwei/ceph-demo/master/client/rbd-mount.service

[root@ceph103 ~]# systemctl daemon-reload
[root@ceph103 ~]# systemctl enable rbd-mount.service

卸载手动挂载的目录,进行服务自动挂载测试
[root@ceph103 ~]# umount /mnt/ceph-disk1
[root@ceph103 ~]# systemctl start rbd.mount.srevice

Ceph:RBD在线扩容容量
Ceph管理端的操作
查询pool总容量及已经分配容量
[root@ceph128 ~]# ceph df

查看已经存在的pool
[root@ceph128 ~]# ceph osd lspools

查看已经有的rbd
[root@ceph128 ~]# rbd ls -p rbd

开始对rbd1进行动态扩容
[root@ceph128 ~]# rbd resize rbd/rbd1 --size 7168

Ceph客户端的操作
[root@ceph103 ~]# rbd showmapped

[root@ceph103 ~]# df -h

[root@ceph103 dev]# xfs_growfs -d /mnt/ceph-disk1

  1. Ceph 文件存储
    5.1 部署 Ceph 文件存储
    Ceph文件系统提供了任何大小的符合posix标准的分布式文件系统,它使用Ceph RADOS存储数据。要实现Ceph文件系统,您需要一个正在运行的Ceph存储集群和至少一个Ceph元数据服务器(MDS)来管理其元数据并使其与数据分离,这有助于降低复杂性和提高可靠性。下图描述了Ceph FS的架构视图及其接口:

libcephfs库在支持其多个客户机实现方面发挥着重要作用。它具有本机Linux内核驱动程序支持,因此客户机可以使用本机文件系统安装,例如,使用mount命令。它与SAMBA紧密集成,支持CIFS和SMB。Ceph FS使用cephfuse模块扩展到用户空间(FUSE)中的文件系统。它还允许使用libcephfs库与RADOS集群进行直接的应用程序交互。作为Hadoop HDFS的替代品,Ceph FS越来越受欢迎 。
只有Ceph FS才需要Ceph MDS;其他存储方法的块和基于对象的存储不需要MDS服务。Ceph MDS作为一个守护进程运行,它允许客户机挂载任意大小的POSIX文件系统。MDS不直接向客户端提供任何数据;数据服务仅由OSD完成。

部署 cephfs

[ceph@ceph128 my-cluster]$ ceph-deploy mds create ceph129

这里有两个一个服务名:
sudo systemctl start ceph-mds@ceph129
sudo systemctl enable ceph.target
查看现有的PG:
[root@ceph128 ~]# ceph -s

计算可以还可以创建PG并创建
MDS需要使用两个Pool,一个Pool用来存储数据,一个Pool用来存储元数据
[ceph@ceph128 my-cluster]$ ceph osd pool create cephfs_data 64

[ceph@ceph128 my-cluster]$ ceph osd pool create cephfs_metadata 32

我们创建一个FS
[root@ceph128 ~]# ceph fs new cephfs cephfs_metadata cephfs_data

查看创建的Ceph FS
[root@ceph129 ~]# ceph fs ls

查看mds状态
[root@ceph128 ~]# ceph mds stat

查看集群中所创建的池
[root@ceph128 ~]# ceph osd pool ls

查看FS
[root@ceph128 ~]# ceph fs ls

新建一个用并赋予不同的权限
[ceph@ceph128 my-cluster]$ ceph auth get-or-create client.cephfs mon ‘allow r’ mds ‘allow rw path=/’ osd ‘allow rw pool=cephfs_data’ -o ceph.client.cephfs.keyring

把生成的公钥拷贝到客户机对应目录下
  • 1

[ceph@ceph128 my-cluster]$ scp
ceph.client.cephfs.keyring root@10.181.16.103:/etc/ceph

5.2 通过内核驱动和FUSE客户端挂载Ceph FS
在Linux内核2.6.34和以后的版本中添加了对Ceph的本机支持。

创建挂载目录

[root@ceph103 ~]# mkdir /mnt/cephfs

挂载,挂载的方式有两种

ceph auth get-key client.cephfs // 在 ceph fs服务器上执行,获取key
一种是直接使用公钥明文挂载
[root@ceph103 ~]# mount -t ceph ceph129:6789:/ /mnt/cephfs/
-o name=cephfs,secret=AQA0/Vtdy4WcIBAA7vRd/mqsMUSYMsq8KOjf/w==

另外一种是使用公钥文件进行挂载
[root@ceph103 ceph]# cp ceph.client.cephfs.keyring cephfskey //复制一份公钥文件

[root@ceph103 ceph]# vi cephfskey //修改公钥文件,删除多余行

如下图所示

[root@ceph103 ceph]# mount -t ceph ceph129:6789:/ /mnt/cephfs
-o name=cephfs,secretfile=/etc/ceph/cephfskey

加入开机自启文件
[root@ceph103 ceph]# echo “ceph129:6789:/ /mnt/cephfs ceph
name=cephfs,secretfile=/etc/ecph/cephfskey,_netdev,noatime 0 0” >> /etc/fstab

Ceph文件系统由LINUX内核本地支持;但是,如果您的主机在较低的内核版本上运行,或者您有任何应用程序依赖项,您总是可以使用FUSE客户端让Ceph挂载Ceph FS

安装软件包

查看是否安装ceph-fuse包
[root@ceph103 ceph]# rpm -qa|grep ceph-fuse
若没有安装就进行安装
yum -y intall ceph-fuse

挂载

[root@ceph103 ~]# ceph-fuse -keyring /etc/ceph/ceph.client.cephfs.keyring --name client.cephfs -m ceph219L6789 /mnt/cephfs
加入开机启动项
echo “id=cephfs,keyring=/etc/ceph/ceph.client.cephfs.keyring /mnt/cephfs
fuse.ceph defaults 0 0 _netdev” >> /etc/fstab
注:因为 keyring文件包含了用户名,所以fstab不需要指定用了

5.3 将Ceph FS 导出为NFS服务器
网络文件系统(Network Filesystem, NFS)是最流行的可共享文件系统协议之一,每个基于unix的系统都可以使用它。不理解Ceph FS类型的基于unix的客户机仍然可以使用NFS访问Ceph文件系统。要做到这一点,我们需要一个NFS服务器,它可以作为NFS共享重新导出Ceph FS。NFS-ganesha是一个在用户空间中运行的NFS服务器,使用libcephfs支
持Ceph FS文件系统抽象层(FSAL)。

安装软件

[root@ceph128 ~]# yum install nfs-utils nfs-ganesha

启动 NFS所需的rpc服务

[root@ceph128 ~]# systemctl start rpcbind; systemctl enable rpcbind
[root@ceph128 ~]# systemctl start rpc-statd.service

修改配置文件

[root@ceph129 ~]# vi /etc/ganesha/ganesha.conf

#通过提供Ganesha.conf 启动NFS Ganesha守护进程
[root@ceph129 ~]# ganesha.nfsd -f /etc/ganesha.conf -L /var/log/ganesha.log -N NIV_DEBUG
[root@ceph129 ~]# showmount -e

客户端挂载

[root@ceph103 ~]# yum install -y nfs-utils
[root@ceph103 ~]# mkdir /mnt/cephnfs
[root@ceph103 ~]# mount -o rw,noatime ceph129:/ /mnt/cephnfs

  1. Ceph 对象存储
    4.1 部署Ceph对象存储
    作为文件系统的磁盘,操作系统不能直接访问对象存储。相反,它只能通过应用程序级别的API访问。Ceph是一种分布式对象存储系统,通过Ceph对象网关提供对象存储接口,也称为RADOS网关(RGW)接口,它构建在Ceph RADOS层之上。RGW使用librgw (RADOS Gateway Library)和librados,允许应用程序与Ceph对象存储建立连接。RGW为应用程序提
    供了一个RESTful S3 / swift兼容的API接口,用于在Ceph集群中以对象的形式存储数据。Ceph还支持多租户对象存储,可以通过RESTful API访问。此外,RGW还支持Ceph管理API,可以使用本机API调用来管理Ceph存储集群。
    librados软件库非常灵活,允许用户应用程序通过C、c++、Java、Python和PHP绑定直接访问Ceph存储集群。Ceph对象存储还具有多站点功能,即为灾难恢复提供解决方案。

对于生产环境,建议您在物理专用机器上配置RGW。但是,如果您的对象存储工作负载不太大,您可以考虑将任何监视器机器作为RGW节点使用。RGW是一个独立的服务,它从外部连接到Ceph集群,并向客户端提供对象存储访问。在生产环境中,建议您运行多个RGW实例,由负载均衡器屏蔽,如下图所示:

安装ceph-radosgw

[root@ceph128 ~]# yum -y install ceph-radosgw

部署

[ceph@ceph128 my-cluster]$ ceph-deploy rgw create ceph128 ceph129 ceph132

配置80端口

[root@ceph128 ~]# vi /etc/ceph/ceph.conf

[ceph@ceph128 my-cluster]$ sudo systemctl restart
ceph-radosgw@rgw.ceph128.service
注:当使用负载均衡的时候才需要进行配置,配置之后就使用80端口,这里是测试,所有就不进行修改
删除池的命令:ceph osd pool delete rbd rbd --yes-i-really-really-mean-it
[ceph@ceph128 my-cluster]$ wget
https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/rgw/pool
[ceph@ceph128 my-cluster]$ wget
https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/rgw/create_pool.sh

对脚本附加执行权限
[ceph@ceph128 my-cluster]$ chmod +x create_pool.sh
修改脚本内容
[ceph@ceph128 my-cluster]$ vi create_pool.sh

执行脚本创建池
[ceph@ceph128 my-cluster]$ sudo ./create_pool.sh

因为权限不对,因此复制到当前文件夹中
[ceph@ceph128 my-cluster]$ sudo cp
/var/lib/ceph/radosgw/ceph-rgw.ceph128/keyring ./

查看是否可以使用key文件进行集群访问
[ceph@ceph128 my-cluster]$ ceph -s -k keyring --name client.rgw.ceph128

4.2 使用 S3 API 访问 Ceph 对象存储

创建 radosgw 用户

[root@ceph128 ~]# radosgw-admin user create --uid=radosgw --display-name=“radosgw”

注意:请把 access_key 和 secret_key 保存下来 ,如果忘记可使用:radosgw-admin user info --uid … -k … --name …
———————————————————————————————————
“user”: “radosgw”,
“access_key”: “DF2LWSS0JW8MP19W0V3H”,
“secret_key”: “KpIMc5hsUFwOmom1NUNuy8I7R3DHgE0tbrSBK01L”

安装 s3cmd 客户端

[root@ceph103 ~]# yum install s3cmd

生成一个配置文件,在当前目录下,输入128生成的key
[root@ceph103 ~]# s3cmd –configure

注:国家只支持US

配置完之后会在当前目录下生成.s3cfg,编辑 .s3cfg 文件,修改 host_base 和 host_bucket

注:域名一定要进行配置,才可以时候api进行访问

创建桶并放入文件

s3cmd mb s3://first-bucket
s3cmd ls
s3cmd put /etc/hosts s3://first-bucket
s3cmd ls s3://first-bucket

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值