feat(infrastructure): initialize TrueNAS Scale infrastructure collection system
Initial repository setup for TrueNAS Scale configuration management and disaster recovery. This system provides automated collection, versioning, and documentation of TrueNAS configuration state. Key components: - Configuration collection scripts with API integration - Disaster recovery exports (configs, storage, system state) - Comprehensive documentation and API reference - Sub-agent architecture for specialized operations Infrastructure protected: - Storage pools and datasets configuration - Network configuration and routing - Sharing services (NFS, SMB, iSCSI) - System tasks (snapshots, replication, cloud sync) - User and group management Security measures: - API keys managed via environment variables - Sensitive data excluded via .gitignore - No credentials committed to repository 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
182
disaster-recovery/truenas-exports/exports/storage/pools.json
Normal file
182
disaster-recovery/truenas-exports/exports/storage/pools.json
Normal file
@@ -0,0 +1,182 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Vauly",
|
||||
"guid": "1674970696452276596",
|
||||
"path": "/mnt/Vauly",
|
||||
"status": "DEGRADED",
|
||||
"scan": {
|
||||
"function": "SCRUB",
|
||||
"state": "FINISHED",
|
||||
"start_time": {
|
||||
"$date": 1765094403000
|
||||
},
|
||||
"end_time": {
|
||||
"$date": 1765097229000
|
||||
},
|
||||
"percentage": 99.99409914016724,
|
||||
"bytes_to_process": 532155961344,
|
||||
"bytes_processed": 532013936640,
|
||||
"bytes_issued": 531968868352,
|
||||
"pause": null,
|
||||
"errors": 0,
|
||||
"total_secs_left": null
|
||||
},
|
||||
"expand": null,
|
||||
"topology": {
|
||||
"data": [
|
||||
{
|
||||
"name": "mirror-0",
|
||||
"type": "MIRROR",
|
||||
"path": null,
|
||||
"guid": "12246339640982213397",
|
||||
"status": "DEGRADED",
|
||||
"stats": {
|
||||
"timestamp": 1825029823285298,
|
||||
"read_errors": 0,
|
||||
"write_errors": 0,
|
||||
"checksum_errors": 0,
|
||||
"ops": [
|
||||
0,
|
||||
14232491,
|
||||
27831692,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"bytes": [
|
||||
0,
|
||||
1394329284608,
|
||||
1135176392704,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"size": 3985729650688,
|
||||
"allocated": 649917792256,
|
||||
"fragmentation": 11,
|
||||
"self_healed": 0,
|
||||
"configured_ashift": 12,
|
||||
"logical_ashift": 9,
|
||||
"physical_ashift": 12
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"name": "3b018e81-9756-4276-90f5-3549aaf7dede",
|
||||
"type": "DISK",
|
||||
"path": "/dev/disk/by-partuuid/3b018e81-9756-4276-90f5-3549aaf7dede",
|
||||
"guid": "15570257018378729093",
|
||||
"status": "ONLINE",
|
||||
"stats": {
|
||||
"timestamp": 1825029823778318,
|
||||
"read_errors": 0,
|
||||
"write_errors": 0,
|
||||
"checksum_errors": 0,
|
||||
"ops": [
|
||||
0,
|
||||
14232491,
|
||||
27831692,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"bytes": [
|
||||
0,
|
||||
1394329284608,
|
||||
1135176392704,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"size": 0,
|
||||
"allocated": 0,
|
||||
"fragmentation": 0,
|
||||
"self_healed": 0,
|
||||
"configured_ashift": 12,
|
||||
"logical_ashift": 9,
|
||||
"physical_ashift": 12
|
||||
},
|
||||
"children": [],
|
||||
"device": "sdb1",
|
||||
"disk": "sdb",
|
||||
"unavail_disk": null
|
||||
},
|
||||
{
|
||||
"name": "7084060355369200583",
|
||||
"type": "DISK",
|
||||
"path": "/dev/disk/by-partuuid/0fbb0466-ae43-47df-85be-b93965e526a6",
|
||||
"guid": "7084060355369200583",
|
||||
"status": "UNAVAIL",
|
||||
"stats": {
|
||||
"timestamp": 1825029823998989,
|
||||
"read_errors": 0,
|
||||
"write_errors": 0,
|
||||
"checksum_errors": 0,
|
||||
"ops": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"bytes": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"size": 0,
|
||||
"allocated": 0,
|
||||
"fragmentation": 0,
|
||||
"self_healed": 0,
|
||||
"configured_ashift": 12,
|
||||
"logical_ashift": 0,
|
||||
"physical_ashift": 0
|
||||
},
|
||||
"children": [],
|
||||
"device": null,
|
||||
"disk": null,
|
||||
"unavail_disk": null
|
||||
}
|
||||
],
|
||||
"unavail_disk": null
|
||||
}
|
||||
],
|
||||
"log": [],
|
||||
"cache": [],
|
||||
"spare": [],
|
||||
"special": [],
|
||||
"dedup": []
|
||||
},
|
||||
"healthy": false,
|
||||
"warning": false,
|
||||
"status_code": "CORRUPT_LABEL_R",
|
||||
"status_detail": "One or more devices could not be used because the label is missing or invalid. Sufficient replicas exist for the pool to continue functioning in a degraded state.",
|
||||
"size": 3985729650688,
|
||||
"allocated": 649917792256,
|
||||
"free": 3335811858432,
|
||||
"freeing": 0,
|
||||
"fragmentation": "11",
|
||||
"size_str": "3985729650688",
|
||||
"allocated_str": "649917792256",
|
||||
"free_str": "3335811858432",
|
||||
"freeing_str": "0",
|
||||
"dedup_table_quota": "auto",
|
||||
"dedup_table_size": 0,
|
||||
"autotrim": {
|
||||
"value": "off",
|
||||
"rawvalue": "off",
|
||||
"parsed": "off",
|
||||
"source": "DEFAULT"
|
||||
}
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user