(2) ceph 客户端挂载使用RBD

RADOS 块设备 (RBD) 一一其前身是 Ceph 块设备Cep 客户端提供基于块的恃久化存储,通常作为一 个额外的磁盘使用,客户可以灵活地使用这个磁盘,可以作为裸设备使用 ,也可以格式化成文件系统,然后挂载它。RBD 利用 librbd 库并将块数据连续地存储在跨越多个 OSD 的条带状非储空间中 。RBD 由 Ceph Rados 层提供支持,因此每个块设备都分布多个 Ceph 节点上,从而提供了高性能和出色的可靠性, RBD 具有丰富的企业特性,如自动精简配置( thin proviioning) 、动态调整容量、快照、写时复制以及缓存。 协议作为主线内核驱动程序由 Linux 完全支持;它注支持多种虚拟化平台,如 KVM QEMU libvirt ,使得虚拟可以利用 Ceph 块设备 所有这些特点使 RBD 成为云平台(例如 OpenStack CloudStack)个理想选择 。
现在我们将学习如何创建一个 Ceph 块设备并使用它,在已经部署的集群上执行一下操作。

#ceph集群配置,任何一个节点都行
#(1)创建块存储pool池
[[email protected] osd]# ceph osd pool create rbd 128

#(2)查看已经创建的pools池
[[email protected] osd]# ceph osd lspools
1 rdb

#(3)初始化pool
[[email protected] osd]# rbd pool init rbd

#(4)ceph集群中创建remote_rbd71镜像 rbd_data1镜像
[[email protected] osd]# rbd create rbd_data1 --size 100G --image-feature layering
[[email protected] osd]# rbd create remote_rbd71 --size 100G --image-feature layering

#(5)查看rbd
[[email protected] /]# rbd ls -l
NAME SIZE PARENT FMT PROT LOCK
rbd_data1 10 GiB 2
remote_rbd71 100 GiB 2 excl

#(6)查看镜像详细信息
[[email protected] /]# rbd --image rbd_data1 info

#############ceph集群本地使用RBD##############

#(1)映射到本地,就可以翔本地硬盘一样使用了
[[email protected] osd]# rbd map rbd_data1
[email protected] osd]# rbd showmapped
id pool namespace image snap device
0 rbd rbd_data1 - /dev/rbd0

#(2)格式化,挂载使用
[[email protected] osd]# mkfs.xfs /dev/rbd0
[[email protected] /]# mount /dev/rbd0 /mnt/
[[email protected] /]# df -h
/dev/rbd0 10G 33M 10G 1% /mnt

#############远程主机使用RBD#################
注释:linux 内核从2.6.32版本开始支持ceph,对于客户端来说,要支持以本地化方式访问ceph设备快文件系统,建议使用2.6.34及以上版本的linux内核。
#(1)环境检查
[[email protected] ~]# uname -r 查看内核版本
3.10.0-862.14.4.el7.x86_64
[[email protected] ~]# modprobe rbd
检查是否支持rbd,module rbd not found表示不支持

#(2)客户端添加ceph集群主机host解析
[[email protected] ~]# vim /etc/hosts
10.10.202.140 node140
10.10.202.141 node141
10.10.202.142 node142
10.10.202.143 node143

#(3)安装ceph 客户端,对应版本,我装的N版本
[[email protected] ~]# yum -y install centos-release-ceph-nautilus.noarch
[[email protected] ~]# yum -y install ceph-common

#(4)将ceph服务端的密钥拷贝到ceph客户端
PS:生产环境不要拷贝admin密钥,建立分权密钥,或者创建用户
[[email protected] /]# scp /etc/ceph/ceph.client.admin.keyring 10.10.202.71:/etc/ceph/
[[email protected] /]# scp /etc/ceph/ceph.conf 10.10.202.71:/etc/ceph/

#(5)客户端查看
[[email protected] ~]# rbd --image remote_rbd71 info
rbd image ‘remote_rbd71‘:
size 100 GiB in 25600 objects
order 22 (4 MiB objects)
snapshot_count: 0
id: 148fdf5968ea2
block_name_prefix: rbd_data.148fdf5968ea2
format: 2
features: layering, exclusive-lock
op_features:
flags:
create_timestamp: Mon Aug 26 15:23:16 2019
access_timestamp: Mon Aug 26 15:23:16 2019
modify_timestamp: Mon Aug 26 15:23:16 2019

#(6)客户端映射,第一次提示报错,不支持的特性,执行下面那条命令
[[email protected] ~]# rbd map rbd/remote_rbd71
rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable remote_rbd1 object-map fast-diff deep-flatten".
In some cases useful info is found in syslog - try "dmesg | tail".
rbd: map failed: (6) No such device or address
#(7)根据提示,关闭特性
[[email protected] ~]# rbd feature disable remote_rbd1 object-map fast-diff deep-flatten

#(8)客户端重新map,rbd是pool名字,remote_rbd71是快存储名字
[[email protected] ~]# rbd map rbd/remote_rbd71
/dev/rbd0

#(9)查看映射
[[email protected] ~]# rbd showmapped
id pool namespace image snap device
0 rbd remote_rbd71 - /dev/rbd0

#(10)附加:取消映射操作
#[[email protected] /]# rbd unmap /dev/rbd/rbd/remote_rbd71

