Ceph分布式存储系统实战操作演示
Ceph分布式存储系统实战操作演示
今天分享:Ceph分布式存储系统实战操作演示的内容,下面来一起了解一下吧。
1)块存储使用(RDB )

1、 使用 create 创建 pool 池
ceph osd lspools
# 创建
ceph osd pool create ceph-demo 64 64
# 创建命令时需要指定PG、PGP数量,还可以指定复制模型还是纠删码模型,副本数量等等
# osd pool create <pool> [<pg_num:int>] [<pgp_num:int>] [replicated|erasure] [<erasure_code_ create pool profile>] [<rule>] [<expected_num_objects:int>] [<size:int>] [<pg_num_min:int>] [on|off| warn] [<target_size_bytes:int>] [<target_size_ratio:float>]
【温馨提示】PG (Placement Group),pg是一个虚拟的概念,用于存放object,PGP(Placement Group for Placement purpose),相当于是pg存放的一种osd排列组合。
ceph osd lspools
# 创建
ceph osd pool create ceph-demo 64 64
# 创建命令时需要指定PG、PGP数量,还可以指定复制模型还是纠删码模型,副本数量等等
# osd pool create <pool> [<pg_num:int>] [<pgp_num:int>] [replicated|erasure] [<erasure_code_ create pool profile>] [<rule>] [<expected_num_objects:int>] [<size:int>] [<pg_num_min:int>] [on|off| warn] [<target_size_bytes:int>] [<target_size_ratio:float>]
【温馨提示】PG (Placement Group),pg是一个虚拟的概念,用于存放object,PGP(Placement Group for Placement purpose),相当于是pg存放的一种osd排列组合。
获取 pool 池属性信息,可以重新设置,有很多参数,都可以如下设置
# 1、获取 pg 个数
ceph osd pool get ceph-demo pg_num
# 2、获取 pgp 个数
ceph osd pool get ceph-demo pgp_num
# 3、获取副本数
ceph osd pool get ceph-demo size
# 4、获取使用模型
ceph osd pool get ceph-demo crush_rule
# 5、设置副本数
ceph osd pool set ceph-demo size 2
# 6、设置 pg 数量
ceph osd pool set ceph-demo pg_num 128
# 7、设置 pgp 数量
ceph osd pool set ceph-demo pgp_num 128
2、需要初始化 pool
rbd pool init ceph-demo
3、创建 rbd 块设备
# 查看 块设备
rbd -p ceph-demo ls
# 【方式一】创建块设备
rbd create -p ceph-demo --image rbd-demo.img --size 10G
# 【方式二】创建块设备
rbd create ceph-demo/rbd-demo2.img --size 10G
# 查看 块设备
rbd -p ceph-demo ls
4、查看块设备信息
rbd info ceph-demo/rbd-demo2.img
5、删除块设备
rbd rm -p ceph-demo --image rbd-demo2.img
6、设备挂载
rbd pool init ceph-demo
# 查看 块设备
rbd -p ceph-demo ls
# 【方式一】创建块设备
rbd create -p ceph-demo --image rbd-demo.img --size 10G
# 【方式二】创建块设备
rbd create ceph-demo/rbd-demo2.img --size 10G
# 查看 块设备
rbd -p ceph-demo ls
4、查看块设备信息
rbd info ceph-demo/rbd-demo2.img
5、删除块设备
rbd rm -p ceph-demo --image rbd-demo2.img
6、设备挂载
rbd info ceph-demo/rbd-demo2.img
rbd rm -p ceph-demo --image rbd-demo2.img
6、设备挂载
由于没有虚拟机进行挂载,所以需要使用内核 map 进行挂载;
rbd map ceph-demo/rbd-demo.img
[root@local-168-182-130 ceph]# rbd map ceph-demo/rbd-demo.img
rbd: sysfs writefailed
RBD image feature set mismatch. You can disable featuresunsupportedby the kernel with “rbd feature disable ceph-demo/rbd-demo.img object-map fast-diff deep-flatten”.
In some cases useful info is found in syslog – try “dmesg | tail”.
rbd: mapfailed: (6) No such device or address
映射的过程当中出现错误,这是因为 Centos7 当中不支持这几个特性,我们可以在创建时指定 features 。
rbd feature disable ceph-demo/rbd-demo.img deep-flatten
rbd feature disable ceph-demo/rbd-demo.img fast-diff
rbd feature disable ceph-demo/rbd-demo.img object-map
rbd feature disable ceph-demo/rbd-demo.img exclusive-lock
再次挂载,挂载成功
rbd map ceph-demo/rbd-demo.img
查看设备列表
rbd device list
通过fdisk 查看设备列表
fdisk -l
使用 rbd 设备
# 格式化
mkfs.ext4 /dev/rbd0
# 创建挂载目录
mkdir /mnt/rbd-demo
# 挂载
mount /dev/rbd0 /mnt/rbd-demo/
7、块设备扩容
设备可以扩容,也可以缩容,但不建议使用缩容,有可能产生数据丢失。
# 扩容
rbd resize ceph-demo/rbd-demo.img --size 10G
# 查看
rbd -p ceph-demo info --image rbd-demo.img
# 也可以通过lsblk查看
lsblk
8、卸载
umount /mnt/rbd-demo
2)文件系统使用(CephFS)
umount /mnt/rbd-demo

