本文是Ceph实战(三)-块设备的创建与映射,若要关注前文,请点击传送门:
前文我们已经成功部署Ceph高可用集群,然后我们将基于前文的高可用集群进行块设备的创建、映射、挂载。
一、准备工作
需要完成前文的Ceph高可用集群部署。
二、块设备创建、映射、挂载
1、创建pool
Ceph所有资源类型都需要依托在Pool的概念上来进行存储和划分,所以我们首先需要创建Pool,命令如下:
$ ceph osd pool create cephrbd 128
然后我们来查看刚刚创建的pool,命令如下:
$ ceph osd pool ls
2、创建磁盘镜像
创建名为image的镜像,设定大小为10G,命令如下:
$ rbd create cephrbd/image --image-feature layering --size 10G
查看池中镜像及信息,命令如下:
$ rbd ls cephrbd
$ rbd info cephrbd/image
如果我们需要对刚刚创建的镜像进行扩容到15G,命令如下:
$ rbd resize --size 15G cephrbd/image
缩容到12G,命令如下:
$ rbd resize --size 12G cephrbd/image --allow-shrink
ext2\ext3\ext4格式硬盘在扩容或者缩容完成后,需要进行扩容格式化,命令如下:
$ resize2fs /dev/rbd0
如果是 xfs 格式硬盘扩容格式化略有不同,命令如下:
$ xfs_growfs /dev/rbd0
如要删除镜像,命令如下:
$ rbd rm cephrbd/demo-img
到此我们创建了一个磁盘镜像。
3、配置客户端
到客户端安装ceph,命令如下:
$ yum install -y ceph
将ceph.conf 和 ceph.client.admin.keyring 拷贝到客户端机器上,此时我们需要到deploy节点(192.168.1.198)上配置客户端的hosts解析,在 deploy节点(192.168.1.198)上执行以下命令:
$ vim /etc/hosts
在上述文件中增加以下内容:
192.168.1.201 client
让配置生效,命令如下:
$ source /etc/hosts
然后复制相关文件到要使用client节点(192.168.1.201),命令如下:
$ cd /ceph-install
$ ceph-deploy admin client
4、映射镜像到磁盘
在client节点(192.168.1.201)执行以下命令完成镜像映射,命令如下:
$ rbd map cephrbd/image
取消磁盘映射,命令如下:
$ rbd unmap cephrbd/image
查看磁盘结构关系,命令如下:
$ lsblk
查看镜像与磁盘映射信息,命令如下:
$ rbd showmapped
镜像与磁盘映射信息,显示如下:
id pool image snap device
0 cephrbd image - /dev/rbd0
5、挂载磁盘目录
我们将刚刚映射为 /dev/rbd0 的磁盘挂载到目录,首先我们需要将磁盘格式化,命令如下:
$ mkfs.xfs /dev/rbd0
磁盘格式化完成后,将 /dev/rbd0 挂载到 /image 目录,命令如下:
$ mount /dev/rbd0 /image
6、验证
通过查看磁盘结构关系来进行目录挂载验证,命令如下:
$ lsblk
到此我们就完成了块设备在client节点(192.168.1.201)的挂载。
三、配置开机自动挂载
在关机开机之后,挂载会取消,写到 /etc/fstab 中写入开机挂载,但是必须要map映射之后。
1、配置/etc/fstab
配置 /etc/fstab 中写入开机挂载,命令如下:
$ vim /etc/fstab
在上述配置文件中增加以下内容:
/dev/rbd0 /image xfs defaults,_netdev 0 0
注意:这里的 /image 是指镜像挂载目录
2、配置rbdmap
配置 rbdmap 写入映射关系,命令如下:
$ cd /etc/ceph/
$ vim rbdmap
在上述文件中增加以下内容:
cephrbd/image id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
注意:id=admin这里的admin指的是 ceph.client.admin.keyring文件中的名称([client.admin]),然后 /etc/ceph/ceph.client.admin.keyring指的是 admin同步过来的密钥文件(所以在添加内容之前就应该已经在deploy节点把ceph.client.admin.keyring同步到client节点了)。
3、启动rbd服务并重启验证
配置完rbdmap之后,我们来重启rbd服务,命令如下:
$ systemctl start rbdmap
$ systemctl enable rbdmap
4、验证
查看磁盘挂载情况,命令如下:
$ df -hT
client节点(192.168.1.201)重启,命令如下:
$ reboot
重启完成后再次执行 df -hT 查看磁盘挂载情况,发现重启后磁盘成功挂载。
到此块设备的创建、映射、挂载搭建完成。