Using a Global Namespace
When designing your Avere cluster, you should consider how clients access files from back-end storage. The Global Namespace (GNS) feature in Avere OS gives you the ability to create a client-facing namespace with a different structure from the actual back-end filesystems.
Avere’s edge filer architecture gives you the ability to set up a virtual filesystem so that clients see one seamless file structure, regardless of how files are actually stored on the back-end core filers.
This Global Namespace feature (GNS) lets you specify a client-visible namespace that maps to the actual back-end filesystems. Because the client always uses the same virtual location to access a file, GNS makes it possible to nondisruptively move live data between back-end storage solutions, replace obsolete hardware, or dynamically scale to cloud storage with Avere’s FlashMirror, FlashMove, and FlashCloud features.
A legacy option also exists in Avere OS, called a simple namespace. In a simple namespace, one vserver is required for each core filer, and clients use the same file structure that exists on the core filer.
In a GNS configuration, one GNS vserver can handle requests for multiple core filers.
When you create a vserver, you must choose whether it uses GNS or a simple namespace; you cannot switch settings after creating the vserver. However, you can add vservers to an Avere cluster at any time.
Designing a Global Namespace
Before implementing a global namespace, it is important to consider the file and directory layout you want to present to clients. (Although the namespace can be modified later, changing the file structure after clients have started using it can cause confusion.)
The figures below show physical and logical views of a sample global namespace. Although files are actually stored on multiple back-end systems, the clients see the simpler logical view created by junctions on the Avere cluster.
To reach a file in the pipeline
directory on the remote Linux server, a client mounting the Avere cluster can simply change to the directory /sales/pipeline
Elements of a Global Namespace
An Avere global namespace is constructed from these components:
- A vserver, set to use GNS at creation time
- Core filers, with exports that store the information requested through the vserver
- Junctions, which are links that define a virtual directory in the global namespace and link it to an actual directory exported from the core filer
Planning A Global Namespace
This section explains prerequisites and other considerations for designing a global namespace on an Avere cluster.
Keep in mind the following constraints and advice when planning to implement a global namespace in Avere OS.
Core Filer Compatibility
Use one of the supported core filer types. Contact your Avere Systems representative for the current list.
Access Control Strategies
Consider how to control user access with export policies before creating junctions.
- User access can be controlled at the core filer export level or at the GNS junction level.
- Some types of core filers export only the filesystem root (/). If you allow unrestricted access to this export, users have unlimited access to all of the core filer’s content (including any subdirectories).
- If exporting the core filer root directory is optional, consider exporting only subdirectories, or applying the most restrictive user access setting available to the root export.
- Ensure that appropriate export policies exist before creating junctions.
Read Controlling Access to Core Filer Exports to learn more.
Creating a Global Namespace
Configure your GNS in the VServer section of the Avere Control Panel Settings utility. Read the VServer > Namespace page reference for step-by-step instructions on how to map back-end storage to the global namespace in your Avere cluster.