Introduction
This guide shows you how to check the version of the VAST NFS client driver (vastnfs) on a Crusoe VM and upgrade it safely without corrupting active mounts.
Crusoe shared disks are served over NFSv3 from a VAST storage cluster. The high-throughput mount options used with shared disks — nconnect, remoteports, spread_reads, spread_writes — are provided by the vastnfs kernel driver rather than the stock in-tree NFS client.
The driver ships preinstalled in Crusoe curated images and replaces the standard NFS kernel modules, so lsmod output looks identical to a vanilla client. The reliable way to identify the installed version is vastnfs-ctl status.
Because the driver consists of kernel modules, it cannot be reloaded while any NFS filesystem is mounted. Upgrading therefore requires briefly unmounting all NFS volumes, or rebooting — which is why this guide is written around a maintenance window rather than a live workload.
Prerequisites
- Sudo Access on the VM
- Maintenance Window Allowing All NFS Mounts to Be Unmounted or a VM Reboot
- Outbound Internet Access From the VM (Direct Download Only)
- No Active Workloads Writing to NFS-Backed Paths During the Upgrade
Instructions
Step 1: Check the Current Driver Version
vastnfs-ctl status
Example output:
version: 4.5.1-vastdata kernel modules: sunrpc rpcrdma compat_nfs_ssc lockd nfs_acl nfs nfsv3 services: rpcbind.socket rpcbind rpc_pipefs: /run/rpc_pipefs
The version line is the installed driver version. The current package published for Crusoe VMs is 4.5.8; if vastnfs-ctl status reports anything lower, an upgrade is available.
Step 2: Download the Updated Driver Package
Download the vastnfs-dkms package on the VM:
wget https://github.com/crusoecloud/crusoe-nfs-support/raw/refs/heads/main/debs/vastnfs-dkms_4.5.8-vastdata_all.deb
Confirm the download is an actual package rather than an error page saved under the same filename:
file vastnfs-dkms_4.5.8-vastdata_all.deb
It should report Debian binary package. If it reports HTML or text, the download failed and the file is an error page — apt install would fail later with a confusing message.
ℹ️ Note: If your VM has no outbound internet access, download the package on a machine that does and copy it to the VM with
scp.
Step 3: Unmount All NFS Volumes
The kernel modules cannot be reloaded while any NFS mount is active. List active NFS mounts and unmount each:
findmnt -t nfs sudo umount <each-nfs-mountpoint> findmnt -t nfs
The second findmnt -t nfs should return nothing.
⚠️ Warning: If your home directory or other login-critical paths are NFS-mounted, unmounting them will disrupt active sessions. In that case, skip this step, install the package in Step 4, and reboot instead of reloading live — the result is the same.
Step 4: Install the Package and Reload the Driver
sudo apt install ./vastnfs-dkms_4.5.8-vastdata_all.deb sudo vastnfs-ctl reload
DKMS builds the modules against your running kernel during installation. If vastnfs-ctl reload reports modules still in use, reboot the VM instead:
sudo reboot
Step 5: Verify the New Version and Remount
vastnfs-ctl status sudo mount -a findmnt -t nfs
vastnfs-ctl status should now report the upgraded version — for example version: 4.5.8-vastdata — and your fstab-defined NFS mounts should be active again with the expected options.
Confirm a write on a read-write volume:
touch <your-rw-mountpoint>/writetest && rm <your-rw-mountpoint>/writetest
Example
An engineer maintains a fleet of VMs mounting shared datasets from VAST. After a client-side driver fix is released, they schedule a 15-minute window per VM.
They check vastnfs-ctl status (4.5.1), install the 4.5.8 package, and reboot rather than reloading live — their /home is NFS-mounted, so unmounting would drop their own session. After the reboot, vastnfs-ctl status reports 4.5.8 and mount -a has restored every fstab mount. Total downtime per VM is one reboot cycle.
Related Articles
- How-To Fix Shared Disks Mounting Read-Only Despite the rw Option
- VM Hangs With Kernel Soft Lockup When Multiple Processes Write to Shared Storage