ceph 005 赋权补充 rbd块映射
我的ceph版本
[root@serverc ~]# ceph -v
ceph version 16.2.0-117.el8cp (0e34bb74700060ebfaa22d99b7d2cdc037b28a57) pacific (stable)
认证授权
[root@serverc ~]# ceph auth get-or-create client.user2 mon 'allow rw' osd 'allow rw pool=pool2' > /etc/ceph/ceph.client.user2.keyring
只能看指定池子
x: x权限
[root@serverc ~]# ceph auth get-or-create client.user2 --id boss
Error EACCES: access denied
[root@serverc ~]# ceph auth get client.boss
[client.boss]
key = AQBOcfdinDbjNBAAKADdWC1teSs1k+IngZFtLA==
caps mon = "allow rw"
caps osd = "allow rw"
exported keyring for client.boss
[root@serverc ~]#
[root@serverc ~]# ceph auth caps client.boss mon 'allow rwx' osd 'allow rwx'
updated caps for client.boss
[root@serverc ~]# ceph auth get-or-create client.user2 --id boss
[client.user2]
key = AQCpb/ditbuXExAAI0DbTNL5dJta4DwXsd4pIw==
[root@serverc ~]# ceph auth get-or-create client.user3 --id boss
[client.user3]
key = AQAgcvdifGyoHxAAyiO5TzBFb7n6ajvE18STRg==
[root@serverc ~]#
让你可以创建用户(偏向于管理员)
指定权限

ceph auth ls --keyring abc --name client.boss
当key不在标准的/etc目录时,可以指定
ceph auth get-or-create client.user1 mon 'allow rw' osd 'allow rw pool=pool1 namespace=sys' > /etc/ceph/ceph.client.user8.keyring
精细化指定存储池,以及命名空间,不指定则是所有命名空间,及所有存储池
要保证ceph用户对密钥文件和配置文件由读权限
修改权限时,要注意,全部都写上,不能写一点补一点
删除用户
ceph auth del client.user3
--id 默认admin
--name 默认client.admin
--keyring 默认/etc/ceph/ceph.client.admin.keyring
--conf 默认/etc/ceph/ceph.conf
profile 授权
osd相互访问会使用osd profile权限

内部权限相当是,但可以赋给user1
访问相应rbd,osd,mds之类
[root@serverc ceph]# ceph auth get-or-create-key client.user1
AQBifPZijsT7IhAAJa5qCKaMzQX29ni2yJu//Q==
获取key

ceph auth get client.xxx 可以看到权限信息
导出用户
ceph auth get client.breeze -o /etc/ceph/ceph.client.breeze.keyring
导入用户
ceph auth import -i /etc/ceph/ceph.client.breeze.keyring
Ceph密钥管理
客户端访问ceph集群时,会使用本地的keyring文件,默认依次查找下列路径和名称的keyring文件:
/etc/ceph/$cluster.$name.keyring
/etc/ceph/$cluster.keyring
/etc/ceph/keyring
/etc/ceph/keyring.bin
管理RBD块

ceph的三种存储模式,都基于存储池
[root@serverc ceph]# ceph osd pool create rbdpool
pool 'rbdpool' created
[root@serverc ceph]# ceph osd pool application enable rbdpool rbd
enabled application 'rbd' on pool 'rbdpool'
同样效果或者两个都写
rbd pool init rbd
从存储池创建一个块
裸设备从池中创建,名为镜像(被挂载的家伙)
创建一个指定用户,去管理rbd
[root@serverc ceph]# ceph auth get-or-create client.rbd mon 'profile rbd' mgr 'profile rbd' osd 'profile rbd' > /etc/ceph/ceph.client.rbd.keyring
这个用户可以给业务端
[classroom环境]
clienta 管理节点 是集群一份子,没有osd。集群客户端
业务客户端(服务器)
虚拟机可不可以把东西放在rbd里

