x625802392 发表于 2019-2-1 13:55:08

Ceph 块设备实战

  在上一期博文中,我们已经成功部署了 Ceph 集群,并且我们也掌握了相关 Ceph 的应用。今天,我们就来重点讲下 Ceph 块设备在实际环境中的应用-------将 Ceph 存储系统提供的镜像做为虚拟机的硬盘来安装虚拟机系统。
  一、前提
  在今天这个大数据时代,我们大部分企业中,每天产生的数据大小,都可能会是一个天文数字。显然,随着数据量的激增,我们现有的服务器将无法满足实际的需求,我们不可能为了增加一块硬盘而重装 RAID ,也不可能无限制的购买服务器,每个服务器做成单独的 RAID ,再重新开始写数据,那怎么办呢?当然,有需求,我们就有方案,我们选择分布式存储。将所有数据全部写到分布式存储系统中,就可以完美解决我们目前所遇到尴尬。
  二、使用 Ceph 块设备
  之前,我们已经有了 Ceph 集群,现在,我们直接使用现有的集群环境即可,关于集群的部署,可参考小弟的另外一篇博文 :http://blog.运维网.com/4746316/2329558
  1、拓扑
http://s1.运维网.com/images/20181213/1544691671648289.png
  2、创建名为 vm-image 的镜像,大小为50G
  ①、创建镜像
# rbd create cephrbd/vm-image --image-feature layering --size 50G  ②、查看镜像
# rbd info cephrbd/vm-imagehttp://i2.运维网.com/images/blog/201812/13/7f9485f6101941924e58d75d43b4ca54.png
  或者
# qemu-img info rbd:cephrbd/vm-imagehttp://i2.运维网.com/images/blog/201812/13/06a7cd23d084cec003d9328dc199dea2.png
  此命令格式为:qemu info 协议:池/镜像
  3、将物理主机做为 Ceph 集群的客户端,安装客户端软件包,并将 Ceph 的配置文件拷贝到物理主机中。
# yum -y install ceph-common
# scp /etc/ceph/ceph.c* root@192.168.20.151:/etc/ceph/  4、创建一台 kvm虚拟机,取名为 mycentos7 ,等向导结束后,强制关机。
  5、导出我们刚才创建的 mycentos7 虚拟机的声明文件,再将此虚拟机删除。
# virsh dumpxml mycentos7 >/opt/centos.xml
# virsh undefine mycentos7  6、关于虚拟机使用 Ceph 的镜像,首先需要 Ceph 的认证,而认证方式就是先生成虚拟机的 secret ,再将 secret 与 Ceph 账户进行映射。
  ①、编写 Ceph 账户信息文件,创建临时 secret.xml 文件,账户信息文件的模板可在官方文档中找到。
# vim secret.xml  内容如下:

   
      client.admin secret
   
  ②、生成 secret.xml 文件
# virsh secret-define --file secret.xmlhttp://i2.运维网.com/images/blog/201812/13/0960cbc1b68b0937ebeb32a9c7ea33b2.png
  secret 为:93eb11ed-2367-44cd-85ef-56810d4186e6
  ③、查看 secret
# virsh secret-listhttp://i2.运维网.com/images/blog/201812/13/e0f20f30445c030ebdc9c2c5c1989085.png
  7、将虚拟机的 secret 与 Ceph 管理员用户进行关联
  ①、查看 Ceph 管理员密钥
# cat /etc/ceph/ceph.client.admin.keyringhttp://i2.运维网.com/images/blog/201812/13/cf35058c9a1dbb88ba2f94cef957f06f.png
  管理员密钥为:AQBBhQ9cJh/tDxAAzdcwBz3QZzPsCfWbQE0qjg==
  ②、关联 secret 和 Ceph 管理员
# virsh secret-set-value --secret 93eb11ed-2367-44cd-85ef-56810d4186e6 --base64 AQBBhQ9cJh/tDxAAzdcwBz3QZzPsCfWbQE0qjg==http://i2.运维网.com/images/blog/201812/13/79261ebdb78eb7a7d4b28edcf7cbee5f.png
  8、修改虚拟机的配置文件 centos.xml,将 Ceph 管理员信息写入到该文件中,并指定虚拟机磁盘使用 Ceph 镜像。
