天天看点

OpenStack 系列之File Share Service(Manila) Install Guide

OpenStack  File Share Service(Manila) For Centos

Introduction:

1.Create the database.

1

2

3

4

<code>mysql -u root -p</code>

<code>CREATE DATABASE manila;</code>

<code>GRANT ALL PRIVILEGES ON manila.* TO </code><code>'manila'</code><code>@</code><code>'localhost'</code><code>IDENTIFIED BY </code><code>'password'</code><code>;</code>

<code>GRANT ALL PRIVILEGES ON manila.* TO </code><code>'manila'</code><code>@</code><code>'%'</code><code>IDENTIFIED BY </code><code>'password'</code><code>;</code>

5

6

7

8

9

<code>openstack user create --password-prompt manila</code>

<code>openstack role add --project service --user manila admin</code>

<code>openstack service create --name manila --description</code><code>"OpenStack Shared Filesystems"</code> <code>share</code>

<code>openstack endpoint create \</code>

<code>  </code><code>--publicurl http:</code><code>//x</code><code>.x.x.x:8786</code><code>/v1/</code><code>%\(tenant_id\)s \</code>

<code>  </code><code>--internalurl http:</code><code>//x</code><code>.x.x.x:8786</code><code>/v1/</code><code>%\(tenant_id\)s \</code>

<code>  </code><code>--adminurl http:</code><code>//x</code><code>.x.x.x:8786</code><code>/v1/</code><code>%\(tenant_id\)s \</code>

<code>  </code><code>--region RegionOne \</code>

<code>  </code><code>share</code>

3.Install required packages on controller node.openstack-manila-api and openstack-manila-scheduler services will run on thecontroller node.

<code>yum </code><code>install</code> <code>openstack-manila python-manilapython-manilaclient</code>

4.Installed required packages on compute node.openstack-manila-share service will run on the compute node.

<code>yum </code><code>install</code> <code>openstack-mania-share python-manila</code>

5. Edit the /etc/manila/manila.conf file and api-paste.ini

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

<code>[DEFAULT]</code>

<code>osapi_share_listen=0.0.0.0</code>

<code>api_paste_config=</code><code>/etc/manila/api-paste</code><code>.ini</code>

<code>state_path=</code><code>/var/lib/manila</code>

<code>glance_host=X.X.X.X</code>

<code>storage_availability_zone=nova</code>

<code>rootwrap_config=</code><code>/etc/manila/rootwrap</code><code>.conf</code>

<code>auth_strategy=keystone</code>

<code>enabled_share_backends=backend1</code>

<code>nova_catalog_info=compute:nova:publicURL</code>

<code>nova_catalog_admin_info=compute:nova:adminURL</code>

<code>nova_api_insecure=False</code>

<code>nova_admin_username=nova</code>

<code>nova_admin_password=password</code>

<code>nova_admin_tenant_name=service</code>

<code>nova_admin_auth_url=http:</code><code>//X</code><code>.X.X.X:5000</code><code>/v2</code><code>.0</code>

<code>network_api_class=manila.network.neutron.neutron_network_plugin.NeutronNetworkPlugin</code>

<code>debug=True</code>

<code>verbose=True</code>

<code>log_dir=</code><code>/var/log/manila</code>

<code>use_syslog=False</code>

<code>rpc_backend=rabbit</code>

<code>control_exchange=openstack</code>

<code>amqp_durable_queues=False</code>

<code>cinder_catalog_info=volume:cinder:publicURL</code>

<code>neutron_api_insecure=False</code>

<code>cinder_admin_username=cinder</code>

<code>neutron_auth_strategy=keystone</code>

<code>cinder_admin_password=password</code>

<code>notification_driver=messaging</code>

<code>neutron_admin_tenant_name=service</code>

<code>cinder_cross_az_attach=True</code>

<code>neutron_url=http:</code><code>//X</code><code>.X.X.X:9696</code>

<code>cinder_api_insecure=False</code>

<code>cinder_admin_auth_url=http:</code><code>//X</code><code>.X.X.X:5000</code><code>/v2</code><code>.0</code>

<code>cinder_http_retries=3</code>

<code>cinder_admin_tenant_name=service</code>

<code>neutron_admin_password=password</code>

<code>neutron_admin_username=neutron</code>

<code>neutron_admin_auth_url=http:</code><code>//X</code><code>.X.X.X:5000</code><code>/v2</code><code>.0</code>

<code>neutron_url_timeout=30</code>

<code>default_share_type = default</code>

<code>sql_connection = mysql:</code><code>//manila</code><code>:[email protected]</code><code>/manila</code>

<code>[oslo_messaging_rabbit]</code>

<code>rabbit_host = controller</code>

<code>rabbit_userid = openstack</code>

<code>rabbit_password = password</code>

<code>[oslo_concurrency]</code>

<code>lock_path=</code><code>/var/lock/manila</code>

Warning!!!

This Manila Share Backend is configure on Manila Share node,So Manila-api and Manila-scheduler not configure.

<code>[backend1]</code>

<code>service_network_division_mask=28</code>

<code>volume_name_template=manila-share-%s</code>

