Skip to main content
NetApp Knowledge Base

What are junction paths?

Views:
15,836
Visibility:
Public
Votes:
25
Category:
ontap-9
Specialty:
nas
Last Updated:

Applies to

  • ONTAP 9
  • Clustered Data ONTAP 8
  • NAS

Question(s) and Answer(s)

Volume junctions function to join individual volumes together, into a single logical namespace, in order to enable data access to NAS clients.

When NAS clients access data by traversing a junction, the junction appears to be an ordinary directory. A junction is formed when a volume is mounted to a mount point below the root, and is used to create a file-system tree. The top of a file-system tree is always the root volume, which is represented by a slash (/). A junction leads from a directory in one volume to the root directory of another volume.

  • Although specifying a junction point is optional when a volume is created, data in the volume cannot be exported (NFS) and a share cannot be created (CIFS) until the volume is mounted to a junction point in the namespace.
  • A volume that was not mounted during volume creation can be mounted post its creation.
  • New volumes can be added to the namespace at any time by mounting them to a junction point.
  • Mounted volumes can be unmounted; however, unmounting a volume disrupts new NAS sessions to all the data in the volume and to all the volumes mounted at the child junction points beneath the unmounted volume.
    • Due to the NFS filehandles referencing the volume MSID as described in Bug 465129, existing NFS sessions can continue to access all data in a volume even after the volume is removed from the SVM namespace.
  • Junction points can be created directly below a parent volume junction, or they can be created on a directory within a volume.
  • Snapshot copy access does not traverse junctions.
  • A volume can be mounted to the namespace of its Vserver in one place.

For example, a typical volume junction configuration with the above-mentioned namespace architecture might appear similar to the following configuration, where there are three insertion points to the root volume of the SVM. Two insertion points are directories named 'data' and 'projects'. One insertion point is a junctioned volume named 'audit'

1002380 img.jpg

::> volume show -vserver vs1 -junction
                      Junction                       Junction
Vserver Volume        Active    Junction Path        Path Source
------- ------------- --------- -------------------- -----------
vs1      audit         true      /audit               RW_volume
vs1      audit_logs1   true      /audit/logs1         RW_volume
vs1      audit_logs2   true      /audit/logs2         RW_volume
vs1      audit_logs3   true      /audit/logs3         RW_volume
vs1      eng           true      /data/eng            RW_volume
vs1      mktg1         true      /data/mktg1          RW_volume
vs1      mktg2         true      /data/mktg2          RW_volume
vs1      project1      true      /projects/project1   RW_volume
vs1      project2      true      /projects/project2   RW_volume
vs1      vs1_root      -         /                    -

A junction path can be defined during volume creation, or an existing volume can be modified with a junction path.

::> volume create -vserver vserver_name -volume volume_name –aggregate aggregate_name -size -security-style {ntfs|unix|mixed} -junction-path junction_path

Security style - Choose if the following apply:
UNIX:

  • The file system is managed by a UNIX administrator.
  • The majority of users are NFS clients.
  • An application accessing the data uses a UNIX user as the service account.

NTFS:

  • The file system is managed by a Windows administrator.
  • The majority of users are SMB clients.
  • An application accessing the data uses a Windows user as the service account.

Mixed:

  • The file system is managed by both UNIX and Windows administrators and users consist of both NFS and SMB clients.
 

Run the following command to mount a volume:
::> volume mount -vserver vserver_name -volume volume_name -junction-path junction_path

Run the following command to unmount a volume:
::> volume unmount -vserver vserver_name -volume volume_name

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.