Proxmox Storage: Complete Guide to Network Storage Solutions
Proxmox VE provides extensive support for various storage backends, enabling administrators to integrate network-attached storage (NAS) solutions and union filesystems seamlessly into their virtualized infrastructure. This guide covers the most common network storage protocols: NFS, CIFS/SMB, SSHFS, and mergerfs for storage pooling.
What is Network Storage in Proxmox?β
Network storage allows Proxmox hosts to access remote storage resources over the network, providing:
- Centralized Storage Management: Single point of storage administration
- Shared Storage Access: Multiple Proxmox nodes can access the same storage
- Scalability: Easy expansion of storage capacity
- Data Protection: Centralized backup and redundancy solutions
- Cost Efficiency: Leverage existing NAS infrastructure
Storage Protocol Comparisonβ
- NFS
- CIFS/SMB
- SSHFS
- mergerfs
Network File System (NFS)
- Best For: Linux-centric environments, high performance requirements
- Pros: Excellent performance, native Linux support, mature protocol
- Cons: Limited Windows compatibility, requires proper network security
- Use Cases: VM storage, container volumes, shared data directories
- Performance: High throughput, low latency
Common Internet File System (CIFS/SMB)
- Best For: Mixed Windows/Linux environments, existing SMB infrastructure
- Pros: Excellent Windows compatibility, built-in authentication, wide support
- Cons: Higher overhead than NFS, more complex configuration
- Use Cases: File sharing, backup storage, mixed-OS environments
- Performance: Good performance with modern SMB versions (3.0+)
SSH File System (SSHFS)
- Best For: Secure connections, simple setup, existing SSH infrastructure
- Pros: Uses SSH (very secure), simple setup, automatic reconnection
- Cons: Higher CPU overhead, dependent on SSH service
- Use Cases: Secure remote storage, temporary mounts, development environments
- Performance: Moderate performance, excellent reliability
mergerfs (Union Filesystem)
- Best For: Storage pooling, combining multiple drives, media storage
- Pros: Drive independence, flexible expansion, no parity overhead, mixed drive sizes
- Cons: No built-in redundancy, FUSE overhead, requires external backup
- Use Cases: Media servers, backup aggregation, storage pools, mixed-size drive arrays
- Performance: Good read performance, configurable write policies
Storage Architecture Overviewβ
Network Storage Integrationβ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Proxmox Cluster β
β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Proxmox β β Proxmox β β Proxmox β β
β β Node 1 β β Node 2 β β Node 3 β β
β β β β β β β β
β β /mnt/pve/ β β /mnt/pve/ β β /mnt/pve/ β β
β β ββnfs-share β β ββnfs-share β β ββnfs-share β β
β β ββsmb-share β β ββsmb-share β β ββsmb-share β β
β β ββssh-share β β ββssh-share β β ββssh-share β β
β β ββmergerfs β β ββmergerfs β β ββmergerfs β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β β β β
βββββββββββΌββββββββββββββββββββΌββββββββββββββββββββΌβββββββββββ
β β β
βββββββββββββββββββββΌββββββββββββββββββββ
β
βββββββββββ΄ββββββββββ
β Network Switch β
βββββββββββ¬ββββββββββ
β
βββββββββββ΄ββββββββββ
β NAS Server β
β β
β NFS Service β
β SMB/CIFS Service β
β SSH Service β
β mergerfs Pool β
βββββββββββββββββββββ
Storage Types and Use Casesβ
VM Disk Imagesβ
Different storage protocols are suitable for various VM storage scenarios:
- NFS: Ideal for high-performance VM storage with live migration support
- CIFS/SMB: Good for general-purpose VM storage in mixed environments
- SSHFS: Suitable for development VMs and non-critical workloads
Container Volumesβ
LXC containers can leverage network storage for:
- Persistent Data: Application data that survives container restarts
- Shared Volumes: Data shared between multiple containers
- Backup Storage: Centralized backup destinations
ISO and Template Storageβ
Network storage can host:
- ISO Images: Installation media for VMs
- VM Templates: Pre-configured VM images
- Container Templates: LXC container templates
- Backup Files: VM and container backups
Performance Considerationsβ
Network Bandwidthβ
- Gigabit Ethernet: Sufficient for most workloads (125 MB/s theoretical)
- 10 Gigabit Ethernet: Recommended for high-performance storage (1.25 GB/s theoretical)
- Bonded Interfaces: Aggregate multiple connections for increased bandwidth
Latency Factorsβ
- Network Distance: Physical distance affects latency
- Switch Quality: Enterprise switches provide lower latency
- Protocol Overhead: Different protocols have varying overhead
- Concurrent Access: Multiple simultaneous connections impact performance
Optimization Strategiesβ
- Dedicated Storage Network: Separate storage traffic from management/VM traffic
- Jumbo Frames: Enable 9000-byte MTU for reduced packet overhead
- Protocol Tuning: Optimize mount options for specific workloads
- Caching: Use local caching where appropriate
- Load Balancing: Distribute storage load across multiple servers
Security Considerationsβ
Network Securityβ
- VLAN Isolation: Separate storage traffic using VLANs
- Firewall Rules: Restrict access to storage services
- VPN Tunnels: Encrypt traffic over untrusted networks
- Access Control: Implement proper authentication and authorization
Protocol-Specific Securityβ
- NFS Security
- CIFS Security
- SSHFS Security
NFS Security Measures
- Use NFSv4 with Kerberos authentication
- Implement proper export restrictions
- Configure secure RPC authentication
- Use firewalls to restrict NFS port access
- Consider NFSv4.1+ with pNFS for better security
CIFS/SMB Security Measures
- Use SMB3+ with encryption
- Implement strong authentication (Active Directory integration)
- Configure proper share permissions
- Use signing and encryption features
- Regular security updates for SMB services
SSHFS Security Measures
- Use SSH key-based authentication
- Implement proper SSH hardening
- Configure SSH connection limits
- Use strong encryption algorithms
- Regular SSH service updates
High Availability and Redundancyβ
Storage Redundancyβ
- RAID Arrays: Hardware-level redundancy on storage servers
- Replication: Real-time or scheduled data replication
- Clustering: Storage server clustering for failover
- Backup Strategies: Regular backups to separate storage systems
Network Redundancyβ
- Multiple Network Paths: Redundant network connections
- Link Aggregation: Bonded interfaces for failover
- Multipath I/O: Multiple paths to storage targets
- Geographic Distribution: Storage across multiple locations
Monitoring and Maintenanceβ
Performance Monitoringβ
- Bandwidth Utilization: Monitor network storage traffic
- Latency Metrics: Track response times for storage operations
- Error Rates: Monitor for network and storage errors
- Capacity Planning: Track storage usage and growth
Maintenance Tasksβ
- Regular Updates: Keep storage services updated
- Performance Tuning: Optimize configurations based on usage patterns
- Capacity Management: Monitor and expand storage as needed
- Backup Verification: Regularly test backup and restore procedures
Getting Startedβ
To implement network storage in your Proxmox environment:
- Assess Requirements: Determine storage capacity, performance, and availability needs
- Choose Protocol: Select the most appropriate storage protocol for your environment
- Plan Network Architecture: Design storage network topology
- Configure Storage Server: Set up NAS server with chosen protocols
- Mount Storage: Configure Proxmox to access network storage
- Test Performance: Validate storage performance and reliability
- Implement Monitoring: Set up monitoring and alerting
The following sections provide detailed setup and configuration guides for each storage protocol, enabling you to implement robust network storage solutions for your Proxmox infrastructure.
π¬ Recent Comments