ceph(二)

前言

本文主要讲述Ceph集群的快照,文件系统和对象存储

一、快照

快照可以保存某一时间点时的状态数据
快照是映像在特定时间点的只读逻辑副本
希望回到以前的一个状态,可以恢复快照
ps:快照使用COW技术,对大数据快照速度会更快

1、创建镜像快照

查看快照

client1:
rbd snap ls img1

创建镜像快照

# 为img1创建一个名为img1-sn1的快照
rbd snap create img1 --snap img1-sn1

还原快照

rbd snap rollback img1 --img1-sn1

ps:还原快照后需要重新挂载
保护快照,防止删除

#查询相关帮助
rbd help snap protect
rbd snap protect img1 --snap img1-sn1
# 尝试删除发现删不了
rbd snap rm img1 --snap img1-sn1

删除快照

# 取消保护
rbd snap unprotect img1 --snap img1-sn1
# 删除快照
rbd snap rm --snap img1-sn1

2、快照克隆

不能将一个镜像同时挂载到多个节点,如果这样操作,将会损坏数据
如果希望不同的节点,拥有完全相同的数据盘,可以使用克隆技术
克隆是基于快照的,不能直接对镜像克隆
快照必须是受保护的快照,才能克隆
克隆流程
镜像–创建–>快照–保护 -->受保护的快照–克隆–>克隆的镜像
给多个客户端生成数据相同的数据盘

创建名为img2的镜像,大小10G,创建快照,保护快照,通过快照克隆镜像
rbd clone img2 --snap img2-sn1 img2-sn1-1
rbd clone img2 --snap img2-sn1 img2-sn1-2 
创建的镜像可以通过rbd ls查看
rbd ls
不同客户通过不同的克隆镜像可以查看相同的数据

合并父子镜像
img2-sn1-2是基于img2的快照克隆来的,不能独立使用。
如果父镜像删除了,子镜像也无法使用。
将父镜像内容合并到子镜像中,子镜像就可以独立使用了。

# 把img2的数据合并到子镜像img2-sn1-2中
rbd flatten img2-sn1-2
# 查看状态,它就没有父镜像了
rbd info img2-sn1-2
# 删除父镜像,如果镜像正在被使用,则先取消
# 因为img2-sn1-2已经是独立的镜像了,所以它还可以使用

3、开机自动挂载

准备镜像

# 创建一个10G的镜像
rbd create img1 --size 10G
# 映射到本地
rbd map img1
# 创建文件系统
mkfs.xfs /dev/rbd0
# 设置开机自启动
# vim /etc/fstab
...
/dev/rbd/rbd/img1 /data xfs noauto 0 0 
# noauto的含义是等rbdmap服务启动后再挂载
# 启动rbdmap服务
systemctl enable rbdmap --now
# reboot查看结果
df -h /data/

二、ceph文件系统

文件系统:相当于是组织数据存储的方式。
格式化时,就是在为存储创建文件系统。
Linux对ceph有很好的支持,可以把ceph文件系统直接挂载到本地。
要想实现文件系统的数据存储方式,需要有MDS组件

使用MDS

元数据就是描述数据的属性。如属主、属组、权限等。

ceph文件系统中,数据和元数据是分开存储的
新建存储池
归置组PG:存储池包含PG。PG是一个容器,用于存储数据。为了管理方便,将数量众多的数据放到不同的PG中管理,而不是直接把所有的数据扁平化存放。
通常一个存储池中创建100个PG。
创建ceph文件系统

client1:
ceph osd pool create data01 100
ceph osd pool create metadata01 100
# 创建名为myfs1的cephfs,数据保存到data1中,元数据保存到metadata1中
ceph fs new myfs01 metadata01 data01
ceph osd lspools
ceph df
ceph fs ls
ceph orch apply mds myfs01 --placement="2 ceph1 ceph2"
ceph -s

客户端使用cephfs

# 挂载文件系统需要密码。查看密码
cat /etc/ceph/ceph.client.admin.keyring 
ps:-t 指定文件系统类型。-o是选项,提供用户名和密码
mkdir /mydata
mount.ceph 192.168.88.13:/ /mydata -o name=admin,secret=AQD9ZpJmcZK6HRAAQl1lGkzp33eJwk7Lc6GkNQ==
df -h /mydata/

四、对象存储

需要专门的客户端访问
键值对存储方式
对象存储需要rgw组件
安装部署

#配置服务端
client1:
#在ceph1/ceph2上部署rgw服务,名为myrgw
ceph orch apply rgw myrgw --placement="2 ceph1 ceph2" --port 8080
ceph -s
#配置客户端
client1:
# 安装amazon S3 cli工具(客户端工具)
yum install -y awscli
#在ceph中创建一个用户
radosgw-admin user create --uid=testuser --display-name="Test User" --email=test@tedu.cn --access-key=12345 --secret=67890
# 初始化客户端
aws configure --profile=ceph
AWS Access Key ID [None]: 12345
AWS Secret Access Key [None]: 67890
Default region name [None]:   # 回车
Default output format [None]: # 回车
#创建名为testbucket的bucket,用于存储数据
#vim /etc/hosts
192.168.88.11 ceph1
192.168.88.12 ceph2
192.168.88.13 ceph3
###
aws --profile=ceph --endpoint=http://ceph1:8080 s3 mb s3://testbucket
#上传文件
aws --profile=ceph --endpoint=http://ceph1:8080 --acl=public-read-write s3 cp /etc/hosts s3://testbucket/hosts.txt
#查看bucket数据
aws --profile=ceph --endpoint=http://ceph1:8080 s3 ls s3://testbucket
#下载数据
wget -O zhuji http://ceph1:8080/testbucket/hosts.txt
ps:wget需要 yum下载

访问Dashborad
https://192.168.88.11:8443 用户名admin密码123456

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值