应用ceph对象存储(ceph-13.2.10)

记录:335

场景:在CentOS 7.9操作系统上,部署ceph-13.2.10集群。应用ceph对象存储(ceph object store);主要是创建对象存储客户端、使用s3cmd操作对象存储。

版本:

操作系统:CentOS 7.9

ceph版本:ceph-13.2.10

名词:

Ceph:一个开源的分布式存储系统。

Ceph: Ceph is a distributed object store and file system designed to provide excellent performance, reliability and scalability.

Amazon S3,Amazon Simple Storage Service的简称,是一种对象存储服务,使用唯一性键值来存储任意数量的对象。

S3cmd,是一个免费的命令行工具和客户端,用于在Amazon S3和其他使用S3协议的云存储服务提供商中上传、下载、检索和管理数据。比如,Ceph支持S3协议。

bucket,在Ceph的对象存储模式中,bucket存放格式是:s3://BUCKET,相当于根目录下的一级目录;对象在bucket中存放格式:s3://BUCKET/OBJECT。

bucket,直译:桶。

地址:

官网:https://docs.ceph.com/

安装包地址:https://mirrors.aliyun.com/ceph/rpm-mimic/

1.基础环境

1.1 Ceph集群(服务端)

集群已安装软件:ceph-deploy、ceph、ceph-radosgw。

集群已部署组件:mon、mgr、mds、osd、rgw。

查看集群状态:ceph -s

1.2 Ceph客户端

在集群之外的主机app166中部署客户端。操作ceph集群的存储系统。

安装命令:yum install -y ceph-common

解析:在客户端主机安装ceph-common,操作集群。

1.3主机软件规划

ceph集群和ceph客户端的主机、IP以及组件分布规划。

应用ceph对象存储(ceph-13.2.10)_第1张图片

1.4安装ceph

离线安装ceph集群,可以参考如下博文。

博文:离线安装ceph集群(ceph-13.2.10)

地址:https://blog.csdn.net/zhangbeizhen18/article/details/128052772

2.开启客户端认证

在主节点app161操作,操作目录:cd /etc/ceph。

(1)确认ceph.conf文件

文件:/etc/ceph/ceph.conf

内容:auth_client_required = cephx

(2)确认客户端秘钥

秘钥文件名称:/etc/ceph/ceph.client.admin.keyring

秘钥内容:

[client.admin]
key = AQDtioBjVwefMBAAu0/oJPK2khWK+juNOQkyZw==
caps mds = "allow *"
caps mgr = "allow *"
caps mon = "allow *"
caps osd = "allow *"

3.同步主节点配置文件到客户端

在主节点app161操作,操作目录:cd /etc/ceph。

(1)执行同步配置文件操作

命令:ceph-deploy admin 192.168.19.166

解析:ceph-deploy admin,执行同步配置命令;192.168.19.166,是客户端主机ip,如果没有配置免密,那么就需要输入密码确认。

(2)同步的文件列表

从主节点app161同步到客户端节点的配置文件:

ceph.client.admin.keyring、ceph.con、tmpW4qEGF。

4.客户端生成操作对象存储秘钥

在客户端app166操作,操作目录:cd /etc/ceph。

(1)创建秘钥

命令:radosgw-admin user create --uid="hangzhou" --display-name="hangzhou"

解析:radosgw-admin是安装ceph-common已安装;hangzhou,是指定的名称。

(2)生成秘钥信息

生成key信息:

...
"user": "hangzhou",
"access_key": "IH7D60Y1FCF3RZR9NG36",
"secret_key": "vAG2dK6kyhJTRPbH5Nogw0Uqja2UR8egPeRoxDNb"
...

5.安装s3cmd客户端

在客户端app166操作,操作目录:cd /etc/ceph。

(1)安装s3cmd

安装s3cmd命令:yum install -y s3cmd

安装辅助包:yum install -y python-pip

解析:s3cmd是操作对象存储的客户端。

6.配置s3cmd客户端

修改文件:vi /root/.s3cfg

修改内容:

[default]
access_key=IH7D60Y1FCF3RZR9NG36
secret_key=vAG2dK6kyhJTRPbH5Nogw0Uqja2UR8egPeRoxDNb
host_base=192.168.19.161:7480
host_bucket=192.168.19.161:7480/%(bucket)
cloudfront_host=192.168.19.161:7480
use_https=False

7.应用s3cmd操作对象存储

(1)ps帮助命令

命令:s3cmd --help

功能:查看s3cmd支持全部命令和选项,在实际工作中,查看这个手册应该是必备之选。

(2)配置s3cmd

命令:s3cmd --configure

功能:一个交互式配置工具。

(3)创建bucket

命令:s3cmd mb s3://hangzhou

功能:创建一个bucket,名称:hangzhou。bucket名称唯一,不能重复。

(4)删除空bucket

命令:s3cmd rb s3://hangzhou

功能:只能删除空桶,如果桶有内容需先删内容,再删除桶。

(5)查看bucket

命令:s3cmd ls

功能:查看桶列表。

命令:s3cmd ls s3://hangzhou/

功能:查看指定桶下的对象。

(6)查看bucket包括内容

命令:s3cmd la

功能:查看s3://下的桶列表,包括桶里面的对象。

(7)上传文件到bucket

命令:s3cmd put /home/jdk-8u281-linux-x64.tar.gz s3://hangzhou

功能:上传文件到ceph的桶中存储。

(8)从bucket下文件

命令:s3cmd get s3://hangzhou/jdk-8u281-linux-x64.tar.gz

功能:从ceph的桶中下载文件到本地。

(9)删除bucket中的文件

命令:s3cmd del s3://hangzhou/jdk-8u281-linux-x64.tar.gz

命令:s3cmd rm s3://hangzhou/jdk-8u281-linux-x64.tar.gz

功能:删除桶中文件。

(10)查看bucket已使用空间

命令:s3cmd du -H s3://hangzhou

功能:查看桶中对象,占用空间大小。

(11)获取bucket的信息

命令:s3cmd info s3://hangzhou

功能:查看桶信息。

命令:s3cmd info s3://hangzhou/jdk-8u281-linux-x64.tar.gz

功能:查看桶中对象信息。

(12)复制bucket中文件

命令:s3cmd cp s3://hangzhou/jdk-8u281-linux-x64.tar.gz s3://hangzhou_new

功能:把文件从一个桶复制到另一个桶。

(13)移动bucket中文件

命令:s3cmd mv s3://hangzhou/jdk-8u281-linux-x64.tar.gz s3://hangzhou_new

功能:把文件从一个桶移动到另一个桶。

(14)本地目录下文件同步bucket

命令:s3cmd sync /home/apps/software/ s3://hangzhou

功能:指定目录下文件,同步到ceph的桶中。

(15)对比指定目录下文件和bucket中文件差异

命令:s3cmd sync --dry-run /home/apps/software/ s3://hangzhou

功能:比对本地目录下文件和bucket文件差异。

(16)对比指定目录下文件和bucket中文件并删除桶中差异文件

命令:s3cmd sync --delete-removed /home/apps/software/ s3://hangzhou_new

功能:对比指定目录下文件和bucket中文件,删除指定目录没有但是在桶中有的文件;上传指定目录有的文件但是桶中没有的文件。

以上,感谢。

2022年11月26日

你可能感兴趣的:(L02-运维部署,ceph对象存储,ceph-13.2.10,运维,分布式存储系统,S3cmd)