openstack for Mitaka——Shared File System(Manila)安装初探
来源:互联网 发布:如何找回淘宝聊天记录 编辑:程序博客网 时间:2024/05/29 13:40
题记
在OpenStack中经常会碰到使用共享存储的需求,我们经常使用的启动NFS服务进行共享,这种方式比较直观和配置简单,但是在实际生产环节中,性能可能不会令人满意,在云环境下如果有类似的需求,我们仍然采用这种方式,但是在最新的Mitaka版本中,该功能已经成为了一个组件正式发布出来了。
--------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/chinagissoft
QQ群:16403743
宗旨:专注于"GIS+"前沿技术的研究与交流,将云计算技术、大数据技术、容器技术、物联网与GIS进行深度融合,探讨"GIS+"技术和行业解决方案
转载说明:文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
--------------------------------------------------------------------------------------
对于OpenStack的共享存储组件,我们称之为Manila(马尼拉),其实这个项目在Juno版本已经提上了日程,经过J、K、L版本的不断发酵,在M版本终于瓜熟蒂落,我也是比较着急,赶紧安装了新版本,看看这组件能不能带给我们不一样的体验。
从Manila项目的介绍可以看出,其实就是实现一个共享服务,也就是说我可以创建共享目录,任意虚拟机可以对该目录进行读写操作,当然,我仅仅只是了解了最简单的功能,更加复杂的功能还需要时间去学习。
从OpenStack的官方文档,相关角色包括控制节点、计算节点、存储节点,共享节点与存储节点放在一起,不过我为了节省资源,我将计算、存储、共享都放在一个节点上,而且我们知道存储节点的块存储cinder默认使用lvm,所以添加了一块新硬盘sdb,共享存储包含两种模式,简单模式也是使用lvm,所以又添加了一块硬盘sdc。
安装步骤大家可以参考官方文档,熟悉了OpenStack的安装风格之后,也不难进行。
在前面也介绍了,M版本的网络分为两种模式,provider网络和self-service网络,那么共享服务针对这两种网络模式也分别对应两种模式:
- Shared File Systems Option 1: No driver support for share servers management
- Shared File Systems Option 2: Driver support for share servers management
Option1并不需要安装任何驱动,默认使用lvm和nfs服务方式,支持NFS和CIFS协议,通过在共享服务器创建共享卷,利用NFS为虚拟机提供共享服务。
1、在共享服务器创建共享目录
root@controller:~# manila create NFS 1 --name share1+-----------------------------+--------------------------------------+| Property | Value |+-----------------------------+--------------------------------------+| status | creating || share_type_name | default_share_type || description | None || availability_zone | None || share_network_id | None || host | || access_rules_status | active || snapshot_id | None || is_public | False || task_state | None || snapshot_support | True || id | 82cd50d1-0e6b-4888-ac79-b4d056a88154 || size | 1 || name | share1 || share_type | fcc5e23a-4d94-4a51-8399-39576fca5416 || has_replicas | False || replication_type | None || created_at | 2016-04-28T03:24:57.000000 || share_proto | NFS || consistency_group_id | None || source_cgsnapshot_member_id | None || project_id | 89cf202812654827ae74692bb94f5b60 || metadata | {} |+-----------------------------+--------------------------------------+
2、查看创建的共享列表(状态为available可用)
root@controller:~# manila list+--------------------------------------+--------+------+-------------+-----------+-----------+--------------------+-----------------------------+-------------------+| ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone |+--------------------------------------+--------+------+-------------+-----------+-----------+--------------------+-----------------------------+-------------------+| 82cd50d1-0e6b-4888-ac79-b4d056a88154 | share1 | 1 | NFS | available | False | default_share_type | compute@lvm#lvm-single-pool | nova |+--------------------------------------+--------+------+-------------+-----------+-----------+--------------------+-----------------------------+-------------------+
3、查看具体的共享目录信息,其实就是在共享服务器的一个volume
root@controller:~# manila show share1+-----------------------------+---------------------------------------------------------------------------------+| Property | Value |+-----------------------------+---------------------------------------------------------------------------------+| status | available || share_type_name | default_share_type || description | None || availability_zone | nova || share_network_id | None || export_locations | || | path = 10.0.0.31:/var/lib/manila/mnt/share-e88556b4-95bd-42e3-8e13-3f4b5ad7a246 || | id = 1cf9b1f3-c30e-40d6-874c-f82eab20c9f0 || | preferred = False || host | compute@lvm#lvm-single-pool || access_rules_status | active || snapshot_id | None || is_public | False || task_state | None || snapshot_support | True || id | 82cd50d1-0e6b-4888-ac79-b4d056a88154 || size | 1 || name | share1 || share_type | fcc5e23a-4d94-4a51-8399-39576fca5416 || has_replicas | False || replication_type | None || created_at | 2016-04-28T03:24:57.000000 || share_proto | NFS || consistency_group_id | None || source_cgsnapshot_member_id | None || project_id | 89cf202812654827ae74692bb94f5b60 || metadata | {} |+-----------------------------+---------------------------------------------------------------------------------+
4、为该共享目录设置可访问的虚拟机IP
注意:需要保证虚拟机Ip与共享节点的IP网络连通
root@controller:~# manila access-allow share1 ip 10.0.0.51+--------------+--------------------------------------+| Property | Value |+--------------+--------------------------------------+| share_id | 82cd50d1-0e6b-4888-ac79-b4d056a88154 || access_type | ip || access_to | 10.0.0.51 || access_level | rw || state | new || id | 23ade55d-0679-4442-a2c1-99687e082c53 |+--------------+--------------------------------------+
测试
在10.0.0.51机器上创建一个mount目录,通过mount命令进行挂载
# mount -t nfs 10.0.0.31:/var/lib/manila/mnt/share-e88556b4-95bd-42e3-8e13-3f4b5ad7a246 ~/test_folder
Option2是需要借助于OpenStack的neutron、nova、cinder组件进行,所以事先需要安装这些组件,提供一个Generic共享驱动,需要通过manila-service-image镜像创建的虚拟机提供支持,进一步说,相比较option1的无需任何设置,option2需要创建内置的共享网络,(网络必须支持self-service模式)
注意:由于我只选择了一种网络,所以该方式我并没有实际操作。
1、创建共享网络
$ manila share-network-create --name selfservice-net-share1 \ --neutron-net-id 4e963f5b-b5f3-4db1-a935-0d34c8629e7b \ --neutron-subnet-id 005bf8d1-798e-450f-9efe-72bc0c3be491+-------------------+--------------------------------------+| Property | Value |+-------------------+--------------------------------------+| name | selfservice-net-share1 || segmentation_id | None || created_at | 2016-03-31T13:25:39.052439 || neutron_subnet_id | 005bf8d1-798e-450f-9efe-72bc0c3be491 || updated_at | None || network_type | None || neutron_net_id | 4e963f5b-b5f3-4db1-a935-0d34c8629e7b || ip_version | None || nova_net_id | None || cidr | None || project_id | 3a46a53a377642a284e1d12efabb3b5a || id | 997a1a0a-4f4d-4aa3-b7ae-8ae6d9aaa828 || description | None |+-------------------+--------------------------------------+
2、创建基于共享网络的共享目录
$ manila create NFS 1 --name share2 \ --share-network selfservice-net-share1 \ --share-type generic_share_type+-----------------------------+--------------------------------------+| Property | Value |+-----------------------------+--------------------------------------+| status | creating || share_type_name | generic_share_type || description | None || availability_zone | None || share_network_id | 997a1a0a-4f4d-4aa3-b7ae-8ae6d9aaa828 || host | || access_rules_status | active || snapshot_id | None || is_public | False || task_state | None || snapshot_support | True || id | 6a711b95-9e03-4547-8769-74e34676cb3e || size | 1 || name | share2 || share_type | 8698ed92-2a1c-4c9f-aab4-a35dccd88c8f || has_replicas | False || replication_type | None || created_at | 2016-03-31T13:45:18.000000 || share_proto | NFS || consistency_group_id | None || source_cgsnapshot_member_id | None || project_id | 3a46a53a377642a284e1d12efabb3b5a || metadata | {} |+-----------------------------+--------------------------------------+
其他方法比较类似。
问题
查看了OpenStack的官方帮助,感觉作为一个新组件还是有许多问题,我不是说bug,只是说这个帮助也让人看不太懂。
1、安装完manila组件之后,我并没有在horizon组件看到可视化操作入口
2、manila组件需要专门下载一个manila镜像,然后创建实例,但是帮助上并没有在说明在实际配置过程中该实例充当的角色,全部配置还是在控制节点和共享节点完成。
3、最简单的共享模式例子写的并不好,因为默认的管理IP段是10.0.0.1/24,而例子给的虚拟机的网络段是203.0.113.1/24,那么option1共享还要求虚拟机网络与共享服务器的IP联通,这个需要用户重新配置provider的subnet才行。
当然了,我也是第一次使用这个组件,可能会由自己的认识不足导致上述内容的不严谨和问题,也请各位多指点。
参考文献:
https://wiki.openstack.org/wiki/Manila#Design_.26_Use_Cases
https://www.ustack.com/blog/openstack-storage/
http://www.chinacloud.cn/show.aspx?id=21998&cid=14
http://www.snia.org/sites/default/files/RobertCallaway_OpenStack_Manilla.pdf
http://mytrix.me/2015/01/network-part-of-manila/
- openstack for Mitaka——Shared File System(Manila)安装初探
- OpenStack for Mitaka安装分享
- Openstack Manila使用初探 (Packstack)
- 初探OpenStack Mitaka
- OpenStack mitaka,lbaasV2安装
- 如何安装OpenStack Manila (二)
- 如何安装OpenStack Manila (一)
- OpenStack Mitaka 包安装日志
- centos7.3安装openstack-mitaka
- centos7安装openstack mitaka版本
- Centos7+Packstack安装部署Openstack Mitaka之(二) packstack-answers-file
- openstack/manila的基本概念
- Openstack Mitaka
- 自动安装分布式mitaka版本openstack
- centos7使用devstack安装openstack mitaka
- 自动安装分布式mitaka版本openstack
- OpenStack学习:通过devstack安装openstacke mitaka
- centos 7 devstack 安装 openstack Mitaka
- WEB系统启动时加载Log4j的配置文件(自己写Listener形式)
- Mybatis的<where><foreach><set>等标签详解
- jps 遇到process information unavailable
- TCP/IP协议 三次握手与四次挥手
- 沙漠里的千里马
- openstack for Mitaka——Shared File System(Manila)安装初探
- 深度学习资料
- hadoop的配置
- Maven环境搭建和介绍
- linux下oracle11g sys和system忘记密码
- 处理闪退日志
- Http2.0
- Android换肤技术总结
- php实现简单验证码并且验证