# Manila System Architecture

The Shared File Systems service is intended to be ran on one or more nodes.

Manila uses a sql-based central database that is shared by all manila services in the system. The amount and depth of the data fits into a sql database quite well. For small deployments this seems like an optimal solution. For larger deployments, and especially if security is a concern, manila will be moving towards multiple data stores with some kind of aggregation system.

## Components

Below you will a brief explanation of the different components.

                                                        /- ( LDAP )
                                    [ Auth Manager ] ---
                                           |            \- ( DB )
                                           |
                                           |

                                           |
    [ Web Dashboard ]- manilaclient -[ manila-api ] -- < AMQP > -- [ manila-scheduler ] -- [ manila-share ] -- ( shared filesystem )
                                           |
                                           |
                                           |
                                           |
                                           |
                                        < REST >

- DB: sql database for data storage. Used by all components (LINKS NOT SHOWN)

- Web Dashboard: external component that talks to the api, implemented as a plugin to the OpenStack Dashboard (Horizon) project, source is here.

- manila-api

- Auth Manager: component responsible for users/projects/and roles. Can backend to DB or LDAP. This is not a separate binary, but rather a python class that is used by most components in the system.

- manila-scheduler

- manila-share

## Further Challenges

- More efficient share/snapshot size calculation

- Create a notion of “attached” shares with automation of mount operations

- Allow admin-created share-servers and share-networks to be used by multiple tenants

- Support creation of new subnets for share servers (to connect VLANs with VXLAN/GRE/etc)

- Gateway mediated networking model with NFS-Ganesha

- Add support for more backends

this page last updated: 2026-03-20 00:30:00

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug