java 使用vsphere 创建虚拟机‘_创建高性能存储池给虚拟机做云硬盘使用

26de95767bd50ae1c47e2bc42d1e251d.png

Ceph是一个可靠的、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务。在虚拟化领域里,比较常用到的是Ceph的块设备存储,比如在OpenStack项目里,Ceph的块设备存储可以对接OpenStack的cinder后端存储、Glance的镜像存储和虚拟机的数据存储,比较直观的是Ceph集群可以提供一个raw格式的块存储来作为虚拟机实例的硬盘,我们这篇文章就是通过纯ssd盘创建存储池给Openstack中的虚拟机做云硬盘来使用。

一. Ceph集群操作

  1. 设置集群标志
$ ceph osd set norecover$ ceph osd set nobackfill
  1. 修改crush rule只使用hdd磁盘
$ ceph osd getcrushmap -o oldmap$ crushtool -d oldmap -o map.txt$ vim map.txt#在replicated_rule下step take default⾏,改成step take default class hddrule replicated_rule {        id 0        type replicated        min_size 1        max_size 10        # step take default         step take default class hdd        step chooseleaf firstn 0 type host        step emit }$ crushtool -c map.txt -o newmap$ ceph osd setcrushmap -i newmap
  1. 通过纯ssd盘创建新的osd
# 按照约500GB⼀个分区将SSD进⾏分区# 基于分区创建osd# 检查新创建出来的OSD class为ssd$ ceph osd tree 就可以看到12   hdd  3.63820         osd.12     up  1.00000 1.0000015   ssd  3.63820         osd.15     up  1.00000 1.00000
  1. 修改新建osd的类型
# 使用ssd盘新加的osd不识别为ssd类型的情况# 32,33为新加osd的id$ for i in 32 33;do ceph osd crush rm-device-class osd.$i;done$ for i in 32 33;do ceph osd crush set-device-class ssd osd.$i;done
  1. 通过新建的osd创建存储池
$ ceph osd crush rule create-replicated replicated-ssd default host ssd# 创建名为ssdpool的pool$ ceph osd pool create ssdpool 128 128 replicated-ssd
  1. 取消ceph集群标志
$ ceph osd unset norecover$ ceph osd unset nobackfill
  1. 给openstack中的cinder用户设置权限
$ ceph auth caps client.cinder mon 'profile rbd' osd 'profile rbd pool=volumes, profile rbd pool=vms, profile rbd pool=images,profile rbd pool=ssdpool'

二. Openstack侧操作

  1. 修改cinder服务的配置文件
$ vim /etc/kolla/cinder-volume/cinder.conf[DEFAULT]glance_api_version = 2# rbd-2 为准备新加的backendsenabled_backends = rbd-1, rbd-2[rbd-1]rbd_ceph_conf = /etc/ceph/ceph.confbackend_host = rbd:volumesrbd_pool = volumesvolume_backend_name = rbd-1volume_driver = cinder.volume.drivers.rbd.RBDDriverrbd_user = cinderrbd_secret_uuid = 27a2e46a-c070-4f18-acd8-47d9bbd42407[rbd-2]rbd_ceph_conf = /etc/ceph/ceph.conf  # ceph存储服务的配置文件backend_host = rbd:volumes  # ceph存储服务所在的主机名rbd_pool = ssdpool  # ceph创建存储池的名称,这里为ssdpoolvolume_backend_name = ssd  # 存储后端的名字,与存储后端配置组的名称无关,可以自定义volume_driver = cinder.volume.drivers.rbd.RBDDriver  # 配置Ceph存储驱动# 因为Ceph启用了cephx 认证,还需要配置Ceph用户及其密钥,这两个值由Ceph服务创建提供rbd_user = cinderrbd_secret_uuid = 27a2e46a-c070-4f18-acd8-47d9bbd42407
  1. 重启cinder_volume服务
# kolla_ansbile部署都是使用容器部署的集群$ docker restart cinder_volume
  1. 创建volume-type,并指定volume_backend_name(cinder配置文件中已指定)
$ source /etc/kolla/admin-openrc.sh$ openstack volume type create --property volume_backend_name=ssd ssd

如果觉得文章对大家有帮助,欢迎关注、点赞、评论、收藏和分享,后续将为大家分享更多的文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值