Files
hermes-ice/homelab/entities/truenas.md
Hermes Agent e4d91aadf9 Initial commit: homelab infrastructure wiki
- Full Obsidian vault content
- Host configs (ice, grizzley, ubuntu, proxmox, truenas, panda, hyte)
- Media stack documentation
- Traefik HA setup
- Automation scripts
- Bachelor party planning
2026-05-24 16:08:40 -07:00

92 lines
2.9 KiB
Markdown

---
title: truenas
created: 2026-04-28
updated: 2026-04-29
type: entity
tags: [hosts, nas, storage, s3]
sources: []
confidence: medium
---
# truenas
**Role:** NAS — ZFS storage, NFS shares, S3 via [[rustfs]]
**IP:** 192.168.50.12
**Hostname:** TrueNAS
**Running on:** Proxmox VM 9001 (22.9 GB RAM, 32 GB boot disk, **running**)
**Web UI:** TrueNAS web interface (via browser)
## Overview
TrueNAS provides network storage for the homelab. It serves NFS shares to proxmox and the cluster nodes, and runs [[rustfs]] for S3-compatible object storage. It runs as VM 9001 on [[proxmox]].
## ⚠️ Pool Corruption
**Status:** Pool has known corruption issues. Monitor pool health via TrueNAS web UI.
Monitor for:
- Pool import failures on boot
- Checksum errors on disk
- NFS share timeouts
If the pool becomes unavailable, data on `SHGS31` (47% full, ~460 GB used) and `backups` (31% full, ~4.2 TB used) is at risk.
See [[nfs-storage]] skill for ZFS troubleshooting.
## SSH Access
⚠️ SSH access as `bear` user is **blocked** (Permission denied, publickey). The `bear` user's SSH key is not authorized on TrueNAS.
Options:
- Use the TrueNAS web UI for management
- Add `bear`'s SSH key to TrueNAS via the web UI
- Use `admin` or `root` account if keys are configured
## ZFS Pools
| Pool | Purpose | % Used | Notes |
|------|---------|--------|-------|
| `SHGS31` | General storage | 47% (~460 GB) | Main data pool |
| `backups` | Backup storage | 31% (~4.2 TB) | Large backup volume |
| `CT1000` | (unknown) | 3% | Smaller pool |
TrueNAS runs with these pools visible in the web UI under Storage.
## Shares
Known NFS exports:
- `/mnt/TrueNAS/traefik-certs/grizzley` — mounted by [[grizzley]] at `/mnt/truenas/traefik-certs/grizzley` (nfs4, rw)
Other shares to confirm via TrueNAS web UI:
- `/mnt/TrueNAS/` — main pool mount point
- May serve to: proxmox, ubuntu, ice
## rustfs (S3)
[[rustfs]] runs on TrueNAS via Docker (on TrueNAS itself or via bind mount) or on [[ubuntu]] as a Docker container connecting to TrueNAS storage.
**Current config on ubuntu:** rustfs Docker container on ubuntu binds to TrueNAS storage path for S3 bucket `obsidian-vault`:
- Endpoint: `http://192.168.50.12:9000`
- Access Key: `rustfsadmin`
- Secret Key: (stored in env or .env file)
- Bucket: `obsidian-vault`
On first boot, rustfs ignores env vars `RUSTFS_S3_ACCESS_KEY` and `RUSTFS_S3_SECRET_KEY` — uses hardcoded defaults (`rustfsadmin/rustfsadmin`). To reset: stop container, wipe data dir, restart.
## Access
```bash
# ⚠️ bear user SSH fails — use web UI or fix SSH keys
ssh admin@192.168.50.12 # may not work
ssh root@192.168.50.12 # may not work
# Best: use TrueNAS web UI
```
## Related
- [[proxmox]] — Proxmox hypervisor (hosts TrueNAS as VM 9001)
- [[rustfs]] — S3 storage layer
- [[grizzley]] — NFS client (traefik certs)
- [[ubuntu]] — NFS client, rustfs container
- [[ice]] — May NFS mount TrueNAS