zededa:eve-volume-provisioning
Differences
This shows you the differences between two versions of the page.
| zededa:eve-volume-provisioning [2026/07/06 14:06] – created mc | zededa:eve-volume-provisioning [2026/07/06 14:14] (current) – mc | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== EVE-OS | + | ====== EVE-OS |
| - | Companion page to [[eve-app-volumes|EVE-OS / ZEDEDA Application Volumes]] | + | Companion page to [[eve-app-volumes|EVE-OS / ZEDEDA Application Volumes]]. That page covers the **controller/ |
| - | ===== Short answer | + | ===== The core distinction |
| - | * **ext4 persist (qcow2 volumes): thin-provisioned.** Setting | + | There are two completely different things that can both reasonably be called "a zvol," configured at two different times, by two different actors: |
| - | * **ZFS persist (zvols): not confirmed.** zvols are not thin-provisioned the same way qcow2 is by default — this needs verification against EVE's volumemgr behavior before relying on it for capacity planning. | + | |
| - | ===== ext4 persist — qcow2 thin provisioning ===== | + | ^ ^ Pool layer ^ Per-app volume layer ^ |
| + | | **What it is** | The ZFS pool's RAID topology across physical disks (mirror / raidz1 / raidz2) | One zvol (or qcow2 file) per individual app volume, sized from that volume' | ||
| + | | **Set via** | '' | ||
| + | | **When** | Once, at install or reinstall | Dynamically, | ||
| + | | **Who acts on it** | The EVE installer | The '' | ||
| + | | **Covered on** | EVE-OS Partitioning / ZFS wiki page | This page, and [[eve-app-volumes|EVE-OS / ZEDEDA Application Volumes]] | | ||
| - | qcow2 is a sparse container format. When EVE creates/ | + | The install-time grub.cfg RAID setting decides **only** the physical pool topology. It does not create, size, or reserve space for any individual app' |
| - | * The file gets a **virtual size** equal to '' | + | ===== What volumemgr |
| - | * Actual bytes written to ''/ | + | |
| - | * '' | + | |
| - | * This is default qcow2 behavior — it changes only if preallocation is explicitly forced to '' | + | |
| - | ===== ZFS persist | + | Source: EVE's '' |
| - | * A zvol created with '' | + | * **ext4 persist** → '' |
| - | * Whether EVE's volumemgr creates app-instance zvols sparse | + | * **ZFS persist** → '' |
| - | * If zvols are created non-sparse, a 100 GB '' | + | |
| - | * **Action item:** verify directly against a test node ('' | + | |
| - | ===== Why this matters even when thin-provisioned ===== | + | Either way, the app-instance config layer doesn' |
| - | | + | ===== Does maxsize fully provision the disk immediately? |
| - | * **Guest visibility:** regardless of host-side provisioning, the guest only sees/uses its original partition size until '' | + | |
| + | **qcow2 (ext4 persist):** No — thin-provisioned by default. A '' | ||
| + | |||
| + | **zvol (ZFS persist), if per-app zvols are in use:** Depends on whether | ||
| + | | ||
| + | * A zvol created with the '' | ||
| + | * Which of these '' | ||
| + | * **Action item:** on a test ZFS-persist node, deploy an app volume with real headroom (e.g. 8 GB image, 100 GB '' | ||
| + | |||
| + | ===== Can a per-app zvol be resized after the fact? ===== | ||
| + | |||
| + | Yes, mechanically — this is a normal, well-supported ZFS operation. Growing a zvol's '' | ||
| + | |||
| + | **Not yet confirmed: | ||
| + | |||
| + | ===== Why this matters practically ===== | ||
| + | |||
| + | * **Admission control:** before a deploy is allowed, EVE/the controller checks whether the requested '' | ||
| + | * **Fleet capacity planning (Quvia-relevant): | ||
| ===== Related ===== | ===== Related ===== | ||
| - | * [[eve-app-volumes|EVE-OS / ZEDEDA Application Volumes]] — drive types, maxsize/ | + | * [[eve-app-volumes|EVE-OS / ZEDEDA Application Volumes]] — controller/ |
| - | * EVE-OS Partitioning / ZFS page (persist backend, | + | * EVE-OS Partitioning / ZFS page — pool layer: |
zededa/eve-volume-provisioning.1783346786.txt.gz · Last modified: by mc
