Ceph块存储在虚拟系统的应用,开机自动挂载磁盘

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/ck784101777/article/details/102755291

1.Ceph集群搭建

首先需要搭建Ceph集群环境

https://blog.csdn.net/ck784101777/article/details/102744203

2.创建磁盘镜像

  1. [root@node1 ~]# rbd create vm1-image --image-feature layering --size 10G
  2. [root@node1 ~]# rbd list
  3. vm1-image

3.Ceph认证账户(仅查看即可)

Ceph默认开启用户认证,客户端需要账户才可以访问,默认账户名称为client.admin,key是账户的密钥。

可以使用ceph auth添加新账户(案例我们使用默认账户)。

key后面的所有内容都是秘钥(==也是)

  1. [root@node1 ~]# cat /etc/ceph/ceph.client.admin.keyring        //账户文件
  2. [client.admin]
  3.     key = AQBTsdRapUxBKRAANXtteNUyoEmQHveb75bISg==

4.配置KVM的虚拟秘钥

编写账户信息文件,让KVM知道ceph的账户名称。

根据操作来即可,不需要知道里面的原理

  1. [root@room9pc01 ~]# vim secret.xml    #新建临时文件,内容如下
  2. <secret ephemeral='no' private='no'>
  3. <usage type='ceph'>
  4. <name>client.admin secret</name>
  5. </usage>
  6. </secret>
  7. [root@room9pc01 ~]# virsh secret-define secret.xml  #使用XML配置文件创建secret
  8. #命令会生成随机的UUID,这个UUID对应的有账户信息
  9. [root@room9pc01 ~]# virsh secret-list       #查看Secret信息
  10.  UUID                                            用量
    --------------------------------------------------------------------------------
     b0271913-79f9-4c73-be41-884dcc2383d1  ceph client.admin secret
  11. #给secret绑定admin账户的密码,密码参考ceph.client.admin.keyring文件。
  12. [root@room9pc01] virsh secret-set-value --secret 733f0fd1-e3d6-4c25-a69f-6681fc19802b \
  13. --base64 AQBTsdRapUxBKRAANXtteNUyoEmQHveb75bISg
  14. #这里secret后面是前一步secret-fine创建的UUID
  15. #base64后面是client.admin账户的密码

5.修改配置文件,开机自动挂载

配置文件标红的地方需要做调整

  1. [student@room9pc01 ~]$ virsh list --all    #查看虚拟机
     Id    名称                         状态
    ----------------------------------------------------
     1     ceph1                          running
     2     ceph2                          running
     3     ceph3                          running
     4     client                         running
     9     ansible                        running
     -     win2008                        关闭
  2. [root@room9pc01] virsh destroy client    #需要停止虚拟机
  3. [root@room9pc01] virsh edit client                #client为虚拟机名称,将<disk>标签内容复制到上一个<disk>标签下
  4. <disk type='network' device='disk'>
  5. <driver name='qemu' type='raw'/>
  6. <auth username='admin'>
  7. #通过virsh secret-list查看
  8. <secret type='ceph' uuid='b0271913-79f9-4c73-be41-884dcc2383d1'/>  
  9. </auth>
  10. #ip地址为ceph节点的ip,任意一个都可以,vm1-image是我创建的镜像池的名字,通过在ceph上查看,命令rbd list
  11. <source protocol='rbd' name='rbd/vm1-image'> <host name='192.168.4.11' port='6789'/> </source> 
  12. #这里要特别注意,配置文件不止一个disk磁盘,必须保证这里的名字与之前的不重复
  13. <target dev='vdb' bus='virtio'/>
  14. </disk>

6.开机查看

  1. [root@room9pc01] virsh start client
  2. [root@room9pc01] virsh console client
  3. [root@client] lsblk      
  4. NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  5. vda    253:0    0  30G  0 disk 
  6. └─vda1 253:1    0  30G  0 part /
  7. rbd0   252:0    0  15G  0 disk /mnt

猜你喜欢

转载自blog.csdn.net/ck784101777/article/details/102755291
今日推荐