alias rbd='rbd --id rbd'
可以偷懒
创建镜像
[root@serverc ceph]# rbd -p rbdpool create --size 1G image1 --id rbd
查看存储池里的镜像
[root@serverc ceph]# rbd ls -p rbdpool --id rbd
image1
查看镜像详情
[root@serverc ceph]# rbd info rbdpool/image1 --id rbd
rbd image 'image1':
size 1 GiB in 256 objects
order 22 (4 MiB objects)
snapshot_count: 0
id: fae567c39ea1
block_name_prefix: rbd_data.fae567c39ea1
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
op_features:
flags:
create_timestamp: Sat Aug 13 07:59:16 2022
access_timestamp: Sat Aug 13 07:59:16 2022
modify_timestamp: Sat Aug 13 07:59:16 2022
256个对象
查看对象
[root@serverc ceph]# rados -p rbdpool ls
rbd_object_map.fae567c39ea1
rbd_directory
rbd_info
rbd_header.fae567c39ea1
rbd_id.image1
元数据信息,描述这个词,与对象的信息
用了再分配对象,不会立即吃你1G
镜像映射到服务器
客户端需要rbd命令
特殊权限用户
ceph配置文件
映射
[root@serverc ceph]# rbd map rbdpool/image1 --id rbd
[root@serverc ceph]# rbd showmapped
id pool namespace image snap device
0 rbdpool image1 - /dev/rbd0
1 rbdpool image1 - /dev/rbd1
[手误映射多了,取消rbd的一个映射]
[root@serverc ceph]# rbd unmap /dev/rbd1
[root@serverc ceph]# mkfs.xfs /dev/rbd0
meta-data=/dev/rbd0 isize=512 agcount=8, agsize=32768 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=16 swidth=16 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=16 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Discarding blocks...Done.
[root@serverc ceph]# mkdir /mnt/rbd0
[root@serverc ceph]# mount /dev/rbd0 /mnt/rbd0/
[root@serverc ceph]# df -h
/dev/rbd0 1014M 40M 975M 4% /mnt/rbd0
[root@serverc ceph]# rados -p rbdpool ls
rbd_data.fae567c39ea1.0000000000000020
rbd_object_map.fae567c39ea1
rbd_data.fae567c39ea1.0000000000000040
rbd_data.fae567c39ea1.00000000000000c0
rbd_directory
rbd_info
rbd_data.fae567c39ea1.0000000000000080
rbd_data.fae567c39ea1.00000000000000a0
rbd_data.fae567c39ea1.0000000000000060
rbd_data.fae567c39ea1.0000000000000000
rbd_header.fae567c39ea1
rbd_data.fae567c39ea1.00000000000000e0
rbd_data.fae567c39ea1.00000000000000ff
rbd_id.image1
[root@serverc rbd0]# dd if=/dev/zero of=file1 bs=1M count=20
[root@serverc rbd0]# sync
[root@serverc rbd0]# rados -p rbdpool ls
rbd_data.fae567c39ea1.0000000000000020
rbd_object_map.fae567c39ea1
rbd_data.fae567c39ea1.0000000000000040
rbd_data.fae567c39ea1.00000000000000c0
rbd_directory
rbd_data.fae567c39ea1.0000000000000003
rbd_data.fae567c39ea1.0000000000000001
rbd_info
rbd_data.fae567c39ea1.0000000000000080
rbd_data.fae567c39ea1.00000000000000a0
rbd_data.fae567c39ea1.0000000000000060
rbd_data.fae567c39ea1.0000000000000000
rbd_header.fae567c39ea1
rbd_data.fae567c39ea1.00000000000000e0
rbd_data.fae567c39ea1.0000000000000004
rbd_data.fae567c39ea1.0000000000000002
rbd_data.fae567c39ea1.00000000000000ff
rbd_id.image1
rbd_data.fae567c39ea1.0000000000000005
[root@serverc rbd0]#
看不出什么
块多是因为三副本
扩大
[root@serverc rbd0]# rbd resize --size 2G rbdpool/image1 --id rbd
Resizing image: 100% complete...done.
[root@serverc rbd0]# rbd du rbdpool/image1
NAME PROVISIONED USED
image1 2 GiB 56 MiB
[root@serverc rbd0]# xfs_growfs /mnt/rbd0/
meta-data=/dev/rbd0 isize=512 agcount=8, agsize=32768 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=16 swidth=16 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=16 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 262144 to 524288
[root@serverc rbd0]# df -h | tail -n 2
tmpfs 576M 0 576M 0% /run/user/0
/dev/rbd0 2.0G 68M 2.0G 4% /mnt/rbd0
1.创建rbd存储池
ceph osd pool create rbdpool
2.初始化rbd存储池
rbd pool init rbdpool
3.创建rbd用户
ceph auth get-or-create client.rbd mon 'profile rbd' mgr 'profile rbd' osd 'profile rbd' > /etc/ceph/ceph.client.rbd.keyring
允许与rbd有关的所有相关操作
4.创建rbd镜像
alias rbd='rbd --id rbd'
rbd --id rbd --size 1G rbdpool/image1
5.映射镜像
rbd map rbdpool/image1
rbd showmapped
6.格式化rbd
mkfs.xfs /dev/rbd0
7.挂载
mount /dev/rbd0 /mnt/rbd0
8.永久挂载
/dev/rbd0 /mnt/rbd0 xfs defaults,_netdev 0 0
网络设备,要等一切服务起来之后(不加_netdev真的会起不来)
9.开机自动映射
[root@serverc ~]# vim /etc/ceph/rbdmap
[root@serverc ~]# cat /etc/ceph/rbdmap
# RbdDevice Parameters
#poolname/imagename id=client,keyring=/etc/ceph/ceph.client.keyring
rbdpool/image1 id=rbd,keyring=/etc/ceph/ceph.client.rbd.keyring
[root@serverc ~]# systemctl enable rbdmap.service
Created symlink /etc/systemd/system/multi-user.target.wants/rbdmap.service → /usr/lib/systemd/system/rbdmap.service.
[root@serverc ~]#
ceph-common带上了这个服务
10.扩容
rbd resize --size 2G rbdpool/image1
xfs_growfs /mnt/rbd0/
11.删除
[root@serverc ~]# umount /mnt/rbd0
[root@serverc ~]# rbd unmap rbdpool/image1
[root@serverc ~]# rbd showmapped
[root@serverc ~]# rbd rm rbdpool/image1
Removing image: 100% complete...done.
[root@serverc ~]#
12.回收站功能(不太确定要不要删)
[root@serverc ~]# rbd create --size 1G rbdpool/image2
[root@serverc ~]# rbd trash move rbdpool/image2
[root@serverc ~]# rbd -p rbdpool ls
[root@serverc ~]# rbd trash ls -p rbdpool
fb5f7c2dd404 image2
[root@serverc ~]# rbd trash restore fb5f7c2dd404 -p rbdpool
[root@serverc ~]# rbd -p rbdpool ls
image2
[root@serverc ~]#
rbd trash purge
清除回收站里的指定池的所有数据

