Using Manila - Filesystems-as-a-service - on Jetstream

BETA!

Manila is the file share service project for OpenStack. Manila provides the management of file shares for example, NFS and CIFS, as a core service to OpenStack. Manila works with a variety of proprietary backend storage arrays and appliances, with open source distributed filesystems, as well as with a base Linux NFS or Samba server. 

Prereqs: Make sure you have the nfs client installed on your instance: apt install nfs-common for Ubuntu and yum install nfs-utils for CentOS 

Presently, Manila is in BETA mode on Jetstream and is only functional on the IU cloud.

To use Manila via Horizon:

Create the share

  1. Click on:  Project  → Share → Shares → Create Share

2. Create a share with the following settings:

  • protocol - nfs,

  • share type - cephnfstype

Add an interface on the Manila network to an instance

  1. Click Compute → Instances screen

  2. Click Attach Interface (under Create Snapshot tab at far right)

     

  3. Attach to manila_testing (10.255.0.0/16) network.

  4. The instance should show the interface.

 

Attaching instance to the Manila network

  1. On a running instance add an interface on the manila_testing network.                                   

    1. Note the interface that gets added: ip addr show and note the interface name.

    2. For CentOS:

      1 2 3 4 5 6 7 8 9 cat > /etc/sysconfig/network-scripts/ifcfg-eth1 << EOF DEVICE="eth1" BOOTPROTO="dhcp" ONBOOT="yes" TYPE="Ethernet" PEERDNS="no" IPV6INIT="no" PERSISTENT_DHCLIENT="1" EOF

       

    3. For Ubuntu: 

      • sudo apt-get install nfs-common

      • Create a file /etc/netplan/10-ens7.yaml and add the following text. Replace 10.255.0.58/16 with your manila_testing IP address and fa:16:3e:89:82:b7 with your MAC address.

        1 2 3 4 5 6 7 8 9 10 network: version: 2 renderer: networkd ethernets: ens7: match: macaddress: fa:16:3e:89:82:b7 mtu: 1450 dhcp4: no addresses: [10.255.0.58/16]
      • To find the MAC address of the ens7 adapter do ip addr and look for the link/ether value.

      • sudo netplan apply

  2. Bring the interface up:   

 CentOS: ifup eth1 OR   Ubuntu: ip link set ens7 up

Exporting the Manila NFS filesystem to your instance

  1. In Horizon go to Project → Share → Shares and for your Manila filesystem select  Manage Rules under the  Edit Share   tab (right side) 

    1. Click  +Add rule  tab in the upper right corner

  2. Add your IP address in the Access To window

                                                                                                                               

  3. Go back to the  Shares  and click on Manila filesystem name (probably in Blue)                                                                                                                                                                    

  4. Copy the  Export Locations Path: You will need it in step 2 below. It will look something like  10.255.0.1:/volumes/_nogroup/02324a83-9501-424a-961b-c052a19f911b

Mounting Manila NFS filesystem 

  1. Make sure you have your mount point created. Our example is /ManilaShare

  2. Use the Export Location Path copied above to mount the Manila filesystem; e.g.

    1. mount 10.255.0.1:/volumes/_nogroup/9453a642-6333-4a65-b8ac-37c403b5f0c7 /ManilaShare/