# NFS Service Installation - Complete

## Summary
Successfully installed and configured NFS (Network File System) server on Ubuntu 24.04 Calypso server.

## Installation Details
- **Date**: 2025-12-25 10:01 UTC
- **Server**: calypso (10.10.14.16)
- **OS**: Ubuntu 24.04

## Packages Installed
1. **nfs-kernel-server** - Main NFS server package
2. **nfs-common** - Common NFS utilities
3. **rpcbind** - RPC portmapper (required for NFS)
4. **libnfsidmap1** - NFSv4 ID mapping library
5. **keyutils** - Key management utilities

Total size: 569 kB download, 2,022 kB installed

## Services Status
All NFS services running successfully:

✅ **rpcbind.service** - RPC bind portmap service
   - Status: active (running) since 10:01:01 UTC
   - PID: 382764

✅ **nfs-server.service** - NFS server and services
   - Status: active (exited) since 10:01:05 UTC
   - Enabled: yes

✅ **nfs-blkmap.service** - pNFS block layout mapping daemon
   - Status: active (running)

✅ **nfs-idmapd.service** - NFSv4 ID-name mapping service
   - Status: active (running)

✅ **nfs-mountd.service** - NFS Mount Daemon
   - Status: active (running)

✅ **nfsdcld.service** - NFSv4 Client Tracking Daemon
   - Status: active (running)

## Configuration Files
- **/etc/exports** - NFS export definitions (currently empty)
- **/etc/idmapd.conf** - NFSv4 ID mapping configuration
- **/etc/nfs.conf** - NFS server configuration
- **/etc/default/nfs-kernel-server** - NFS kernel server defaults

## Export Configuration
Currently no exports configured. Export list is empty:
\\\ash
showmount -e localhost
# Export list for localhost:
\\\

## Next Steps for NFS Share Configuration

### 1. Create NFS Export
Edit /etc/exports to add shared directories:
\\\ash
# Example exports
/data/nfs-share 192.168.1.0/24(rw,sync,no_subtree_check)
/backup 10.10.14.0/24(ro,sync,no_root_squash)
\\\

### 2. Apply Exports
\\\ash
exportfs -a           # Apply all exports
exportfs -v           # Verify exports
systemctl restart nfs-server
\\\

### 3. Firewall Rules (if needed)
\\\ash
ufw allow from 192.168.1.0/24 to any port nfs
ufw allow 2049/tcp    # NFS
ufw allow 111/tcp     # RPC portmapper
ufw allow 111/udp     # RPC portmapper
\\\

### 4. Test Mount (from client)
\\\ash
showmount -e 10.10.14.16
mount -t nfs 10.10.14.16:/data/nfs-share /mnt/nfs
\\\

## NFS Export Options Reference
- **rw**: Read-write access
- **ro**: Read-only access
- **sync**: Synchronous writes (safer, slower)
- **async**: Asynchronous writes (faster, less safe)
- **no_subtree_check**: Disable subtree checking (better performance)
- **no_root_squash**: Allow root access from client
- **root_squash**: Map root to anonymous user (more secure)

## Integration with Calypso
NFS shares can be used for:
- Exporting ZFS datasets via NFS
- Sharing tape library storage
- Remote backup destinations
- Distributed storage access

## Verification Commands
\\\ash
# Check NFS service status
systemctl status nfs-server

# List all NFS-related services
systemctl list-units | grep nfs

# Show active exports
exportfs -v

# Show exports to clients
showmount -e localhost

# Check RPC services
rpcinfo -p
\\\

---
**Status**: ✅ Installation Complete
**Services**: ✅ All Running
**Ready for**: Export configuration and client mounting
