Daily
- Review cluster usage and tier capacity - Check for active repairs (should be zero in steady state) - Verify no storage-related alerts in the dashboard
Storage is the foundation of every workload in VergeOS. A degraded drive, a full tier, or an unnoticed integrity error can cascade into VM performance issues, failed snapshots, and tenant complaints. VergeOS provides built-in diagnostic tools at two levels — vSAN diagnostics for the distributed block-level storage engine, and NAS diagnostics for each file-sharing service instance — so you can detect, diagnose, and resolve issues before they impact production.
The vSAN Diagnostics interface provides real-time access to the VergeFS storage engine’s internal state. Every vcmd operation can be executed through the UI or via SSH on a controller node.
The vcmd utility is the CLI interface to the vSAN engine. Every command available in the UI dropdown maps to a vcmd invocation.
| Command | CLI Syntax | Purpose |
|---|---|---|
| Get Cluster Rates | vcmd cluster rates | Cluster-wide throughput and IOPS metrics |
| Get Cluster Usage | vcmd cluster usage | Overall storage utilization and capacity |
| Get Top Usage Rates | vcmd usage top-rates | Identify top consumers of storage I/O |
| Get Usage | vcmd usage show | Comprehensive vSAN usage statistics |
| Get Cache Info | vcmd cache info | Cache hit/miss ratios and memory usage |
| Get Read Ahead | vcmd readahead status | Read-ahead caching configuration and stats |
| Get Current Master | vcmd master current | Identify the current vSAN master node |
| Command | CLI Syntax | Purpose |
|---|---|---|
| Get Device List | vcmd devices list | All storage devices in the vSAN |
| Get Device Status | vcmd device status [ID] | Health and state of a specific device |
| Get Device Usage | vcmd device usage [ID] | Per-device utilization and wear data |
| Get Node List | vcmd nodes list | All nodes participating in the vSAN |
| Get Node Info | vcmd node info [ID] | Detailed info for a specific node |
| Get Node Device List | vcmd node devices [ID] | Devices attached to a specific node |
| Command | CLI Syntax | Purpose |
|---|---|---|
| Get Tier Status | vcmd tier status | Health and capacity per storage tier |
| Get Tier Device Maps | vcmd tier device-maps | How devices map across tiers |
| Get Tier Node Maps | vcmd tier node-maps | How tiers distribute across nodes |
| Get Volume Usage | vcmd volume usage [ID] | Per-volume storage consumption |
| Summarize Disk Usage | vcmd usage summarize | Cluster-wide disk usage summary |
| Command | CLI Syntax | Purpose |
|---|---|---|
| Integ Check | vcmd integcheck start | Start a full integrity check |
| Integ Check Device | vcmd integcheck device [ID] | Integrity check on a specific device |
| Get Integ Check Status | vcmd integcheck status | Progress/results of integrity checks |
| Get Repair Status | vcmd repair status | Active repair and rebuild operations |
| Get Sync List | vcmd sync list | Synchronization operation status |
| Command | CLI Syntax | Purpose |
|---|---|---|
| Find Inode | vcmd find --inode=[NUM] | Locate a specific inode for analysis |
| Get Path from Inode | vcmd path from-inode [NUM] | Resolve an inode number to a path |
| Get File Status | vcmd file status [PATH] | Replication and integrity of a file |
| Get Fuse Info | vcmd fuse info | FUSE mount and operation details |
| Get Journal Status | vcmd journal status | Write-ahead journal state |
| Get Running Conf | vcmd config show | Current running vSAN configuration |
| Get Clients | vcmd clients list | Active vSAN client connections |
Follow this systematic approach when investigating storage health — start broad and drill down to specific components.
Get Cluster Usage and Get Cluster Rates to understand overall health, capacity, and throughputGet Top Usage Rates to find hot volumes, then Get Cache Info for cache hit ratiosGet Repair Status shows all zeros (no active repairs) and Get Integ Check Status for recent resultsSummarize Disk Usage for a cluster-wide view and Get Tier Status for per-tier capacityGet Device Status) or nodes (Get Node Info) based on findingsSymptoms: High VM latency, slow snapshot operations, tenant complaints about disk speed.
Symptoms: “Low space” alerts, inability to create snapshots, slow writes due to throttling.
Symptoms: Checksum warnings in logs, suspected corruption after hardware events.
Symptoms: Node offline alerts, unexpected master failover, split-brain concerns.
Symptoms: SMART warnings, individual drive errors, uneven performance across nodes.
smart/*.txt files)Proactive monitoring prevents surprises. Establish a regular cadence for these checks:
Daily
Weekly
Monthly
VergeOS vSAN supports Fibre Channel (FC) LUNs as storage devices within its tiered architecture, enabling integration with existing SAN infrastructure.
Verge recommends physical disks directly attached to nodes for most deployments. FC integration is appropriate when you have existing SAN investments or specific compliance requirements. Physical disks provide simpler configuration, better performance (no SAN overhead), fewer failure points, and lower cost.
Each NAS service instance has its own diagnostic interface, separate from vSAN diagnostics. NAS diagnostics focus on file-sharing protocols, network connectivity, and authentication.
| Category | Commands | Purpose |
|---|---|---|
| SMB/CIFS | smbstatus, testparm, smbclient -L localhost | Active connections, config validation, share listing |
| NFS | exportfs -v, rpcinfo -p, showmount -e | Export list, RPC services, mount verification |
| Active Directory | wbinfo -t, wbinfo -u, wbinfo -g | Trust check, domain users, domain groups |
| Network | Ping, Trace Route, ARP Scan, DNS Lookup | Connectivity, routing, neighbor discovery |
| Performance | Top CPU Usage, Top Network Usage, TCP Dump | Resource utilization and traffic analysis |
| Logging | Logs (journalctl, samba logs) | Error analysis and event monitoring |
Cause: Windows 10/11 and Server 2016+ disable insecure guest logons by default, blocking access to shares that allow anonymous access.
Fix: Enable insecure guest logons via Group Policy:
gpedit.msc → Computer Configuration → Administrative Templates → Network → Lanman WorkstationCause: macOS defaults may conflict with the server’s SMB protocol version or lack Apple-specific extensions.
Fix (client-side): Force SMB3 in /etc/nsmb.conf:
[default]smb_neg=smb3_onlyClear the SMB cache (sudo rm -rf /var/db/samba/* /var/db/smb/*) and restart.
Fix (server-side): Add Apple/Samba fruit module settings under NAS → CIFS → Advanced Configuration Options:
ea support = yesvfs objects = fruit streams_xattrfruit:metadata = streamfruit:model = MacSambafruit:veto_appledouble = nofruit:nfs_aces = nofruit:posix_rename = yesfruit:zero_file_id = yesfruit:wipe_intentionally_left_blank_rfork = yesfruit:delete_empty_adfiles = yesCause: Incorrect user/group permissions or share configuration.
Fix:
Cause: SMB protocol version mismatch, network issues, or suboptimal configuration.
Fix:
Explore vSAN Diagnostics
Navigate to System → vSAN Diagnostics, run Get Cluster Usage and
Get Cluster Rates to establish your baseline. Enable “Show Command” to
learn the vcmd syntax.
Check NAS Health
Open each NAS service’s Diagnostics page. Run Samba to see active connections and NFS to verify exports. Review Logs for recent errors.
Review the Diagnostics Guide
Read the full vSAN Diagnostics Guide and NAS Diagnostics Guide in the official docs.