文章目录
ceph块存储 文件系统存储 对象存储
前日知识补充
如何删除某个OSD
ceph osd tree
ceph osd out osd.4
ceph osd tree
ceph -s
ceph osd crush remove osd.4
ceph auth del osd.4
ceph -s
ceph osd rm osd.4
#最后要找到osd对应的主机,umount把osd.4(本例子中是osd.4)对应的磁盘卸载
ceph块存储
ceph 块存储使用案例
前置准备
昨天的环境 配置好ceph集群
案例
#node1
ceph osd lspools #查看存储池
0 rbd, #默认存储池名称为rbd 编号为0
rbd create demo-image --image-feature layering --size 10G #创建叫demo-image的镜像
rbd create rbd/jacob --image-feature layering --size 10G #rbd/jacob 指定那个存储池下创建镜像
# 指定镜像功能参数 开启COW(写时复制) 指定大小
rbd list #列出所有镜像
rbd info demo-image #查看某个镜像具体信息
rbd resize --size 15G jacob #改变jacob镜像的大小 实际变大
rbd resize --size 7G --allow-shrink #实际变小 要加--allow-shrink参数
rbd info jacob #可以查看下
#创建完成了接下来开始客户端访问
#client
yum -y install install ceph-common #访问需要的相关包
scp 192.168.4.5:/etc/ceph/ceph.conf /etc/ceph/ #不要疑惑client之前没装那四个包哪来的/etc/ceph/ 上面ceph-common包装的
scp 192.168.4.5:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ #拷贝连接密钥
rbd map jacob #客户端访问映射服务器的jacob共享镜像
lsblk #查看结果
....
rbd0 252:0 0 7G 0 disk # 有了
rbd showmapped #查看磁盘名和共享镜像名称的对应关系
id pool image snap device
0 rbd jacob - /dev/rbd0 #磁盘名/dev/rbd0对应jacob镜像
mkfs.xfs /dev/rbd0
mount /dev/rbd0 /mnt/ #挂载
echo "test" > /mnt/test.txt #写入数据
umount /mnt
rbd showmapped #查看
rbd unmap /dev/rbd0 #撤销磁盘映射
#node2测试数据
yum -y install ceph-common
#因为本身就是节点服务器 配置文件和密钥都有了 就不需要复制了
rbd map jacob
/dev/rbd0 #设备为/dev/rbd0
mount /dev/rbd0 /mnt #挂载
ls /mnt
test.txt #出现了 客户端存储的数据 被其他访问到了
rbd unmap /dev/rbd0 #撤销磁盘映射需要具体设备名
rbd: sysfs write failed
rbd: unmap failed: (16) Device or resource busy #报错了 在忙的意思
#思索下 没有取消挂载导致的
umount /mnt
rbd unmap /dev/rbd0 #取消磁盘映射
分析
ceph集群流程
- 准备工作 IP 主机名 hosts解析 ssh密钥 时间同步 yum源 防火墙 selinux
- 安装ceph-mon ceph-osd ceph-mds ceph-radosgw ceph-deploy
- 在一个目录下执行 ceph-deploy new 主机名(生成配置文件) 执行ceph-deploy mon create-initial (拷贝配置文件ceph.conf前一个命令生成的 到各节点服务器 并启动mon服务)
- ceph-deploy disk zap