1、查看ceph文件系统
ceph fs ls
2、创建存储池
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 128
# 创建命令时需要指定PG、PGP数量,还可以指定复制模型还是纠删码模型,副本数量等等
# osd pool create <pool> [<pg_num:int>] [<pgp_num:int>] [replicated|erasure] [<erasure_code_ create pool profile>] [<rule>] [<expected_num_objects:int>] [<size:int>] [<pg_num_min:int>] [on|off| warn] [<target_size_bytes:int>] [<target_size_ratio:float>]
【温馨提示】PG (Placement Group),pg是一个虚拟的概念,用于存放object,PGP(Placement Group for Placement purpose),相当于是pg存放的一种osd排列组合。
3、创建文件系统
ceph fs new 128 cephfs_metadata cephfs_data
#此时再回头查看文件系统,mds节点状态
ceph fs ls
ceph mds stat
4、查看存储池配额
ceph osd pool get-quota cephfs_metadata
5、内核驱动挂载ceph文件系统
ceph fs ls
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 128
# 创建命令时需要指定PG、PGP数量,还可以指定复制模型还是纠删码模型,副本数量等等
# osd pool create <pool> [<pg_num:int>] [<pgp_num:int>] [replicated|erasure] [<erasure_code_ create pool profile>] [<rule>] [<expected_num_objects:int>] [<size:int>] [<pg_num_min:int>] [on|off| warn] [<target_size_bytes:int>] [<target_size_ratio:float>]
【温馨提示】PG (Placement Group),pg是一个虚拟的概念,用于存放object,PGP(Placement Group for Placement purpose),相当于是pg存放的一种osd排列组合。
3、创建文件系统
ceph fs new 128 cephfs_metadata cephfs_data
#此时再回头查看文件系统,mds节点状态
ceph fs ls
ceph mds stat
4、查看存储池配额
ceph osd pool get-quota cephfs_metadata
5、内核驱动挂载ceph文件系统
ceph fs new 128 cephfs_metadata cephfs_data
#此时再回头查看文件系统,mds节点状态
ceph fs ls
ceph mds stat
ceph osd pool get-quota cephfs_metadata
5、内核驱动挂载ceph文件系统
【1】创建挂载点
mkdir /mnt/mycephfs
【2】获取存储密钥,如果没有前往管理节点重新复制
cat /etc/ceph/ceph.client.admin.keyring
#将存储密钥保存到/etc/ceph/admin.secret文件中:
vim /etc/ceph/admin.secret
# AQBFVrFjqst6CRAA9WaF1ml7btkn6IuoUDb9zA==
#如果想开机挂载可以写入/etc/rc.d/rc.local文件中
【3】挂载
# Ceph 存储集群默认需要认证,所以挂载时需要指定用户名 name 和创建密钥文件一节中创建的密钥文件 secretfile ,例如:
# mount -t ceph {ip-address-of-monitor}:6789:/ /mnt/mycephfs
mount -t ceph 192.168.182.130:6789:/ /mnt/mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret

【4】卸载
umount /mnt/mycephfs
6、常用命令
# 查看存储池副本数
ceph osd pool get [存储池名称] size
# 修改存储池副本数
ceph osd pool set [存储池名称] size 3
# 打印存储池列表
ceph osd lspools
# 创建存储池
ceph osd pool create [存储池名称] [pg_num的取值]
# 存储池重命名
ceph osd pool rename [旧的存储池名称] [新的存储池名称]
# 查看存储池的pg_num
ceph osd pool get [存储池名称] pg_num
# 查看存储池的pgp_num
ceph osd pool get [存储池名称] pgp_num
# 修改存储池的pg_num值
ceph osd pool set [存储池名称] pg_num [pg_num的取值]
# 修改存储池的pgp_num值
ceph osd pool set [存储池名称] pgp_num [pgp_num的取值]
3)对象存储使用(RGW)
# 查看存储池副本数
ceph osd pool get [存储池名称] size
# 修改存储池副本数
ceph osd pool set [存储池名称] size 3
# 打印存储池列表
ceph osd lspools
# 创建存储池
ceph osd pool create [存储池名称] [pg_num的取值]
# 存储池重命名
ceph osd pool rename [旧的存储池名称] [新的存储池名称]
# 查看存储池的pg_num
ceph osd pool get [存储池名称] pg_num
# 查看存储池的pgp_num
ceph osd pool get [存储池名称] pgp_num
# 修改存储池的pg_num值
ceph osd pool set [存储池名称] pg_num [pg_num的取值]
# 修改存储池的pgp_num值
ceph osd pool set [存储池名称] pgp_num [pgp_num的取值]
rados是和Ceph的对象存储集群(RADOS),Ceph的分布式文件系统的一部分进行交互是一种实用工具。
相关阅读
-
错误代码0x0000052e 出现错误代码0xt000000e解决教程
本文核心导读:出现错误代码0xt000000e解决教程的电脑小知识,关于 出现错误代码0xt000000e解决教程,接下来IT袋小编就来介绍。 更新了win10系统之后许多的小伙伴都不知道出现错误代码0xt00000
-
有过滤系统的鱼缸多久换一次水合适
一篇关于有过滤系统的鱼缸多久换一次水合适方面的经验,接下来IT袋网小编为大家介绍。 对于养鱼爱好者来说,鱼缸过滤系统可以说是一个必备的设备。它可以帮助去除鱼缸中的废弃物和有
-
msdn我告诉你怎么下载 msdn我告诉你怎么下载系统
小编为你介绍msdn我告诉你怎么下载方面的介绍,关于msdn我告诉你怎么下载 msdn我告诉你怎么下载系统,下面IT袋为您详细介绍 msdn我告诉你是一款非常高人气的系统安装软件,有着非常好的口碑
-
win11系统什么时候更新 win11升级后数据是否还在详情
跟大家聊一聊win11升级后数据是否还在详情的话题,关于win11升级后数据是否还在详情,接下来小编为网友介绍。 许多IT袋网友在电脑中存放了很多重要的文件,因此对于升级win11系统有顾虑,


