openstack-manuals/doc/ha-guide-draft/source/storage-ha-file-systems.rst
ihutchin e4f9185c54 [ha-guide-draft] Create ha-guide draft directory
This creates a new ha-guide-draft directory to allow developing the
guide. Add infrastructure for:
* The draft guide is not translated currently.
* Build RST version (but not PDF yet) with each run.
* Publish guide as draft
* Update built index for it.

Also updates the ToC to reflect the proposed changes.

Implements: blueprint implement-ha-guide-todos

Change-Id: If6f65646e02ac3eac08c288fd727ab9851cf9569
2017-03-20 11:34:24 +00:00

3.5 KiB
Raw Blame History

Highly available Shared File Systems API

Making the Shared File Systems (manila) API service highly available in active/passive mode involves:

  • ha-sharedfilesystems-configure
  • ha-sharedfilesystems-services
  • ha-sharedfilesystems-pacemaker

Configure Shared File Systems API service

Edit the /etc/manila/manila.conf file:

# We have to use MySQL connection to store data:
sql_connection = mysql+pymysql://manila:password@10.0.0.11/manila?charset=utf8

# We bind Shared File Systems API to the VIP:
osapi_volume_listen = 10.0.0.11

# We send notifications to High Available RabbitMQ:
notifier_strategy = rabbit
rabbit_host = 10.0.0.11

Configure OpenStack services to use Shared File Systems API

Your OpenStack services must now point their Shared File Systems API configuration to the highly available, virtual cluster IP address rather than a Shared File Systems API servers physical IP address as you would for a non-HA environment.

You must create the Shared File Systems API endpoint with this IP.

If you are using both private and public IP addresses, you should create two virtual IPs and define your endpoints like this:

$ openstack endpoint create --region RegionOne \
  sharev2 public 'http://PUBLIC_VIP:8786/v2/%(tenant_id)s'

$ openstack endpoint create --region RegionOne \
  sharev2 internal 'http://10.0.0.11:8786/v2/%(tenant_id)s'

$ openstack endpoint create --region RegionOne \
  sharev2 admin 'http://10.0.0.11:8786/v2/%(tenant_id)s'

Add Shared File Systems API resource to Pacemaker

  1. Download the resource agent to your system:

    # cd /usr/lib/ocf/resource.d/openstack
    # wget https://git.openstack.org/cgit/openstack/openstack-resource-agents/plain/ocf/manila-api
    # chmod a+rx *
  2. Add the Pacemaker configuration for the Shared File Systems API resource. Connect to the Pacemaker cluster with the following command:

    # crm configure

    Note

    The crm configure supports batch input. Copy and paste the lines in the next step into your live Pacemaker configuration and then make changes as required.

    For example, you may enter edit p_ip_manila-api from the crm configure menu and edit the resource to match your preferred virtual IP address.

  3. Add the following cluster resources:

    primitive p_manila-api ocf:openstack:manila-api \
      params config="/etc/manila/manila.conf" \
      os_password="secretsecret" \
      os_username="admin" \
      os_tenant_name="admin" \
      keystone_get_token_url="http://10.0.0.11:5000/v2.0/tokens" \
      op monitor interval="30s" timeout="30s"

    This configuration creates p_manila-api, a resource for managing the Shared File Systems API service.

  4. Commit your configuration changes by entering the following command from the crm configure menu:

    # commit

Pacemaker now starts the Shared File Systems API service and its dependent resources on one of your nodes.