The official TrueNAS CSI driver was released by iXsystems in December 2025.
Last Updated: January 2026
| Aspect | TNS-CSI | truenas-csi (Official) |
|---|---|---|
| Maintainer | Community (fenio) | iXsystems |
| License | GPL-3.0 | GPL-3.0 |
| TrueNAS Version | Scale 25.10+ | Scale 25.10+ |
| API Communication | WebSocket API | WebSocket API |
| Language | Go | Go |
| Protocol | TNS-CSI | truenas-csi |
|---|---|---|
| NFS | Yes | Yes |
| iSCSI | Yes | Yes |
| NVMe-oF (TCP) | Yes | No |
Key difference: TNS-CSI supports all three major storage protocols (NFS, iSCSI, and NVMe-oF), while the official driver supports NFS and iSCSI but not NVMe-oF. If you need NVMe-oF for high-performance block storage on modern networks (10GbE+), TNS-CSI is currently the only option.
| Feature | TNS-CSI | truenas-csi |
|---|---|---|
| Dynamic Provisioning | Yes | Yes |
| Volume Expansion | Yes | Yes |
| Snapshots | Yes | Yes |
| Volume Cloning | Yes | Yes |
| ZFS Compression | Yes | Yes |
| ZFS Sync Modes | Yes | Yes |
| Detached Snapshots | Yes | No |
| Dataset Encryption | Yes | Yes |
| Automatic Snapshot Scheduling | No | Yes |
| CHAP Authentication | No | Yes |
| kubectl Plugin | Yes | No |
| Volume Adoption/Migration | Yes | No |
| Prometheus Metrics | Yes | No |
| Orphan Volume Detection | Yes | No |
A comprehensive command-line tool for volume management:
kubectl tns-csi summary- Dashboard overview of all resourceskubectl tns-csi list- List all managed volumeskubectl tns-csi list-orphaned- Find volumes with no matching PVCkubectl tns-csi list-unmanaged- Discover datasets not managed by tns-csikubectl tns-csi import- Import existing datasets into managementkubectl tns-csi adopt- Generate manifests for volume adoptionkubectl tns-csi health- Check health of all volumeskubectl tns-csi troubleshoot- Diagnose PVC issues
- Uses
zfs send/receiveto create independent dataset copies - Survives deletion of source volume
- Useful for backup/DR scenarios
- Can be restored even after original volume is deleted
- Mark volumes as "adoptable" for cluster migration
- Import existing datasets into tns-csi management
- Re-adopt volumes after cluster rebuild
- Migration assistance from democratic-csi
Built-in observability:
- Volume operation latencies (create, delete, expand)
- Error rates by operation type
- Volume capacity tracking
- Request counts and durations
- Modern block storage protocol
- Better performance than iSCSI on fast networks (10GbE+)
- Lower CPU overhead
- Native multipath support
- Cron-based scheduling directly in StorageClass
- Configurable retention policies (hourly to yearly)
- Custom naming schemas with timestamps
- No external snapshot controller needed for scheduled snapshots
- CHAP authentication (including mutual CHAP)
- Initiator IQN filtering
- Network CIDR restrictions
- Note: TNS-CSI supports iSCSI but without CHAP authentication
- Maintained by iXsystems (TrueNAS developers)
- Likely to have better long-term support
- Integration with TrueNAS roadmap
- Official documentation and support channels
- You want NVMe-oF for high-performance block storage (not available in official driver)
- You want all three protocols (NFS, iSCSI, NVMe-oF) from a single driver
- You need volume adoption/migration features
- You want a kubectl plugin for volume management
- You're migrating from democratic-csi and want similar workflows
- You need Prometheus metrics for monitoring
- You want detached snapshots for backup/DR
- You need dataset encryption with flexible key management options
- You need automatic snapshot scheduling without external tools
- You need CHAP authentication for iSCSI
- You prefer official vendor support
- You want the safety of an iXsystems-maintained project
| Aspect | TNS-CSI | truenas-csi |
|---|---|---|
| Project Age | ~6 months | ~1 month (Dec 2025) |
| Production Use | Homelab tested | Unknown |
| Test Coverage | Unit + E2E tests | Unknown |
| Documentation | Comprehensive | Good |
Note: The official truenas-csi is very new (created December 2025). While it has iXsystems backing, it may still have early-stage issues. TNS-CSI has been in development longer but lacks official vendor support.
Both drivers store metadata in ZFS user properties, but with different property prefixes:
- TNS-CSI:
tns-csi:*properties - truenas-csi: Different property schema
Direct migration between the two would require re-importing volumes. TNS-CSI's kubectl tns-csi import command can help adopt datasets created by other tools.
- TNS-CSI GitHub
- truenas-csi GitHub (Official)