当前位置:   article > 正文

Ceph块存储客户端的安装及块设备映射

ceph块存储客户端安装

我们继续上一小节的配置,进行ceph块存储客户端的安装以及块设备映射

首先在ceph1管理节点上创建ceph块客户端用户名和认证密钥

  1. ceph auth get-or-create client.rbd(用户名称) mon 'allow r'(对mon组件进行授权) osd 'allow class-read object_prefix rbd_children,allow rwx pool=rbd(默认的存储池)' | tee /etc/ceph/ceph.client.rbd.keyring //将认证密钥保存到 /etc/ceph目录下的ceph.client.rbd.keyring文件中
  2. 将客户端用户的认证密钥及配置文件拷贝到客户端主机
  3. scp /etc/ceph/ceph.conf /etc/ceph/ceph.client.rbd.keyring root@client:/etc/ceph/
  4. 检查客户端主机内核是否支持rbd模块
  5. modprobe rbd //这里要注意linux内核在3.11版本以后默认才支持rbd模块

安装ceph客户端

  1. 在客户端主机上支持以下命令
  2. wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo 下载ceph.repo镜像源
  3. yum install -y ceph //下载ceph需要使用epel源
  4. ceph -s --name client.rbd //查看集群的整体情况

Ceph块存储客户端的安装及块设备映射

块设备的创建及映射
ceph集群中默认创建的块设备会在rbd池中创建,但是使用deploy的安装方式部署的集群,rbd池默认不创建

  1. 在ceph1控制节点上创建存储池跟块设备
  2. ceph osd lspools //查看集群存储池信息
  3. ceph osd pool create rbd 512 //512为(pg num值)
  4. 确定pg num取值是强制性的,因为不能自动计算。下面是几个常用的值:
  5. 少于5个OSD时可以把pg num设置为128
  6. OSD数量在510个时,可把pg num设置为512
  7. OSD数量在1050个时,可把pg num设置为4096
  8. OSD数量大于50时,你得理解权衡方法,以及如何自己计算pg num取值

在客户端创建块设备

  1. 在客户端主机上执行以下命令
  2. rbd create rbd1 --size 10240 --name client.rbd
  3. rbd ls -p rbd --name client.rbd //查看存储池的信息
  4. rbd --image rbd1 info --name client.rbd //查看存储块的信息

Ceph块存储客户端的安装及块设备映射
映射块设备
rbd map --image rbd1 --name client.rbd
在执行此命令时会出现如下的错误

Ceph块存储客户端的安装及块设备映射
这是因为Linux3.11版本的内核不支持对象映射(object-map)、深平(deep-flatten)和快速diff(fast-diff).为了解决这个问题,这里禁用不支持的特性

  1. 有三种方式可以禁用这些功能特性
  2. 1)动态禁用
  3. 在客户端主机上执行此命令
  4. rbd feature disable rbd1 exclusive-lock object-map deep-flatten fast-diff --name client.rbd
  5. 2)创建RBD镜像时,只启动分层特性
  6. rbd create rbd2 --size 10240 --images-feature layering --name client.rbd
  7. 3)ceph配置文件中禁用
  8. rbd_default_features=1
  9. 这里我们使用第一种方式进行临时禁用
  10. rbd feature disable rbd1 exclusive-lock object-map deep-flatten fast-diff --name client.rbd
  11. 继续在客户端上进行映射
  12. rbd map --image rbd1 --name client.rbd
  13. 显示:/dev/rbd0
  14. rbd showmapped --name client.rbd //查看客户端rbd信息
  15. fdisk -l /dev/rbd0 //查看块存储设备磁盘
  16. mkfs.xfs /dev/rbd0
  17. mkdir /mnt/ceph-disk1
  18. mount /dev/rbd0 /mnt/ceph-disk1
  19. df -h /mnt/ceph-disk1

Ceph块存储客户端的安装及块设备映射

  1. 写入数据测试
  2. dd if=/dev/zero of=/mnt/ceph-disk1/file1 count=100 bs=1M
  3. 做成服务,开机自动挂载
  4. wget -O /usr/local/bin/rbd-mount https://raw.githubusercontent.com/aishangwei/ceph-demo/master/client/rbd-mount
  5. chmod +x /usr/local/bin/rbd-mount
  6. 更改脚本的配置信息
  7. 在下载的脚本中找到如下信息并将/etc/ceph后面的用户认证密钥改成自己的认证密钥
  8. rbd map $rbdimage --id rbd --keyring /etc/ceph/ceph.client.rbd.krying

Ceph块存储客户端的安装及块设备映射

  1. 下载服务自动启动脚本
  2. wget -O /etc/systemd/system/rbd-mount.service https://raw.githubusercontent.com/aishangwei/ceph-demo/master/client/rbd-mount.service
  3. systemctl daemon-reload
  4. systemctl enable rbd-mount
  5. umount /mnt/ceph-disk1 //卸载挂载的块存储
  6. systemctl start rbd-mount //启动自动挂载服务进行验证
  7. ll /mnt/ceph-disk1 //查看是否挂载成功

转载于:https://blog.51cto.com/11970509/2381262

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号