refactor(install): always use root loop-file storage
Remove secondary-disk discovery and whole-disk ZFS creation from the installer. New installations now always create a sparse ZFS loop-file pool from free space on /, while existing vpsmgr pools are still adopted. The installer no longer scans, selects, formats, or modifies devices such as /dev/vdb, including virtual ISO/CD devices. Update storage documentation and keep the existing reclaim, pool sizing, and ZFS quota behavior. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
This commit is contained in:
1 parent
3d524eef05
commit
64349de0c0
3 files changed
+68
-98
No files matched your search
@@ -154,11 +154,11 @@ The panel daemon runs as the dedicated unprivileged `vps` system user
|
||||
|
||||
## Storage
|
||||
|
||||
- The pool is ZFS. On first install, `10-incus.sh` either adopts an existing
|
||||
pool, uses a spare whole-disk block device, or (no spare disk) creates a
|
||||
**sparse loop-file pool** sized to a share of the free space on `/`:
|
||||
80% by default, 90% when ≥ 20 GiB free. The loop file only allocates blocks
|
||||
as the pool actually fills. On very small hosts, cap the ZFS ARC
|
||||
- The pool is ZFS. On first install, `10-incus.sh` adopts an existing pool or
|
||||
creates a **sparse loop-file pool** sized to a share of the free space on
|
||||
`/`: 80% by default, 90% when ≥ 20 GiB free. New installations never scan,
|
||||
select, format, or modify secondary disks. The loop file only allocates
|
||||
blocks as the pool actually fills. On very small hosts, cap the ZFS ARC
|
||||
(`zfs.arc_max`) so container memory keeps priority over the pool's cache.
|
||||
- Containers are ZFS clones of the image: the image's blocks are shared
|
||||
(copy-on-write), so a well-provisioned image costs one copy no matter how
|
||||
|
||||
@@ -34,7 +34,7 @@ same table; `vps config list` shows the live values with this annotation.
|
||||
| `net.ext_if` | operator | re-run `vps install` | external NIC (auto-detected from default route) |
|
||||
| `net.ipv6_subnet` | operator | re-run `vps install` | global IPv6 prefix for pass-through, e.g. `2602:fada:6::/64`; empty = disabled (does not remove IPv6 state already applied, see note below) |
|
||||
| `net.ipv6_mode` | **fixed at install** | — | IPv6 allocation mode: `none` / `prefix` (/112 blocks) / `pool` (per-container address) |
|
||||
| `net.ipv6_pool` | operator | next `vps install` | pool-mode address list (bare global addresses or `/128`); editable via the admin panel's IPv6 Pool page |
|
||||
| `net.ipv6_pool` | operator | applied immediately | pool-mode address list (bare global addresses or `/128`); editable via the admin panel's IPv6 Pool page |
|
||||
| `incus.image` | operator | next `vps add` / reinstall | container image alias |
|
||||
| `incus.image_fallback` | operator | next `vps add` / reinstall | fallback remote image |
|
||||
| `incus.pool` | **fixed at install** | — | storage pool |
|
||||
|
||||
Reference in new issue
Block a user