LiveOS & Disaster Recovery

Running from RAM with Centralized Configuration — Backup, restoration, and rapid system recovery
OviOS Linux v6 LiveOS · RAM Boot Backup & Restore
← Home ← Back to Docs

1 The Concept: Total Reproducibility

OviOS is architected for extreme portability. Unlike traditional operating systems where configuration is scattered across the filesystem, OviOS centralizes all system settings within its metadata-driven design. This means a full system rebuild — or a pivot from a disk-based install to a RAM-based Live OS — takes seconds.

Key Architecture Principles

Metadata-Centric Storage

Settings for LUNs, replication, NFS, and SMB are stored as metadata directly within the storage pools, LUNs, and volumes — not on the OS disk.

Centralized OS Config

All core system parameters are held in a single primary configuration file that can be backed up, transferred, and restored in one operation.

Decoupled Design

Configuration is completely decoupled from the installation media. Rebuild a crashed system or boot entirely from RAM by restoring one backup archive.

💡

Because your data and metadata live on the ZFS pools — not the OS disk — a failed system disk never means lost data. You reinstall, restore, and you're back.

2 First Run: Initial Setup

When booting the appliance for the first time, refer to the Admin Manual for initial pool creation.

Why is skip.import Enabled by Default?

On the first run, the option skip.import is set to 1 (on). This prevents the system from attempting to auto-import ZFS pools before the user has defined the environment, ensuring a clean state for initial configuration.

Once your pools are created and you want automatic import on subsequent boots, set it to off:

options skip.import 0

3 Backing Up Configuration

Before a failure occurs, you must maintain a current backup of your system state. OviOS configuration backups are compact .tar.gz archives that capture everything needed to fully rebuild the system.

Configuration Tuning

  • Files to Sync: By default, network settings may not be included. If your replication destination requires a different network stack, leave this off. To include network config, add network to options files.to.sync.
  • Target Pool: Ensure system.backup.pool is defined when using sync-config so backups are written to the correct pool.
options system.backup.pool       # check which pool backups go to
options system.backup.pool osb  # set backup pool to 'osb'

Backup Methods

MethodCommand / Action
CLIManual sync-config bo
CLIScheduled (Cron) Add /bin/os sync-config bo to your crontab via edit-cron
APICURL curl -k https://oviosadm:ovios@ovios-storage:8443/api/v1/sys/backup
Web UI Navigate to OviOS Web Monitoring → click Backup Config

Creating and Restoring a Backup via CLI

# Verify your backup pool is set
ovios-shell ➤ options system.backup.pool
option system.backup.pool  osb

# Create a backup archive
ovios-shell ➤ sync-config bo
Backup archive created: /ovios/osb/osbackup/osbackup-20260506_205325.tar.gz

# Restore from the latest backup
ovios-shell ➤ sync-config restore
Verifying archive: /ovios/osb/osbackup/osbackup-20260506_205325.tar.gz
[RESTORING] Applying system configuration...
[SUCCESS] Restore finished. Reloading systemd...
Configuration restored from backup successfully.
💡

Schedule sync-config bo in cron to run automatically after configuration changes. Combine with options autosync.enable on for continuous protection.

4 Restoring Configuration

Use these steps for a new installation, a system disk replacement, or when restarting in RAM mode. The process is the same in all cases.

Pre-Restoration: Mount the Backup Pool

If your backup resides on a storage pool (rather than external media), you must manually mount the pool before restoring:

options skip.import 0   # allow ZFS pool import
service zfs start        # import and mount pools

Restoration via CLI

🔄 Full Recovery Sequence

  1. Restore the configuration archive. Point to the backup path on the imported pool:
    sync-config restore <path_to_backup.tar.gz>
  2. Restore all pool metadata, LUN topology, and ACLs:
    restore all
  3. Restart all enabled services (iSCSI, NFS, SMB):
    services reset

Restoration via API or Web UI

For uploading a backup file to a fresh RAM instance from a remote machine:

  1. Enable web access on the new instance:
    options ovios-web.enable on
  2. Upload backup via CURL:
    curl -k -XPOST https://oviosadm:ovios@ovios-storage:8443/api/v1/sys/restore \
      -F config_file=@/path/to/backup.tar.gz
  3. Upload via Web UI: Navigate to OviOS Web Monitoring → use the Restore Config button to upload your local .tar.gz file.
⚠️

Authentication Note: If the restored backup contains a different password than the default, the Web UI will log you out immediately upon restore. Re-login using your original credentials from the backup.

5 Finalization & Verification

After restoration, apply the pool metadata and restart the full service stack to bring the system to its desired state.

The Finalize Commands

CommandWhat It Does
restore all Reads pool flags, performs LUN consistency checks, and recreates the full iSCSI target topology and ACLs. This step is critical.
services reset Restarts all services (iSCSI, NFS, SMB) that are marked as enabled in the restored configuration.

Verifying the Restored System

ovios hc   # full health check — verify all services and pools are online

Troubleshooting: iSCSI Portal

If the iSCSI service fails to start after a restore, check your portal binding. If options iscsi.portal is bound to an IP address that no longer exists on the current hardware or instance, reset it to the current valid IP:

options iscsi.portal                      # check current portal binding
options iscsi.portal 192.168.10.20     # update to current interface IP

6 Success & Next Steps

At this stage, your LUNs, NFS shares, and SMB shares should be fully accessible. The system is now running in its desired state — regardless of whether it was booted from a disk or entirely from RAM.

Regularly backup your configuration and test restoration procedures before you actually need them. A backup you've never tested is a backup you can't trust.

Recommended Ongoing Practices

  • Enable options autosync.enable on so configuration is always current
  • Schedule sync-config bo in cron for periodic explicit snapshots of system state
  • Store a copy of your latest backup archive on external media or a separate pool
  • Run ovios hc after any configuration change to confirm system health
  • Document your iscsi.portal IP and backup pool name — you'll need them during recovery