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