1.Ceph集群搭建
首先需要搭建Ceph集群环境
https://blog.csdn.net/ck784101777/article/details/102744203
2.创建磁盘镜像
- [root@node1 ~]# rbd create vm1-image --image-feature layering --size 10G
- [root@node1 ~]# rbd list
- vm1-image
3.Ceph认证账户(仅查看即可)
Ceph默认开启用户认证,客户端需要账户才可以访问,默认账户名称为client.admin,key是账户的密钥。
可以使用ceph auth添加新账户(案例我们使用默认账户)。
key后面的所有内容都是秘钥(==也是)
- [root@node1 ~]# cat /etc/ceph/ceph.client.admin.keyring //账户文件
- [client.admin]
- key = AQBTsdRapUxBKRAANXtteNUyoEmQHveb75bISg==
4.配置KVM的虚拟秘钥
编写账户信息文件,让KVM知道ceph的账户名称。
根据操作来即可,不需要知道里面的原理
- [root@room9pc01 ~]# vim secret.xml #新建临时文件,内容如下
- <secret ephemeral='no' private='no'>
- <usage type='ceph'>
- <name>client.admin secret</name>
- </usage>
- </secret>
- [root@room9pc01 ~]# virsh secret-define secret.xml #使用XML配置文件创建secret
- #命令会生成随机的UUID,这个UUID对应的有账户信息
- [root@room9pc01 ~]# virsh secret-list #查看Secret信息
- UUID 用量
--------------------------------------------------------------------------------
b0271913-79f9-4c73-be41-884dcc2383d1 ceph client.admin secret- #给secret绑定admin账户的密码,密码参考ceph.client.admin.keyring文件。
- [root@room9pc01] virsh secret-set-value --secret 733f0fd1-e3d6-4c25-a69f-6681fc19802b \
- --base64 AQBTsdRapUxBKRAANXtteNUyoEmQHveb75bISg
- #这里secret后面是前一步secret-fine创建的UUID
- #base64后面是client.admin账户的密码
5.修改配置文件,开机自动挂载
配置文件标红的地方需要做调整
- [student@room9pc01 ~]$ virsh list --all #查看虚拟机
Id 名称 状态
----------------------------------------------------
1 ceph1 running
2 ceph2 running
3 ceph3 running
4 client running
9 ansible running
- win2008 关闭- [root@room9pc01] virsh destroy client #需要停止虚拟机
- [root@room9pc01] virsh edit client #client为虚拟机名称,将<disk>标签内容复制到上一个<disk>标签下
- <disk type='network' device='disk'>
- <driver name='qemu' type='raw'/>
- <auth username='admin'>
- #通过virsh secret-list查看
- <secret type='ceph' uuid='b0271913-79f9-4c73-be41-884dcc2383d1'/>
- </auth>
- #ip地址为ceph节点的ip,任意一个都可以,vm1-image是我创建的镜像池的名字,通过在ceph上查看,命令rbd list
- <source protocol='rbd' name='rbd/vm1-image'> <host name='192.168.4.11' port='6789'/> </source>
- #这里要特别注意,配置文件不止一个disk磁盘,必须保证这里的名字与之前的不重复
- <target dev='vdb' bus='virtio'/>
- </disk>
6.开机查看
- [root@room9pc01] virsh start client
- [root@room9pc01] virsh console client
- [root@client] lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- vda 253:0 0 30G 0 disk
- └─vda1 253:1 0 30G 0 part /
- rbd0 252:0 0 15G 0 disk /mnt