Introduction
By default, EVE-OS selects installation and persistence disks automatically. You can override these defaults by customizing thegrub.cfg file before running the EVE-OS installer. This lets you explicitly assign the disk for the EVE-OS installation (eve_install_disk) and the disk (or disks) for the persistent application storage volume (eve_persist_disk). It also lets you configure ZFS RAID levels for fault-tolerant or high-capacity persistence storage.
All procedures require access to the CONFIG partition of the EVE-OS installer USB drive to edit grub.cfg. Edit the file at the root of the CONFIG partition (named EVE), alongside the server and grub.cfg.tmpl files. Do not edit EFI/BOOT/grub.cfg — changes there do not persist after reboot.
If you are building a custom installer ISO instead of writing to a USB drive, you must place your grub.cfg in a local overrides directory and mount that directory when running the build command. If you run the build without mounting the overrides directory, EVE-OS uses default values and your disk and storage configurations will not take effect.
zpool commands for verification, access the pillar container using:
Separate Installation and Persistence Disks
This configuration installs EVE-OS on one disk and dedicates a separate disk entirely to the/persist volume. No ZFS is used.
Prerequisites
- A minimum of 2 distinct physical storage devices.
- The kernel device names for your target disks (for example,
nvme0n1,sda).
Scenario
This example uses the following two-disk setup:/dev/nvme0n1— EVE-OS installation disk./dev/sda— persistence disk.
Modify grub.cfg
Opengrub.cfg from the CONFIG partition (labeled EVE) of your installer USB drive — the same partition that contains the server and grub.cfg.tmpl files. Add the following dom0_extra_args line:
cat grub.cfg | grep -v ^# on the file:
Verify
After installation and reboot, confirm disk assignments using the following commands. Check disk partitions withlsblk:
sda1) is on /dev/sda and mounted to /persist. EVE-OS partitions are exclusively on /dev/nvme0n1.
Check the kernel command line to confirm the disk arguments were applied:
eve_install_disk=nvme0n1 and eve_persist_disk=sda.
Check mounted filesystems:
ZFS with Integrated Persistence — RAID-0 (Stripe)
This configuration installs EVE-OS on a specified disk and creates a ZFS persistence pool (RAID-0/stripe) that spans multiple disks, including free space from the installation disk.Prerequisites
- Minimum 1 disk. No maximum (limited by hardware).
Scenario
This example uses three disks:sda, sdb, and sdc.
- EVE-OS installs on
/dev/sda. - The persistence pool spans free space from
/dev/sda,/dev/sdb, and/dev/sdc.
Modify grub.cfg
Opengrub.cfg from the CONFIG partition (labeled EVE) of your installer USB drive. Add the appropriate dom0_extra_args line for your disk count.
Multi-disk setup (sda, sdb, sdc):
eve_persist_disk parameter is not required when using a single disk.
Full grub.cfg example (multi-disk):
Verify
After installation and reboot, verify the ZFS pool and filesystem layout. Check the ZFS pool status. Thepersist pool should show all three disk partitions online:
sda (not ZFS):
ZFS with RAID-1 (Mirror) Persistence
This configuration installs EVE-OS on one disk and creates a RAID-1 mirrored ZFS persistence pool across two separate disks for fault tolerance.Prerequisites
- Minimum 3 disks (1 for EVE-OS, 2 for the mirror pool).
Scenario
This example uses three disks:sda, sdb, and sdc.
- EVE-OS installs on
/dev/sda. - The
/persistvolume is a RAID-1 mirror across/dev/sdband/dev/sdc.
Modify grub.cfg
Opengrub.cfg from the CONFIG partition (labeled EVE) of your installer USB drive. Add the following dom0_extra_args line:
Verify
Check the ZFS pool status. The output should showmirror-0 ONLINE with both disks attached:
eve_install_zfs_with_raid_level=raid1, eve_install_disk=sda, and eve_persist_disk=sdb,sdc.
ZFS with RAID-Z1 (RAID-5) Persistence
This configuration creates a fault-tolerant RAID-Z1 ZFS persistence pool across three dedicated disks, tolerating one disk failure.Prerequisites
- Minimum 4 disks (1 for EVE-OS installation, 3 for the RAID-Z1 pool).
Scenario
This example uses four disks:sda, sdb, sdc, and sdd.
- EVE-OS installs on
/dev/sda. - The
/persistvolume is a RAID-Z1 pool across/dev/sdb,/dev/sdc, and/dev/sdd.
Modify grub.cfg
Opengrub.cfg from the CONFIG partition (labeled EVE) of your installer USB drive. Add the following dom0_extra_args line:
Verify
Check the ZFS pool status. The output should showraidz1-0 ONLINE with three disks attached:
eve_install_zfs_with_raid_level=raid5, eve_install_disk=sda, and eve_persist_disk=sdb,sdc,sdd.
Check that EVE-OS itself is not running under ZFS:
ZFS with RAID-Z2 (RAID-6) Persistence
This configuration creates a highly resilient RAID-Z2 ZFS persistence pool across four dedicated disks, tolerating two simultaneous disk failures.Prerequisites
- Minimum 5 disks (1 for EVE-OS installation, 4 for the RAID-Z2 pool).
Scenario
This example uses five disks:sda, sdb, sdc, sdd, and sde.
- EVE-OS installs on
/dev/sda. - The
/persistvolume is a RAID-Z2 pool across/dev/sdb,/dev/sdc,/dev/sdd, and/dev/sde.
Modify grub.cfg
Opengrub.cfg from the CONFIG partition (labeled EVE) of your installer USB drive. Add the following dom0_extra_args line:
Verify
Check the ZFS pool status. The output should showraidz2-0 ONLINE with four disks attached:
eve_install_zfs_with_raid_level=raid6, eve_install_disk=sda, and eve_persist_disk=sdb,sdc,sdd,sde.
Check that EVE-OS is installed on sda and is not part of the ZFS pool:
Next Steps
Get EVE-OS
Build an EVE-OS image with a custom
grub.cfg.Install EVE-OS onto an Edge Device
Complete the installation procedure.
Expand ZFS Pools on Nodes
Add capacity to an existing ZFS pool after installation.