# vim centos.xmlhttp://i2.运维网.com/images/blog/201812/13/d97ccf7b4293ec23771e7fdce4f3aba8.png
  如上图,找到红框区域,编辑黄颜色框区域的内容为途中样式。或者修改问以下内容,

   
   
      
   
   
      
   
   
   
  注意:device='disk',是使用磁盘,device='cdrom',是使用光盘,别搞错。disk type 字段修改为 network,driver type 字段修改为 raw,添加 auth 部分,uuid 需要根据自己的实际情况来填写,添加 source 部分,name 字段需要根据自己创建的池和镜像来填写,host name 和 port 字段需要写自己 Ceph 集群的 ceph-mon 的地址和端口。可以使用 netstat –tpnl 来查看
  9、利用 xml 文件来生成虚拟机
# virsh define centos.xmlhttp://i2.运维网.com/images/blog/201812/13/1874140f0e9f8518ce5d8aa2389dd0e7.png
  10、打开虚拟机管理器,操作虚拟机
# virt-manager  ①、打开并运行虚拟机,如下图:
http://i2.运维网.com/images/blog/201812/13/11e68a345d2b77993e40a9b8df9e92be.png
  ②、当我们运行虚拟机后,发现虚拟机界面提示:no bootable device,这时候,我们单击虚拟机界面左上角的灯泡状的图标。如下图:
http://i2.运维网.com/images/blog/201812/13/bc7098fc1767ff31be5fcfd77c2d437c.png
  ③、选择引导选项,在右边引导设备顺序中,选择 IDE CDROM1 并勾选, 再单击向上的箭头⇧,如下图:
http://i2.运维网.com/images/blog/201812/13/57450b146d7c642269624335ff7a5aa9.png
  ④、确认 IDE CDROM1 已经上移至第一位时,单击 应用 ,如下图:
http://i2.运维网.com/images/blog/201812/13/879d626fbe4972d0a3a2c11a080e027d.png
  ⑤、再左边选择 IDE CDROM1 ,单击右边的 连接 ,如下图:
http://i2.运维网.com/images/blog/201812/13/44163bd3408c55d5206e2d770b8b882c.png
  ⑥、弹出选择介质对话框后,我们单击 浏览 ,如下图:
http://i2.运维网.com/images/blog/201812/13/55e25f0cdf090eedb86125329b633e90.png
  ⑦、弹出选择存储卷后,我们找到自己上的光盘镜像(这里为:CentOS-7-x86_64-Everything-1804.iso),并单击 选择卷 ,如下图:
http://i2.运维网.com/images/blog/201812/13/9690c9522ae5776763ee04c27a99435e.png
  ⑧、回到选择介质对话框,单击 确定 ,如下图:
http://i2.运维网.com/images/blog/201812/13/86ffe1c07dc42b1ab5c79fecfaeb9542.png
  ⑨、最后,我们将虚拟机强制关机后在开机,就会进入系统安装界面(对于系统的安装过程,我们就不再进行说明了),如下图:
http://i2.运维网.com/images/blog/201812/13/c3379754269fcb8754d8d00015d24836.png
  到此为止,我们的 Ceph 块设备的实战算是优点眉目,后续深层次的发挥还得我们继续努力。
  关于 Ceph 集群的实现,请参阅小弟的另外一篇博文:http://blog.运维网.com/4746316/2329558
关于 CephFS 文件系统的应用,请参阅小弟的另外一篇博文:http://blog.运维网.com/4746316/2330186
关于 Ceph 对象存储,请参阅小弟的另外一篇博文:http://blog.运维网.com/4746316/2330455


  三、总结
  开始,我们在部署 Ceph 集群的时候,感觉时很麻烦,有时候甚至会很头疼,尤其是遇到错的时候,但是,当我们开始应用时,是不是感觉很简单,很有乐趣?就是这样,知识就是这么有趣,当我们经历完苦涩后就会尝到甜头。



页: [1]
查看完整版本: Ceph 块设备实战