Fix: a registered storage server shows as unreachable
A storage server registered with ImpulseObjects is showing as unreachable on the admin tab, and any provisioning task that touches it stalls or fails.
Last updated 20 days ago
Fix: a registered storage server shows as unreachable
What you're seeing
In the ImpulseObjects admin tab, the server row's status badge is amber or red. The admin-proxy health check has stopped ticking green. Any provisioning, quota, or replication task that targets this server stalls in the cron runner or fails outright. The audit log under mod_impulsecore_audit_log filtered to module=impulseobjects shows connection-refused, TLS, or HTTP timeout exceptions.
Why it happens
ImpulseObjects talks to each storage host over two channels:
- The S3 endpoint on TCP 443 (HTTPS) for tenant operations.
- The admin proxy on TCP 9099 (default) for create/delete bucket, user, quota.
If either channel is broken, the server is reported as unreachable. The usual culprits are firewall rules (especially missing IPv6), a TLS certificate that didn't renew, or a per-region admin-proxy bearer token that has drifted from what's stored in WHMCS.
Fix
Get a clean baseline. From the WHMCS box, confirm the host is up at the IP level:
ping -c 3 us-central-dallas.example.comping6 -c 3 us-central-dallas.example.comTest the S3 endpoint without TLS validation. This isolates a cert problem from a connectivity problem. Hit the RustFS health endpoint,
/health:curl -kI https://us-central-dallas.example.com/health200 OKmeans the storage engine is up and your only issue is TLS.Connection refusedor hang means a firewall or down service.Test the admin proxy. Substitute the bearer token from the server row's Edit form:
curl -H "Authorization: Bearer <token>" \ https://us-central-dallas.example.com:9099/admin/v1/healthConfirm UFW rules cover both IPv4 and IPv6. On the storage host:
ufw status numberedEvery WHMCS IP needs a rule for ports 443 and 9099 in both
tcpandtcp6. A v4-only rule looks correct in casual inspection but blocks any WHMCS box that resolves to IPv6 first.If only the admin proxy is failing, re-check the bearer token. Open the server row in the addon, click Edit, and confirm the admin-proxy port and Bearer token match what's installed on the host. Per-region tokens are not interchangeable.
If TLS specifically is failing, SSH into the storage host and check certbot:
sudo certbot certificatessudo systemctl status nginxA stale cert usually means certbot lost DNS API permission. Re-issue the DNS provider token with
Zone:Readand re-runcertbot renew.
How to confirm it worked
The server row's status badge flips back to green online within one cron tick (typically under five minutes). The admin-proxy last-check timestamp on the row updates. The audit log stops appending new exceptions for this server. Any provisioning task that was stuck retries on its own.
Related
Was this helpful?
More in ImpulseMinio
Fix: a customer's bucket is stuck provisioningAdding a storage server to ImpulseObjectsFix: ImpulseObjects license validation failsHow to find a customer's bucket credentialsStill need help? Ask the team