多云数据管理深度实践中 | 配置OpenSDS多后端(LVM、Cinder、Ceph)

上篇文章我们通过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相关信息。