What are junction paths?
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'

::> 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