#(11)查看fdisk -l 就可以看到硬盘
[[email protected] ~]# fdisk -l
Disk /dev/rbd0: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4194304 bytes / 4194304 bytes

#(12)格式化,挂载使用,永久挂载
[[email protected] ~]# mkfs.xfs /dev/rbd0
[[email protected] ~]# mount /dev/rbd0 /mnt/
[[email protected] ~]#vim /etc/fstab
/dev/rbd0 /mnt defaults 0 0

原文地址:https://blog.51cto.com/7603402/2432693

时间: 2024-10-29 04:53:32

(2) ceph 客户端挂载使用RBD的相关文章

ceph存储集群实战(4)——ceph存储配置(映射RBD镜像到客户端)

块设备(rbd)     1.块设备可以应用为:         1.作为额外的磁盘使用         2.可以作为裸设备使用         3.可以格式化成文件系统,然后挂载给虚拟机或者物理服务器使用          2.创建块设备(可以在任意一台ceph节点上创建)     下面的命令创建一个名为ceph-client1-rbd1.大小为10G的RBD设备     [[email protected] ~]# rbd create ceph-client1-rbd1 --size 10

ceph存储之ceph客户端

CEPH客户端: 大多数Ceph用户不会直接往Ceph存储集群里存储对象,他们通常会选择Ceph块设备.Ceph文件系统.Ceph对象存储之中的一个或多个: 块设备: 要实践本手册,你必须先完成存储集群入门 ,并确保 Ceph 存储集群处于 active + clean 状态,这样才能使用 Ceph 块设备. 1.在ceph-client安装ceph,在管理节点上,通过ceph-deploy把Ceph安装到ceph-client节点: ceph-deploy  install ceph-clie

架构设计:系统存储(28)——分布式文件系统Ceph(挂载)

(接上文<架构设计:系统存储(27)--分布式文件系统Ceph(安装)>) 3. 连接到Ceph系统 3-1. 连接客户端 完毕Ceph文件系统的创建过程后.就能够让客户端连接过去. Ceph支持两种客户端挂载方式:使用Linux内核支持的mount命令进行的挂载方式.使用用户空间文件系统FUSE(Filesystem in Userspace)进行的网络磁盘挂载方式. 这两种挂载方式的本质差别是,前者须要有Linux内核的支持.而后者仅仅是工作在Linux上的一个应用软件. 3-1-1. 使

关于NFS的客户端挂载卡死问题记录

系统环境:centOS5版本和centOS6版本 客户端的版本:nfs-utils-1.2.3 挂载使用的是默认的参数. 异常现象: 当nfs服务端出现异常时,客户端挂载会不断的去尝试连接nfs服务端,导致客户端使用df命令显示挂载的文件系统时出现卡死,有时候使用Ctrl+C可以解决,可能是由于该挂载目录没有被占用的缘故,之后会出现负载逐渐升高,直至整个机器无法正常提供服务,表现为iostat很高. 附:当nfs服务端自己挂载自己的时候也会出现这样的情况,重启服务器之后恢复. 尝试以下的办法,仍

企业生产环境NFS客户端挂载建议(八)

企业生产环境NFS客户端挂载建议: 一.把NFS rpc服务的启动命令和挂载命令均放到/etc/rc.local,然后通过nagios监控软件监控开机后的挂载情况.如: [[email protected] ~]# cat /etc/rc.local #!/bin/sh # # Thisscript will be executed *after* all the other init scripts. # You canput your own initialization stuff in 

NFS客户端挂载出错

NFS错误总结: 在搭建NFS网络共享系统过程中,挂载NFS客户端的时候出现错误: [[email protected] ~]# mount -t nfs 192.168.190.7:/old  /opt mount.nfs: access denied by server while mounting 192.168.190.7:/old 查看系统日志: [[email protected] opt]# cat /var/log/messages|grep mount Jul 24 14:46

关于NFS客户端挂载成功但不显示NFS服务端挂载目录下的文件的处理办法及问题还原。

一.问题原因 1.1NFS客户端某个目录虽然挂载成功NFS服务端的目录,但是NFS客户端挂载目录里并不显示NFS服务端目录下的内容. 1.2NFS客户端某个目录虽然卸载成功NFS服务端的目录,但是NFS客户端挂载目录里依然显示NFS服务端目录下的内容. 二.问题结论 在NFS客户端挂载/卸载NFS服务端目录的时候一定要事先退出挂载目录!挂载/卸载目录之后,再进入挂载目录查看结果! 三.问题展现 3.1测试服务器基本配置 #提供一台NFS客户端,一台NFS服务端.下述不提供NFS安装教程. #两台

客户端挂载nfs报错mount: wrong fs type, bad option, bad superblock on...

解决客户端挂载nfs是出现如下报错问题:      mount: wrong fs type, bad option, bad superblock on 172.16.1.9:/home/addam,        missing codepage or helper program, or other error        (for several filesystems (e.g. nfs, cifs) you might        need a /sbin/mount.<type

CentOS 7 nfs客户端挂载问题

配置nfs服务器时,服务器端挂载没有问题,但是客户端挂载时提示:mount.nfs: Connection timed out 解决方法1: 关闭firewalld # systemctl stop firewalld # firewall-cmd --state not running 解决方法2: rpcinfo -p 显示如下: program vers proto program vers proto   port  service    100000    4   tcp    111