Ceph 块设备实战

          在上一期博文中,咱们已经成功部署了 Ceph 集群,而且咱们也掌握了相关 Ceph 的应用。今天,咱们就来重点讲下 Ceph 块设备在实际环境中的应用-------将 Ceph 存储系统提供的镜像作为虚拟机的硬盘来安装虚拟机系统。vim


1、前提centos

          在今天这个大数据时代,咱们大部分企业中,天天产生的数据大小,均可能会是一个天文数字。显然,随着数据量的激增,咱们现有的服务器将没法知足实际的需求,咱们不可能为了增长一块硬盘而重装 RAID ,也不可能无限制的购买服务器,每一个服务器作成单独的 RAID ,再从新开始写数据,那怎么办呢?固然,有需求,咱们就有方案,咱们选择分布式存储。将全部数据所有写到分布式存储系统中,就能够完美解决咱们目前所遇到尴尬。bash

2、使用 Ceph 块设备服务器

          以前,咱们已经有了 Ceph 集群,如今,咱们直接使用现有的集群环境便可,关于集群的部署,可参考小弟的另一篇博文 :http://www.javashuo.com/article/p-ghmqdwwp-cq.htmldom

一、拓扑分布式

image.png

二、建立名为 vm-image 的镜像,大小为50Gide

①、建立镜像大数据

[root@ceph-a ceph]# rbd create cephrbd/vm-image --image-feature layering --size 50G

②、查看镜像ui

[root@ceph-a ceph]# rbd info cephrbd/vm-image

clipboard

或者centos7

[root@ceph-a ceph]# qemu-img info rbd:cephrbd/vm-image

clipboard[6]

此命令格式为:qemu info 协议:池/镜像

三、将物理主机作为 Ceph 集群的客户端,安装客户端软件包,并将 Ceph 的配置文件拷贝到物理主机中。


[root@localhost ~]# yum -y install ceph-common
[root@ceph-a ceph]# scp /etc/ceph/ceph.c* root@192.168.20.151:/etc/ceph/

四、建立一台 kvm  虚拟机,取名为 mycentos7 ,等向导结束后,强制关机。

五、导出咱们刚才建立的 mycentos7 虚拟机的声明文件,再将此虚拟机删除。

[root@localhost opt]# virsh dumpxml mycentos7 >/opt/centos.xml
[root@localhost opt]# virsh undefine mycentos7

六、关于虚拟机使用 Ceph 的镜像,首先须要 Ceph 的认证,而认证方式就是先生成虚拟机的 secret ,再将 secret 与 Ceph 帐户进行映射。

①、编写 Ceph 帐户信息文件,建立临时 secret.xml 文件,帐户信息文件的模板可在官方文档中找到。

[root@localhost opt]# vim secret.xml

内容以下:

<secret ephemeral='no' private='no'>
    <usage type='ceph'>
        <name>client.admin secret</name>
    </usage>
</secret>

②、生成 secret.xml 文件

[root@localhost opt]# virsh secret-define --file secret.xml

image

secret 为:93eb11ed-2367-44cd-85ef-56810d4186e6

③、查看 secret

[root@localhost opt]# virsh secret-list

image

七、将虚拟机的 secret 与 Ceph 管理员用户进行关联

①、查看 Ceph 管理员密钥

[root@localhost opt]# cat /etc/ceph/ceph.client.admin.keyring

clipboard[8]

管理员密钥为:AQBBhQ9cJh/tDxAAzdcwBz3QZzPsCfWbQE0qjg==

②、关联 secret 和 Ceph 管理员

[root@localhost opt]# virsh secret-set-value --secret 93eb11ed-2367-44cd-85ef-56810d4186e6 --base64 AQBBhQ9cJh/tDxAAzdcwBz3QZzPsCfWbQE0qjg==

image

八、修改虚拟机的配置文件 centos.xml,将 Ceph 管理员信息写入到该文件中,并指定虚拟机磁盘使用 Ceph 镜像。

[root@localhost opt]# vim centos.xml

clipboard[10]

如上图,找到红框区域,编辑黄颜色框区域的内容为途中样式。或者修改问如下内容,

<disk type='network' device='disk'>
    <driver name='qemu' type='raw'/>
    <auth username='admin'>
        <secret type='ceph' uuid='93eb11ed-2367-44cd-85ef-56810d4186e6'/>
    </auth>
    <source protocol='rbd' name='cephrbd/vm-image'>
        <host name='192.168.20.144' port='6789'/>
    </source>
    <target dev='vda' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>

注意:device='disk',是使用磁盘,device='cdrom',是使用光盘,别搞错。disk type 字段修改成 network,driver type 字段修改成 raw,添加 auth 部分,uuid 须要根据本身的实际状况来填写,添加 source 部分,name 字段须要根据本身建立的池和镜像来填写,host name 和 port 字段须要写本身 Ceph 集群的 ceph-mon 的地址和端口。可使用 netstat –tpnl 来查看

九、利用 xml 文件来生成虚拟机

[root@localhost opt]# virsh define centos.xml

clipboard[12]

十、打开虚拟机管理器,操做虚拟机

[root@localhost opt]# virt-manager

①、打开并运行虚拟机,以下图:

29

②、当咱们运行虚拟机后,发现虚拟机界面提示:no bootable device,这时候,咱们单击虚拟机界面左上角的灯泡状的图标。以下图:

clipboard[14]

③、选择引导选项,在右边引导设备顺序中,选择 IDE CDROM1 并勾选, 再单击向上的箭头⇧,以下图:

clipboard[16]

④、确认 IDE CDROM1 已经上移至第一位时,单击 应用 ,以下图:

clipboard[18]

⑤、再左边选择 IDE CDROM1 ,单击右边的 链接 ,以下图:

clipboard[20]

⑥、弹出选择介质对话框后,咱们单击 浏览 ,以下图:

clipboard[22]

⑦、弹出选择存储卷后,咱们找到本身上的光盘镜像(这里为:CentOS-7-x86_64-Everything-1804.iso),并单击 选择卷 ,以下图:

clipboard[24]

⑧、回到选择介质对话框,单击 肯定 ,以下图:

clipboard[26]

⑨、最后,咱们将虚拟机强制关机后在开机,就会进入系统安装界面(对于系统的安装过程,咱们就再也不进行说明了),以下图:

clipboard[28]

到此为止,咱们的 Ceph 块设备的实战算是优势眉目,后续深层次的发挥还得咱们继续努力。


关于 Ceph 集群的实现,请参阅小弟的另一篇博文:http://www.javashuo.com/article/p-ghmqdwwp-cq.html
关于 CephFS 文件系统的应用,请参阅小弟的另一篇博文:http://www.javashuo.com/article/p-clfsvaka-x.html
关于 Ceph 对象存储,请参阅小弟的另一篇博文:http://www.javashuo.com/article/p-kxntrolu-gc.html

3、总结

开始,咱们在部署 Ceph 集群的时候,感受时很麻烦,有时候甚至会很头疼,尤为是遇到错的时候,可是,当咱们开始应用时,是否是感受很简单,颇有乐趣?就是这样,知识就是这么有趣,当咱们经历完苦涩后就会尝到甜头。

相关文章
相关标签/搜索