| layout | default |
|---|---|
| title | NFS on XCP-ng - Quick Start Guide (Xen Orchestra) |
This guide walks you through configuring NFS storage on XCP-ng using Xen Orchestra (XO) web interface.
📘 For iSCSI storage: See iSCSI Quick Start or iSCSI GUI Guide
{% include quickstart/disclaimer.md %}
- XCP-ng 8.3 with Xen Orchestra installed
- Pure FlashArray with:
- NFS file interface configured
- NFS export policy created with NFSv4.1 enabled (recommended) and no root squash enabled
- Export path created (e.g.,
/xcp/VMs) - NFS export quota policy created
- Network connectivity between XCP-ng hosts and Pure FlashArray NFS interface
Before adding NFS storage, verify connectivity from each XCP-ng host.
# Test connectivity to NFS server
ping -c 3 <NFS_SERVER_IP>
# Test NFS port (2049)
nc -zv <NFS_SERVER_IP> 2049
# List available exports
showmount -e <NFS_SERVER_IP>Expected output from showmount:
Export list for 10.10.3.15:
/xcp/VMs 10.10.3.0/24
Important: Your NFS server or appliance must be set to allow sub-directory mounts, or adding the SR will fail. In FreeNAS/TrueNAS, this is the "All dirs" checkbox in NFS share properties.
- Click New → Storage in the top menu
XO New menu showing Storage option
- Fill in the initial SR details:
| Field | Value | Description |
|---|---|---|
| Host | Select pool master | Initial host for connection |
| Name | PureNFS |
Descriptive name for the SR |
| Description | Pure NFS Storage |
Optional description |
Fill in Host, Name, and Description before selecting storage type
- Select NFS from the storage type dropdown
- Enter the NFS connection details:
| Field | Value | Description |
|---|---|---|
| Server | 10.10.3.15 |
Pure FlashArray NFS file interface IP |
| NFS Version | 4.1 |
NFSv4.1 recommended for Pure |
NFS SR creation form with connection details
- Select the NFS export path
Selecting VMs path from NFS export
- Click Create
Click Create to add the NFS SR
- Wait for the SR to be created - XO will automatically show the SR summary page
SR General tab showing connected NFS storage repository
- Verify host connections in the Hosts tab
SR Hosts tab showing all hosts connected to NFS SR
- Click New → VM
- Select your template (e.g., Ubuntu, CentOS, Windows)
- In the Disks section, select your new NFS SR (in our lab "PureNFS" is the SR)
- Complete the VM creation wizard
- Start the VM and verify it runs correctly
After creating the VM, verify the disk is stored on NFS:
- Select the VM in XO
- Go to the Disks tab
- Verify the disk shows the NFS SR as its location
Connect to a host via SSH to verify the NFS mount:
# List SRs
xe sr-list type=nfs
# Check mount status
mount | grep nfs
# View SR directory
ls -la /var/run/sr-mount/<SR_UUID>/| Feature | NFS | iSCSI |
|---|---|---|
| Protocol | File-based | Block-based |
| Setup Complexity | Simpler | More complex |
| Multipathing | Built-in (TCP) | Requires dm-multipath |
| Performance | Good for mixed workloads | Better for I/O intensive |
| Live Migration | Supported | Supported |
| Use Case | General VM storage, ISO library | Database VMs, high IOPS |
-
Check network connectivity:
ping <NFS_SERVER_IP> nc -zv <NFS_SERVER_IP> 2049
-
Check NFS exports:
showmount -e <NFS_SERVER_IP>
-
Check firewall on NFS server:
- Ensure ports 111 (rpcbind) and 2049 (NFS) are open
-
Check export permissions:
- Verify XCP-ng host IPs are in the allowed list
-
Check NFS version compatibility:
# Try mounting manually with specific version mount -t nfs -o vers=3 <NFS_SERVER_IP>:/path /mnt/test
-
Check for stale mounts:
# On XCP-ng host mount | grep nfs
-
Check NFS options:
- Use
tcpinstead ofudp - Adjust
rsizeandwsizeif needed
- Use
-
Check network:
# Test throughput dd if=/dev/zero of=/var/run/sr-mount/<SR_UUID>/testfile bs=1M count=1024
| Task | Xen Orchestra Location |
|---|---|
| View SRs | Home → SRs |
| Create VM | New → VM |
| Pool Settings | Home → Pools → Advanced |
| Logs | Home → Logs |
# List NFS SRs
xe sr-list type=nfs
# Get SR details
xe sr-param-list uuid=<SR_UUID>
# Check PBD status
xe pbd-list sr-uuid=<SR_UUID>
# Reconnect SR
xe pbd-plug uuid=<PBD_UUID>
# Check mounts
mount | grep nfs- iSCSI Quick Start - Block storage alternative
- iSCSI GUI Guide - iSCSI with Xen Orchestra
- iSCSI Best Practices - Production deployment guidance
- [Common Troubleshooting]({{ site.baseurl }}/common/troubleshooting-common.html)