ceph 005 赋权补充 rbd块映射的更多相关文章
- ceph集群jewel版本 rbd 块map 报错-故障排查
测试信息如下: [root@ceph_1 ~]# ceph osd pool lsrbdchy_123swimmingpool #新建rbd 块: rbd create swimmingpool/ba ...
- rbd块映射
rbd块映射: root@u18:~# rbd create kvm/test002.img --size root@u18:~# rbd info kvm/test002.img rbd image ...
- 理解 QEMU/KVM 和 Ceph(2):QEMU 的 RBD 块驱动(block driver)
本系列文章会总结 QEMU/KVM 和 Ceph 之间的整合: (1)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (2)QEMU 的 RBD 块驱动(block driver) (3)存 ...
- 006 管理Ceph的RBD块设备
一, Ceph RBD的特性 支持完整和增量的快照 自动精简配置 写时复制克隆 动态调整大小 二.RBD基本应用 2.1 创建RBD池 [root@ceph2 ceph]# ceph osd pool ...
- ceph rbd块存储挂载及文件存储建立
一.rbd块存储挂载 1 创建一个OSD pool # ceph osd pool create rbd1 128 查询存储空间使用 # ceph df GLOBAL: SIZE AVAIL RAW ...
- 7. Ceph 高级篇 - RBD块设备回收站、快照、克隆
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485298&idx=1&sn=b83fda07 ...
- 3.Ceph 基础篇 - RBD 块存储使用
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485253&idx=1&sn=24d9b06a ...
- Ceph14.2.5 RBD块存储的实战配置和详细介绍,不看后悔! -- <3>
Ceph RBD介绍与使用 RBD介绍 RBD即RADOS Block Device的简称,RBD块存储是最稳定且最常用的存储类型.RBD块设备类似磁盘可以被挂载. RBD块设备具有快照.多副本.克隆 ...
- 一篇文章让你理解Ceph的三种存储接口(块设备、文件系统、对象存储)
“Ceph是一个开源的.统一的.分布式的存储系统”,这是我们宣传Ceph时常说的一句话,其中“统一”是说Ceph可以一套存储系统同时提供块设备存储.文件系统存储和对象存储三种存储功能.一听这句话,具有 ...
随机推荐
- Android 子线程 UI 操作真的不可以?
作者:vivo 互联网大前端团队- Zhang Xichen 一.背景及问题 某 SDK 有 PopupWindow 弹窗及动效,由于业务场景要求,对于 App 而言,SDK 的弹窗弹出时机具有随机性 ...
- nazo.io 通关记录
游戏网址 说在前面 答案错误页面 nazo.io/wrong 攻略 第0关 谜.io 纯粹是欢迎你来游戏. 所以他给你的start就是答案. 第1关 欢迎 它用灰体字写了key: welcome 直接 ...
- 代码模板整理(0):先水一波a+b
梦开始的地方 "Hello World!" #include<bits/stdc++.h> using namespace std; int main(){ cout& ...
- JAVA - 如何判断一个类是无用的类
JAVA - 如何判断一个类是无用的类 方法区主要回收的是无用的类,那么如何判断一个类是无用的类的呢? 判定一个常量是否是"废弃常量"比较简单,而要判定一个类是否是"无用 ...
- WindowsServer评估版转为正式版并激活
更新记录 本文迁移自Panda666原博客,原发布时间:2021年5月16日. 一般从官网下载的Windows Server版本都是评估试用版本.这时候想转为正式版本,就需要使用转换激活代码.请参照不 ...
- SpringBoot之:SpringBoot中使用HATEOAS
目录 简介 我们的目标 构建Entity和Repository 构建HATEOAS相关的RepresentationModel 构建Controller HATEOAS的意义 总结 简介 HATEOA ...
- Linux云服务器 磁盘分区失败
背景:阿里云服务器,df -h /dev/vda1有40g,然后想把这40g拆一下,拆成几个分区,挂载到不同的路径下. 行动:需要先卸载挂载的盘,但是umount失败,通过fuser删除盘上的服务失 ...
- 分享一个网上搜不到的「Redis」实现「聊天回合制」的方案
前言 为什么说网上搜不到,因为关于聊天回合制的方案作者本人快把百度搜秃噜了也没找到,好在最终是公司一个关系不错的大佬帮提供了点思路,最终作者将其完整实现了出来. 分享出来大家可以收藏,万一你哪天也碰到 ...
- RPA应用场景-信用卡交易争议后续流程
RPA应用场景-信用卡交易争议后续流程 场景概述 信用卡交易争议后续流程 所涉系统名称 客服系统,邮件 人工操作(时间/次) 4小时 所涉人工数量20操作频率 不定时 场景流程 1.RPA自动接收客户 ...
- Linux for CentOS 下的 nginx 绿色安装-超省心安装
1.我这里是nginx-1.13.0-1.x86_64 .rpm(点击下载)版本的. 2.安装nginx的相应环境.有些环境可能不必须,但是安装了,确保以防万一,多多益善 yum install gd ...