Ceph配置块设备
在搭建好Ceph分布式存储后,在一个客户端上直接挂载Ceph的一个块设备image。
下面就解释下如何配置:(此文档上接<<Ceph本地yum源安装>>)
一、在ceph-client安装ceph和相关配置
1. 配置好一台CentOS7的机器ceph-client,并且将ceph-admin作为yum源,即将ceph-client目录下/etc/yum.repo.d所有的repo文件全部删除,并且将ceph-admin上相同目录下的ceph.repo文件复制到ceph-client机器上相同目录。
2. 可以安装ntp服务也可以不安装,我是安装了。
3. 查看ceph-client机器的内核:uname -r
升级到4.10以上,这个是由文档要求的,也可以低版本,但是为了不必要的麻烦还是升级到高版本的内核。升级方式如下:
安装此两个rpm包:
[root@ceph-client /]#rpm -ivh kernel-ml-4.10.1-1.el7.elrepo.x86_64.rpm
[root@ceph-client /]#rpm -ivh kernel-ml-devel-4.10.1-1.el7.elrepo.x86_64.rpm
[root@ceph-client /]#grub2-set-default 0 --这是默认启动的顺序是从0开始,新内核是从头插入(目前位置在0,而4.10.1的是在1),所以需要选择0
[root@ceph-client /]#reboot --重启以后生效
[root@ceph-client /]#uname -r --验证内核
4.在ceph-client客户端机器上安装ceph软件,在ceph-client机器上执行如下命令:
yum install ceph
5.在ceph-admin管理节点上,用 ceph-deploy 把 Ceph 配置文件(ceph.conf)和 ceph.client.admin.keyring 拷贝到 ceph-client
ceph-deploy admin ceph-client
此命令会将文件复制到ceph-client的/etc/ceph目录下,并且执行以下命令:
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
不然无法读取这个密钥环。
二、配置块设备
1. 在 ceph-client 节点上创建一个块设备 image
[dgb@ceph-client /]$rbd create foo --size 4096 -m node1 -k /etc/ceph/ceph.client.admin.keyring
2. 在 ceph-client 节点上,把 image 映射为块设备
[dgb@ceph-client /]$udo rbd map foo --name client.admin -m -k/etc/ceph/ceph.client.admin.keyring
此时可能会报以下错误:
rbd: sysfs write failed
RBD image feature set mismatch. You candisable features unsupported by the kernel with "rbd featuredisable".
In some cases useful info is found insyslog - try "dmesg | tail" or so
修改Ceph配置文件/etc/ceph/ceph.conf,在global 下,增加
rbd_default_features = 1
3. 在 ceph-client 节点上,创建文件系统后就可以使用块设备了
[dgb@ceph-client /]$sudo mkfs.ext4 -m0 /dev/rbd0 --这个目录是上一步输出的
这个命令需要稍微一点时间。
4. 在 ceph-client 节点上挂载此文件系统
[dgb@ceph-client /]$sudo mkdir /mnt/ceph-block-device
[dgb@ceph-client /]$sudo mount /dev/rbd0/mnt/ceph-block-device
[dgb@ceph-client /]$cd /mnt/ceph-block-device
此时可以在目录/mnt/ceph-block-device下任意创建文件了,在创建文件前需要修改目录权限:chmod 777 /mnt/ceph-block-device