<code>service_instance_network_helper_type=neutron</code>

<code>max_time_to_build_instance=300</code>

<code>share_mount_path=</code><code>/shares</code>

<code>manila_service_keypair_name=manila-service</code>

<code>service_network_name=manila_service_network</code>

<code>interface_driver=manila.network.linux.interface.OVSInterfaceDriver</code>

<code>service_network_cidr=10.254.0.0</code><code>/16</code>

<code>service_instance_flavor_id=100</code>

<code>service_instance_smb_config_path=$share_mount_path</code><code>/smb</code><code>.conf</code>

<code>volume_snapshot_name_template=manila-snapshot-%s</code>

<code>share_backend_name=backend1</code>

<code>smb_template_config_path=$state_path</code><code>/smb</code><code>.conf</code>

<code>service_instance_name_template=manila_service_instance_%s</code>

<code>driver_handles_share_servers = True</code>

<code>service_instance_user = manila</code>

<code>service_instance_password=manila</code>

<code>service_image_name = manila-service-image</code>

<code>path_to_private_key = </code><code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code>

<code>path_to_public_key = </code><code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.pub</code>

<code>share_backend_name = GENERIC1</code>

<code>share_driver = manila.share.drivers.generic.GenericShareDriver</code>

<code>share_helpers=CIFS=manila.share.drivers.generic.CIFSHelper,NFS=manila.share.drivers.generic.NFSHelper</code>

<code>share_volume_fstype=ext4</code>

<code>max_time_to_attach=120</code>

<code>service_instance_security_group=manila-service</code>

<code>connect_share_server_to_tenant_network=False</code>

<code>Replace </code><code>/etc/manila/api-paste</code><code>.ini,Configure Keystone authtoken.</code>

<code>service_protocol = http</code>

<code>service_host = X.X.X.X</code>

<code>service_port = 5000</code>

<code>auth_host = X.X.X.X</code>

<code>auth_port = 35357</code>

<code>auth_protocol = http</code>

<code>admin_tenant_name = service</code>

<code>admin_user = manila</code>

<code>admin_password = password</code>

<code>signing_dir = </code><code>/var/lib/manila</code>

<code>auth_uri=http:</code><code>//X</code><code>.X.X.X:5000/</code>

6.Populate the Manila Database.

<code>su</code> <code>-s </code><code>/bin/sh</code> <code>-c </code><code>"manila-manage db sync"</code> <code>manila</code>

7.Start and enable manila services.

<code>systemctl start openstack-manila-api</code>

<code>systemctl start openstack-manila-scheduler</code>

<code>systemctl </code><code>enable</code> <code>openstack-manila-api</code>

<code>systemctl </code><code>enable</code> <code>openstack-manila-scheduler</code>

<code>systemctl start openstack-manila-share</code>

<code>systemctl </code><code>enable</code> <code>openstack-manila-share</code>

8.Upload manila service imageto glance.

<code>wget https:</code><code>//github</code><code>.com</code><code>/uglide/manila-image-elements/releases/download/0</code><code>.1.0</code><code>/manila-service-image</code><code>.qcow2</code>

<code>glance image-create --name </code><code>"manila-service-image-new"</code> <code>--</code><code>file</code> <code>manila-service-image.qcow2 --disk-</code><code>format</code> <code>qcow2 --container-</code><code>format</code> <code>bare --visibility public --progress</code>

9.Create default share type.

<code>manila </code><code>type</code><code>-create default True</code>

10. Create Manila flavor type.

<code>nova flavor-create manila-service-flavor 100 128 0 1</code>

11. Create nova for manila Security Group.

<code>nova secgroup-create manila-service </code><code>'manila-service description'</code>

<code>nova secgroup-add-rule manila-service icmp -1 -1 0.0.0.0</code><code>/0</code>

<code>nova secgroup-add-rule manila-service tcp 22 22 0.0.0.0</code><code>/0</code>

<code>nova secgroup-add-rule manila-service tcp 2049 2049 0.0.0.0</code><code>/0</code>

<code>nova secgroup-add-rule manila-service udp 2049 2049 0.0.0.0</code><code>/0</code>

<code>nova secgroup-add-rule manila-service udp 445 445 0.0.0.0</code><code>/0</code>

<code>nova secgroup-add-rule manila-service tcp 445 445 0.0.0.0</code><code>/0</code>

<code>nova secgroup-add-rule manila-service tcp 137 139 0.0.0.0</code><code>/0</code>

<code>nova secgroup-add-rule manila-service udp 137 139 0.0.0.0</code><code>/0</code>

12. Create share network.

<code>manila share-network-create --name devinshare --neutron-net-</code><code>id</code> <code>XXXXXXX --neutron-subnet-</code><code>id</code> <code>XXXXXXX</code>

13. Create NFS share.

<code>manila create NFS 1 --name devin --share-network devinshare</code>

14. Configure Manila access.

<code>manila access-allow devin ip XXX(instance_ip) --access-level rw</code>

本文转自Devin 51CTO博客,原文链接:http://blog.51cto.com/devingeng/1745324

继续阅读