Openstack Manila使用初探 (Packstack)
来源:互联网 发布:feel运动软件下载 编辑:程序博客网 时间:2024/06/10 18:40
使用Packstack (All in one) 安装好Openstack之后, 研究一下Manila组件的使用.
主机名: cloud (192.168.31.233).
1. manila.conf
1.1 配置文件分析
Packstack的配置文件packstack-answers-20160830-020456.txt
中涉及到manila.conf的一些配置选项如下:
# Password to use for the Compute service to authenticate with the# Identity service.CONFIG_NOVA_KS_PW=f65dfe2cbbdd487e# Tenant to use when OpenStack Database-as-a-Service connects to the# Compute service.CONFIG_TROVE_NOVA_TENANT=services
首先贴上manila的配置文件. 关于每一个配置选项的功能详见 Manila.conf 官方文档 (Liberty版).
[DEFAULT]osapi_share_listen=0.0.0.0api_paste_config=/etc/manila/api-paste.inistate_path=/var/lib/manilaglance_host=192.168.31.233 #storage_availability_zone=novarootwrap_config=/etc/manila/rootwrap.confauth_strategy=keystone # 使用keystone进行用户身份认证enabled_share_backends=generic # 可用的backends, 每一个backend都对应着后面的一个sectionnova_catalog_info=compute:nova:publicURL # 在服务目录寻找nova服务时用的字符串nova_catalog_admin_info=compute:nova:adminURL # 在服务目录寻找nova服务时用的字符串nova_api_insecure=False # 不允许使用不安全的SSL请求nova服务nova_admin_username=nova # 访问nova服务的用户名nova_admin_password=f65dfe2cbbdd487e # 访问nova服务的密码nova_admin_tenant_name=services # nova服务所在的租户 ???nova_admin_auth_url=http://localhost:5000/v2.0debug=False # 日志信息级别不设为debug. 详细程度: debug>INFO>warning.verbose=True # 默认日志级别为warning, 改为INFO级别use_stderr=True # 日志输出到stderrlog_dir=/var/log/manila # 日志信息输出位置use_syslog=Falsesyslog_log_facility=LOG_USERrpc_backend=rabbitcontrol_exchange=openstacknotification_driver=messagingnetwork_api_class=manila.network.neutron.neutron_network_plugin.NeutronNetworkPluginneutron_api_insecure=Falseneutron_auth_strategy=keystoneneutron_admin_tenant_name=servicesneutron_url=http://127.0.0.1:9696neutron_admin_password=33e10dfa6ae44b9dneutron_admin_username=neutronneutron_admin_auth_url=http://localhost:5000/v2.0neutron_url_timeout=30cinder_catalog_info=volume:cinder:publicURLcinder_admin_username=cindercinder_admin_password=7ec1a0f6b6834dd7cinder_cross_az_attach=Truecinder_api_insecure=Falsecinder_admin_auth_url=http://localhost:5000/v2.0cinder_http_retries=3cinder_admin_tenant_name=services[generic]volume_name_template=manila-share-%sshare_mount_path=/shares # 共享在共享实例中的位置max_time_to_create_volume=180delete_share_server_with_last_share=Falseservice_instance_smb_config_path=$share_mount_path/smb.confvolume_snapshot_name_template=manila-snapshot-%sautomatic_share_server_cleanup=Trueshare_backend_name=genericsmb_template_config_path=$state_path/smb.confdriver_handles_share_servers=Trueshare_driver=manila.share.drivers.generic.GenericShareDriverunmanage_remove_access_rules=Falsemax_time_to_attach=120share_helpers=CIFS=manila.share.drivers.generic.CIFSHelper,NFS=manila.share.drivers.generic.NFSHelperpath_to_private_key=~/.ssh/id_rsaservice_network_division_mask=28service_instance_network_helper_type=neutronmax_time_to_build_instance=300 # 创建共享实例的最大等待时间manila_service_keypair_name=manila-serviceservice_network_name=manila_service_network # manila服务网络名, 只和Neutron配置使用, neutron net-list可以查看interface_driver=manila.network.linux.interface.OVSInterfaceDriverservice_network_cidr=10.254.0.0/16 # 共享实例所在的网络service_instance_flavor_id=66 # 共享实例所使用的flavor ID. nova flavor-list可以查看path_to_public_key=~/.ssh/id_rsa.pubservice_image_name=manila-service-image # 镜像文件名, glance image-list可以查看service_instance_name_template=manila_service_instance_%sservice_instance_user=manila # 镜像系统登录的用户名service_instance_password=manila # # 镜像系统登录的密码share_volume_fstype=ext4service_instance_security_group=manila-serviceconnect_share_server_to_tenant_network=False[oslo_messaging_rabbit]rabbit_ha_queues=Falserabbit_userid=guestrabbit_password=guestrabbit_port=5672rabbit_use_ssl=Falserabbit_virtual_host=/amqp_durable_queues=Falserabbit_host=192.168.31.233rabbit_hosts=192.168.31.233:5672[oslo_messaging_amqp]container_name=guesttrace=Falsegroup_request_prefix=unicastidle_timeout=0allow_insecure_clients=Falseserver_request_prefix=exclusivebroadcast_prefix=broadcast[oslo_concurrency]lock_path=/tmp/manila/manila_locks[database]max_overflow=20max_retries=10min_pool_size=1max_pool_size=10retry_interval=10idle_timeout=3600connection=mysql+pymysql://manila:38ef69950ba54354@192.168.31.233/manila
1.2 配置文件信息验证
(1) 镜像
我们使用的manila镜像是: manila-ubuntu-core.qcow2.
[root@cloud ~(keystone_demo)]# glance image-list+--------------------------------------+----------------------+| ID | Name |+--------------------------------------+----------------------+| 251fc231-d77e-41f5-95d1-53ccb4885713 | cirros || 78321fb8-4623-4430-a864-cd7b91e34d5d | manila-service-image |+--------------------------------------+----------------------+[root@cloud ~(keystone_demo)]# glance image-show 78321fb8-4623-4430-a864-cd7b91e34d5d+------------------+--------------------------------------+| Property | Value |+------------------+--------------------------------------+| checksum | de7487de25edef01bb19752113bb4935 || container_format | bare || created_at | 2016-08-29T18:55:26Z || disk_format | qcow2 || id | 78321fb8-4623-4430-a864-cd7b91e34d5d || min_disk | 0 || min_ram | 0 || name | manila-service-image || owner | 7f529277e5304729a3c476852ed9cd89 || protected | False || size | 312999936 || status | active || tags | [] || updated_at | 2016-08-29T18:55:53Z || virtual_size | None || visibility | public |+------------------+--------------------------------------+
(2) Backend
查看可用的Backend:
[root@cloud ~(keystone_admin)]# manila pool-list+-----------------------+-------+---------+---------+| Name | Host | Backend | Pool |+-----------------------+-------+---------+---------+| cloud@generic#generic | cloud | generic | generic |+-----------------------+-------+---------+---------+[root@cloud ~(keystone_admin)]# manila service-list+----+------------------+---------------+------+---------+-------+----------------------------+| Id | Binary | Host | Zone | Status | State | Updated_at |+----+------------------+---------------+------+---------+-------+----------------------------+| 1 | manila-scheduler | cloud | nova | enabled | up | 2016-08-29T21:59:07.000000 || 2 | manila-share | cloud@generic | nova | enabled | up | 2016-08-29T21:59:07.000000 |+----+------------------+---------------+------+---------+-------+----------------------------+[root@cloud ~(keystone_demo)]# manila type-list+--------------------------------------+--------------------+------------+------------+-------------------------------------+-------------------------+| ID | Name | Visibility | is_default | required_extra_specs | optional_extra_specs |+--------------------------------------+--------------------+------------+------------+-------------------------------------+-------------------------+| d364b6d5-9897-4296-8e8f-348ddc87a33e | generic_share_type | public | - | driver_handles_share_servers : True | snapshot_support : True |+--------------------------------------+--------------------+------------+------------+-------------------------------------+-------------------------+[root@cloud ~(keystone_admin)]# manila api-version+------+-----------+---------+-----------------+| ID | Status | Version | Minimum Version |+------+-----------+---------+-----------------+| v1.0 | SUPPORTED | | || v2.0 | CURRENT | 2.6 | 2.0 |+------+-----------+---------+-----------------+
(3) 网络
[root@cloud ~(keystone_admin)]# neutron net-list+--------------------------------------+------------------------+------------------------------------------------------+| id | name | subnets |+--------------------------------------+------------------------+------------------------------------------------------+| 4017a406-4ce5-4feb-85e4-346093364fd2 | manila_service_network | ed45bdbb-465b-431b-93b2-5efccc8b46eb 10.254.0.0/28 || 622eec1e-7660-4538-987d-9792618e9454 | private | 3fb61cc7-cdb3-49f8-998b-c43861d2684e 10.0.0.0/24 || c84e5733-51aa-43a5-ba2f-4501547506cb | public | 69a3cc0f-318e-411d-bbaf-21655df9a78a 172.24.4.224/28 |+--------------------------------------+------------------------+------------------------------------------------------+[root@cloud ~(keystone_admin)]# neutron net-show manila_service_network+---------------------------+--------------------------------------+| Field | Value |+---------------------------+--------------------------------------+| admin_state_up | True || id | 4017a406-4ce5-4feb-85e4-346093364fd2 || mtu | 0 || name | manila_service_network || provider:network_type | vxlan || provider:physical_network | || provider:segmentation_id | 64 || router:external | False || shared | False || status | ACTIVE || subnets | ed45bdbb-465b-431b-93b2-5efccc8b46eb || tenant_id | 7f529277e5304729a3c476852ed9cd89 |+---------------------------+--------------------------------------+
[root@cloud ~(keystone_demo)]# neutron net-list
+————————————–+———+————————————————–+
| id | name | subnets |
+————————————–+———+————————————————–+
| c84e5733-51aa-43a5-ba2f-4501547506cb | public | 69a3cc0f-318e-411d-bbaf-21655df9a78a |
| 622eec1e-7660-4538-987d-9792618e9454 | private | 3fb61cc7-cdb3-49f8-998b-c43861d2684e 10.0.0.0/24 |
+————————————–+———+————————————————–+
使用demo用户创建共享网络:
[root@cloud ~(keystone_demo)]# neutron net-list+--------------------------------------+---------+--------------------------------------------------+| id | name | subnets |+--------------------------------------+---------+--------------------------------------------------+| c84e5733-51aa-43a5-ba2f-4501547506cb | public | 69a3cc0f-318e-411d-bbaf-21655df9a78a || 622eec1e-7660-4538-987d-9792618e9454 | private | 3fb61cc7-cdb3-49f8-998b-c43861d2684e 10.0.0.0/24 |+--------------------------------------+---------+--------------------------------------------------+[root@cloud ~(keystone_demo)]# manila share-network-create --name share-network-1 --neutron-net-id 622eec1e-7660-4538-987d-9792618e9454 --neutron-subnet-id 3fb61cc7-cdb3-49f8-998b-c43861d2684e+-------------------+--------------------------------------+| Property | Value |+-------------------+--------------------------------------+| name | share-network-1 || segmentation_id | None || created_at | 2016-08-29T23:06:41.122040 || neutron_subnet_id | 3fb61cc7-cdb3-49f8-998b-c43861d2684e || updated_at | None || network_type | None || neutron_net_id | 622eec1e-7660-4538-987d-9792618e9454 || ip_version | None || nova_net_id | None || cidr | None || project_id | d6f01b3c735a4055ab7d8bbc3a3081e5 || id | e17542de-cd48-4f58-91e9-83a184c2388c || description | None |+-------------------+--------------------------------------+[root@cloud ~(keystone_demo)]# neutron net-list+--------------------------------------+---------+--------------------------------------------------+| id | name | subnets |+--------------------------------------+---------+--------------------------------------------------+| 622eec1e-7660-4538-987d-9792618e9454 | private | 3fb61cc7-cdb3-49f8-998b-c43861d2684e 10.0.0.0/24 || c84e5733-51aa-43a5-ba2f-4501547506cb | public | 69a3cc0f-318e-411d-bbaf-21655df9a78a |+--------------------------------------+---------+--------------------------------------------------+
注意到, 这个共享网络share-network-1
并不在demo的neutron net-list
中. 同时admin的manila share-network-list
和neturon net-list
也是看不到share-network-1
的.
(4) flavor
[root@cloud ~(keystone_demo)]# nova flavor-list+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+| 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True |......| 66 | m1.manila | 512 | 0 | 0 | | 1 | 1.0 | True |+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
2. manila上手体验
2.1 创建并挂载manila共享
创建manila共享
[root@cloud ~(keystone_demo)]# manila create NFS 1 --name share1 --share-network share-network-1 --share-type generic_share_type+-----------------------------+--------------------------------------+| Property | Value |+-----------------------------+--------------------------------------+| status | None || share_type_name | generic_share_type || description | None || availability_zone | None || share_network_id | None || export_locations | [] || host | None || snapshot_id | None || is_public | False || task_state | None || snapshot_support | True || id | c26852a6-3274-4312-9343-d4d503f838e6 || size | 1 || name | share1 || share_type | d364b6d5-9897-4296-8e8f-348ddc87a33e || created_at | 2016-08-29T23:16:01.301535 || export_location | None || share_proto | NFS || consistency_group_id | None || source_cgsnapshot_member_id | None || project_id | d6f01b3c735a4055ab7d8bbc3a3081e5 || metadata | {} |+-----------------------------+--------------------------------------+
查看share状态, 已经是availiable
, 同时获得它的位置: 10.254.0.6:/shares/share-47a89d70-7d04-4656-a279-b1d550cef98a
.
[root@cloud ~(keystone_demo)]# manila list+--------------------------------------+--------+------+-------------+-----------+-----------+--------------------------------------+---------------------------------------------------------------+-----------------------+-------------------+| ID | Name | Size | Share Proto | Status | Is Public | Share Type | Export location | Host | Availability Zone |+--------------------------------------+--------+------+-------------+-----------+-----------+--------------------------------------+---------------------------------------------------------------+-----------------------+-------------------+| c26852a6-3274-4312-9343-d4d503f838e6 | share1 | 1 | NFS | available | False | d364b6d5-9897-4296-8e8f-348ddc87a33e | 10.254.0.6:/shares/share-47a89d70-7d04-4656-a279-b1d550cef98a | cloud@generic#generic | nova |+--------------------------------------+--------+------+-------------+-----------+-----------+--------------------------------------+---------------------------------------------------------------+-----------------------+-------------------+
此时查看admin用户的实例发现, 多了一个共享实例. 但是这个共享实例demo用户是看不到的. 如下图所示:
允许manila-instance访问这个共享实例:
[root@cloud network-scripts(keystone_demo)]# manila access-allow share1 ip 10.0.0.4+--------------+--------------------------------------+| Property | Value |+--------------+--------------------------------------+| share_id | c26852a6-3274-4312-9343-d4d503f838e6 || access_type | ip || access_to | 10.0.0.4 || access_level | rw || state | new || id | ba8aac94-20c8-4a40-8057-078863e90069 |+--------------+--------------------------------------+
通过dashboard的nonvc进入到manila-instance中, 将共享挂载到manila-instance上.
manila@localhost:~$ sudo mount -t nfs 10.254.0.6:/shares/share-47a89d70-7d04-4656-a279-b1d550cef98a /home/share1
通过manila-instance在共享目录上创建文件file_by_manila-instance
, 如下图所示:
根据之前manila.conf
的配置, 这个共享文件夹应该位于共享实例的/shares
目录下. 为了验证, 我们登录共享实例, 如下图所示:
从上图中可以看出, 我们所创建的manila共享其实就对应着共享实例主机上/shares
目录下的一个文件夹. 这里有一个问题, 什么情况下会创建新的共享实例主机. 还是说所有的share都只放在一个共享实例上???
另外, 实际上manila access-allow
的过程, 就是在共享实例的/etc/exports
文件中创建了一条记录而已. 相应地, manila access-deny
的过程就是删除了一条记录.
反过来, 对/etc/exports
文件的修改也会影响manila共享的权限. 如, 手动删除10.0.0.4这个IP的访问权限并更新, 如下图所示:
此时manila-instance就无法访问这个共享文件夹了, 如下图所示:
但是此时manila access-list
中仍然有这条记录, 但是显然它已经不起作用了, 真正决定访问权限的是共享实例上的/etc/exports
文件.
另外, 当共享实例死机时, 对该主机的操作就会卡住, 如下图所示, 共享实例正在重启, 此时我们进行了[root@cloud network-scripts(keystone_demo)]# manila access-deny share1 4a31c008-358b-4087-81b2-e9f9d55e474e
操作, 这个操作就会一直处于ing状态.
2.2 挂载已有的manila共享
[root@cloud ~(keystone_admin)]# manila manage cloud@generic#generic nfs 10.0.0.4:/home/shareFolder_in_client --share_type generic_share_type+-----------------------------+--------------------------------------+| Property | Value |+-----------------------------+--------------------------------------+| status | manage_starting || share_type_name | generic_share_type || description | None || availability_zone | None || share_network_id | None || export_locations | [] || share_server_id | None || host | cloud@generic#generic || snapshot_id | None || is_public | False || task_state | None || snapshot_support | True || id | 78144b33-0d10-46ad-9f90-5a7c157ed6b3 || size | None || name | None || share_type | d364b6d5-9897-4296-8e8f-348ddc87a33e || created_at | 2016-08-30T02:11:23.000000 || export_location | 10.0.0.4:/home/shareFolder_in_client || share_proto | NFS || consistency_group_id | None || source_cgsnapshot_member_id | None || project_id | 6b527d01bf8d4f5d8b1ccbc63dc49bc7 || metadata | {} |+-----------------------------+--------------------------------------+
出错:
[root@cloud manila(keystone_admin)]# manila manage cloud@generic#generic nfs 10.0.0.4:/home/shareFolder_in_client --share_type manage_share_type+-----------------------------+--------------------------------------+| Property | Value |+-----------------------------+--------------------------------------+| status | manage_starting || share_type_name | manage_share_type || description | None || availability_zone | None || share_network_id | None || export_locations | [] || share_server_id | None || host | cloud@generic#generic || snapshot_id | None || is_public | False || task_state | None || snapshot_support | True || id | 78144b33-0d10-46ad-9f90-5a7c157ed6b3 || size | 1 || name | None || share_type | 5781440e-bfe5-44e9-937f-1761fd09f265 || created_at | 2016-08-30T02:11:23.000000 || export_location | 10.0.0.4:/home/shareFolder_in_client || share_proto | NFS || consistency_group_id | None || source_cgsnapshot_member_id | None || project_id | 6b527d01bf8d4f5d8b1ccbc63dc49bc7 || metadata | {} |+-----------------------------+--------------------------------------+
应该是driver的配置问题, 这两天重新看看官方文档, 试着解决一下这个问题.
- Openstack Manila使用初探 (Packstack)
- 使用packstack快速安装openstack -- by Ethan_lynn
- 使用packstack快速安装OpenStack开发环境
- CentOS下使用packstack安装OpenStack
- openstack/manila的基本概念
- centos下最简安装openstack——使用packstack
- centos下最简安装openstack——使用packstack
- Centos下使用packstack安装openstack allinone版本
- openstack for Mitaka——Shared File System(Manila)安装初探
- 利用Packstack自动化部署Openstack
- 通过packstack快速安装openstack
- Centos7+Packstack安装部署Openstack Mitaka之(一) 安装Packstack
- 如何安装OpenStack Manila (二)
- 如何安装OpenStack Manila (一)
- openstack新秀:manila框架及知识点介绍
- openstack manila 创建share的业务逻辑
- Centos 7 单机安装 Openstack(PackStack)
- packstack 安装 openstack 走过的弯路
- 如何处理大量数据高并发大流量并发操作方案
- NCL安装及运行
- ffmpeg用代码实现自己的muxer
- setTimeout运行机制
- 场景2 nginx 错误日志格式:
- Openstack Manila使用初探 (Packstack)
- MyBatis——动态SQL讲解
- 最好的Java IDE之争:Eclipse PK IntelliJ IDEA
- 【交通灯管理系统】
- 手把手教你部署高性能高可用的分布式架构总览
- 《基础控件—UIButton、UILable、UIImageView》
- maven3去掉重复的依赖jar包
- 微信开发第三篇:二维码生成
- 【MySQL学习笔记】MySQL库与表