上篇文章我们通过Ansible安装了OpenSDS,本文我们继续深入了解OpenSDS,相信细心的童鞋会发现我们上篇在简短介绍OpenSDS的时候说到了可以纳管本地异构存储,所以我们本文将讲述如何配置多后端,为了充分展现我们选择了本地LVM,OpenStack的Cinder以及Ceph分布式存储作为多后端来测试。


LVM我们在上文安装的时候已经默认配置了,Cinder和Ceph的话必须保证两个存储环境已经存在,同时保证OpenSDS节点与他们能够网络互通。


配置多后端

vi /etc/opensds/opensds.conf

[ceph]

name = ceph

description = This is a ceph backend service

driver_name = ceph

config_path = /etc/opensds/driver/ceph.yaml


[cinder]

name = cinder

description = This is a cinder backend service

driver_name = cinder

config_path = /etc/opensds/driver/cinder.yaml


配置Ceph和Cinder的yaml文件

root@opensds:/etc/opensds/driver# cat ceph.yaml 

# Copyright 2018 The OpenSDS Authors.

#

# Licensed under the Apache License, Version 2.0 (the "License");

# you may not use this file except in compliance with the License.

# You may obtain a copy of the License at

#

#     http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.


configFile: /etc/ceph/ceph.conf

pool:

  osdsrbd: # change pool name same to ceph pool

    storageType: block

    availabilityZone: default

    extras:

      dataStorage:

        provisioningPolicy: Thin

        compression: true

        deduplication: true

      ioConnectivity:

        accessProtocol: rbd

        maxIOPS: 6000000

        minIOPS: 1000000

        maxBWS: 500

        minBWS: 100

        latency: 100

      advanced:

        diskType: SSD

        latency: 5ms


root@opensds:/etc/opensds/driver# cat cinder.yaml 

# Copyright 2018 The OpenSDS Authors.

#

# Licensed under the Apache License, Version 2.0 (the "License");

# you may not use this file except in compliance with the License.

# You may obtain a copy of the License at

#

#     http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.


authOptions:

  noAuth: false

  #endpoint: "http://{your_real_host_ip}/identity"

  endpoint: "http://{your_real_host_ip}/v3"

  #cinderEndpoint: "http://{your_real_host_ip}/v2"

  cinderEndpoint: "http://{your_real_host_ip}/v2/7c56fea7577b41d880b51365a26fd220"

#  domainId: "Default"

  domainName: "Default"

#  username: "cinder"

  username: "admin"

  password: "9t8FDKUoWzbxHm8EpttP7wh5saecp92SMlBj8iTh"

 # password: "fwE#F7$cDd%43^2f"

  #password: "aaaaaa"

  # Whether to encrypt the password. If enabled, the value of the password must be ciphertext.

  EnableEncrypted: false

  # Encryption and decryption tool. Default value is aes. The decryption tool can only decrypt the corresponding ciphertext.

  PwdEncrypter: "aes"

  tenantId: "7c56fea7577b41d880b51365a26fd220"

  tenantName: "admin"

pool:

  "ceph@rbd-1#rbd-1":

#  "rbd-1":

    storageType: block

    availabilityZone: default

    extras:

      dataStorage:

        provisioningPolicy: Thin

        isSpaceEfficient: false

      ioConnectivity:

        accessProtocol: iscsi

        maxIOPS: 7000000

        maxBWS: 600

      advanced:

        diskType: SSD

        latency: 3ms



安装Ceph-Commd依赖

apt-get install ceph-common -y

#同时把Ceph环境的ceph.conf和ceph.client.admin.keyring拷贝到OpenSDS环境的/etc/ceph下


ceph -s

检测下是否成功


配置完成之后我们到Dashboard可以看到多个后端已经展示出来了,有时候可能不显示,但是数据已经显示了,这可能是个bug,我已经提交给社区了。

https://github.com/sodafoundation/opensds/issues/1240


接下来我们到Dashbord配置Cinder和Ceph的profile


创建Volume测试下是否可以

OK,可以看到我创建了三个测试的卷,均已成功,那个default就是lvm。


接下来我们在增加一个Ceph 对象存储,操作步骤是在首页点击那个添加按钮,然后配置rgw相关信息。