设为首页 收藏本站
查看: 5638|回复: 0

[经验分享] Openstack之cinder对接华为FCV3存储及cinder多后端

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-1-23 08:52:06 | 显示全部楼层 |阅读模式
前言

    在以往搭建openstack块存储cinder组件与fc存储对接时,我常采用了节点挂载fc盘,然后再以lvm、filesystem或ceph osd的方式来对接cinder,但这样有着不可避免的性能损耗,其实Openstack中已经集成主流存储厂家的FCDriver,可以让cinder与存储底层对接,得到更高以及稳定的性能表现。
    此文介绍了在Mitaka版本对接华为OceanStor 5800V3的配置步骤以及踩过坑~

首发:blog.bobozhu.cn
环境准备
硬件环境

    华为OceanStor V3 Fcsan存储,光纤交换机。

    带HBA的服务器

软件环境

    存储上配置管理ip,建好所需要对接的pool,注意只需要池,其他的主机组、LUN组,添加主机什么的都不要,只要池。

    光纤交换机做好zone,确保每台主机都和存储都能连接。

    一套openstack平台,可以不装multipath。

Cinder配置

    在有文档的情况下,当然要跟着文档走,官网上已经要cinder对接HUAWEI V3的doc,但是版本比较老才到liberty,V3的diver还是用HuaweiV3FCDriver,登录到github下载最新华为openstack_cinder_driver配置文档 ,可以看到已经对应到了newton版,而且V3的driver已经改成了HuaweiFCDriver。

    在/etc/cinder目录创建存储配置文件,格式为XML,名字随便设,如cinder_huawei_conf.xml

<?xml version='1.0' encoding='UTF-8'?>
<config>
<Storage>
<Product>V3</Product>
<Protocol>FC</Protocol>
<RestURL>https://x.x.x.x:8088/deviceManager/rest/</RestURL>
<UserName>xxx</UserName>
<UserPassword>xxx</UserPassword>
</Storage>
<LUN>
<LUNType>xxx</LUNType>
<WriteType>xxx</WriteType>
<MirrorSwitch>xxx</MirrorSwitch>
<LUNcopyWaitInterval>xxx</LUNcopyWaitInterval>
<Timeout>432000</Timeout>
<StoragePool>xxx;xxx;xxx</StoragePool>
</LUN>
<Host OSType="Linux" HostIP="x.x.x.x, x.x.x.x" />
</config>

注意:

    这里面有几个强制参数,Product、Protocol、RestURL,Username、Userpassword、StoragePool,产品和协议当然就是V3和FC了,resturl是华为开放的restful链接,基本上就是上面的x.x.x改成管理ip即可,注意大小写,正常在浏览器打开会返回timeout。用户名密码华为默认是admin,Huawei12#$(通用密码)。StoragePool可以建多个,通过分号隔开,但这样的多个池就在一个cinder后端了。HostIP为nova-compute对应的IP。

    注意此配置文件权限要为cinder.cinder,但是在实际docker容器中为root好像也没关系。。。

    在cinder.conf中添加

[V3_FC]
volume_driver = cinder.volume.drivers.huawei.huawei_driver.HuaweiFCDriver
cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
volume_backend_name = V3_FC

##在default段中,添加参数
[DEFAULT]
...
enabled_backends=V3_FC

到此,重启cinder-volume服务,使用cinder service-list命令查看到V3_FC状态为up就可以用了~
cinder多后端开启

    在生产环境中可能有多套存储对接,如ceph加FCSan、或者多个FCsan池。

    Ceph加FCSan就很简单,只需要在cinder.conf中的backends参数添加名字和添加存储部分即可,如添加ceph的后端

[DEFAULT]
...
enabled_backends=V3_FC,rbd-1

[rbd-1]
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_pool = volumes
volume_backend_name = rbd-1
volume_driver = cinder.volume.drivers.rbd.RBDDriver

    再多加FCSan,重复上面的对接FCsan步骤即可。

    要注意,在有多个cinder后端时要创建卷类型并关联后端,这样在创建卷的时候就可以选择自己想要的池。

#> cinder type-create FC_V3
#> cinder type-key FC_V3 set volume_backend_name=V3_FC
#> cinder type-create rbd1
#> cinder type-key rbd1 set volume_backend_name=rbd-1

到此,重启cinder服务就可以创建卷啦~

#> cinder create-volume --volume-type V3_FC  --display_name FC_VOLUME 10

TIP: 踩过的坑

    在配置完cinder对接之后,重启cinder服务总是报失败,日志中有认证失败的400的报错“[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed”,这是由于本机没有存储的ca证书导致,可以通过手动下载然后再rest_client.py中指定路径,也可以使用stackflow中所说的禁忌大法,直接去除ssl验证,我觉得可行~~

打开/usr/lib/python2.7/site-packages/cinder/volume/drivers/huawei/rest_client.py,添加
import ssl

ssl._create_default_https_context = ssl._create_unverified_context

    在对接成功后,创建了云硬盘,但在attach给虚拟机的时候报错”No FC initiator can be added to host”,当时找华为的人半天也说不清楚,问云的就说还没测试过mitaka版。。查了下fujitsu的存储配置文档才知道,存储对接是只需要创建pool,其他的都不要创建,看下华为存储,发现华为的人什么主机组,lun mapping都帮我们建好了。。

最后,还有一个遗留问题,在glance对接cinder的时候,上传镜像会报“ ‘NoneType’ object has no attribute ‘Client’”,看了下代码是在import 某个client V3的时候失败了,时间有限还没来及看。。忘了是哪个client了,也不知道是不是跟多cinder后端有关。。。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-332272-1-1.html 上篇帖子: openstack 报错处理 下篇帖子: openstack虚拟机创建流程 华为
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表