Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
vm-reactor:start [02.11.2026 07:11] – VM Reactor 0.20 ariavm-reactor:start [07.11.2026 19:51] (current) – stratum-core instead of stratum-init aria
Line 12: Line 12:
  
 <WRAP centeralign> <WRAP centeralign>
-**VM Reactor 0.20 – Technical Preview** · Debian 13 (trixie) and Debian 14 (forky) · amd64 and arm64 · free software (GPL-3+) · package ''vm-reactor'' in the Stratum repository (component //contrib//)+**VM Reactor 0.24 – Technical Preview** · Debian 13 (trixie) and Debian 14 (forky) · amd64 and arm64 · free software (GPL-3+) · package ''vm-reactor'' in the Stratum repository (component //contrib//)
 </WRAP> </WRAP>
  
Line 20: Line 20:
  
 <WRAP center round info 80%> <WRAP center round info 80%>
-**A contrib package of the Stratum repository.** VM Reactor is published in the component //contrib// of the Stratum repository, next to the Stratum modules in //main//. It builds on Stratum – it needs ''stratum-init'' and works together with the Stratum modules – but it enjoys a certain independence from them: its own versions and release cycle, its own web interface, its own handbook and this page of its own.+**A contrib package of the Stratum repository.** VM Reactor is published in the component //contrib// of the Stratum repository, next to the Stratum modules in //main//. It builds on Stratum – it needs ''stratum-core'' and works together with the Stratum modules – but it enjoys a certain independence from them: its own versions and release cycle, its own web interface, its own handbook and this page of its own.
 </WRAP> </WRAP>
  
Line 49: Line 49:
 <grid cols="1fr 1fr 1fr"> <grid cols="1fr 1fr 1fr">
 <col> <col>
-<card header="Storage" subtitle="Directory · LVM thin pool · NFS share" shadow="small"> +<card header="Storage" subtitle="Directory · Btrfs pool · LVM thin pool · NFS share" shadow="small"> 
-Guests, ISO images, LXC templates and backups in the storage you choose: a directory, an LVM thin pool – thin volumes with instant snapshots – or an NFS share.+Guests, ISO images, LXC templates and backups in the storage you choose: a directory, a btrfs pool on one or more disks – RAID 0, 1, 1C3 or 10, snapshots, compression and checksums – an LVM thin pool or an NFS share. Disks of the pools are added, removed and replaced while the guests keep running.
 </card> </card>
 </col> </col>
Line 159: Line 159:
 | System | **Debian 13 (trixie)** or **Debian 14 (forky)**, ''amd64'' or ''arm64'' – a physical computer or a virtual machine with nested virtualization | | System | **Debian 13 (trixie)** or **Debian 14 (forky)**, ''amd64'' or ''arm64'' – a physical computer or a virtual machine with nested virtualization |
 | Virtualization | **VT-x / AMD-V** switched on in the firmware for KVM machines; without it, machines run emulated and slowly (containers and applications do not need it) | | Virtualization | **VT-x / AMD-V** switched on in the firmware for KVM machines; without it, machines run emulated and slowly (containers and applications do not need it) |
-| Stratum | ''stratum-init'' 0.40 or newer and the Stratum repository with the components ''main'' **and** ''contrib'' – see [[stratum:start#quick_setup|Stratum – quick setup]] |+| Stratum | ''stratum-core'' 0.49 or newer (the Stratum core, written in Go) and the Stratum repository with the components ''main'' **and** ''contrib'' – see [[stratum:start#quick_setup|Stratum – quick setup]] |
 | Memory and disk | Enough for the host and all guests; memory compression, deduplication and the balloon help when it gets tight | | Memory and disk | Enough for the host and all guests; memory compression, deduplication and the balloon help when it gets tight |
 | Browser | Any current browser; the web interface uses HTTPS on port ''8443'' | | Browser | Any current browser; the web interface uses HTTPS on port ''8443'' |
Line 174: Line 174:
 </card> </card>
  
-Sources written by older versions of ''stratum-archive-keyring'' have only ''main''; installing the current ''stratum-archive-keyring'' (or ''stratum-init'') adds ''contrib'' and ''non-free'' by itself.+Sources written by older versions of ''stratum-archive-keyring'' have only ''main''; installing the current ''stratum-archive-keyring'' (or ''stratum-core'') adds ''contrib'' and ''non-free'' by itself.
  
 ==== 2. Install the package ==== ==== 2. Install the package ====
Line 262: Line 262:
 <code> <code>
 local dir /var/lib/vm-reactor guests,iso,templates,backup local dir /var/lib/vm-reactor guests,iso,templates,backup
 +data btrfs /var/lib/vm-reactor/storage/data guests,iso,templates,backup source=<uuid> options=compress=zstd:1
 thin lvmthin /var/lib/vm-reactor/storage/thin guests source=vmr-thin/data thin lvmthin /var/lib/vm-reactor/storage/thin guests source=vmr-thin/data
 </code> </code>
 </card> </card>
  
-Types: ''dir'' (Directory), ''lvmthin'' (LVM thin pool: thin volumes and snapshots) and ''nfs'' (NFS share). Add them in **Storage**; the web interface checks the tools and can format a new disk.+**Add storage** offers four types; the dialog checks your entries at once and shows what is wrong: 
 + 
 +  * **Directory** – any mounted directory: a second disk, an existing btrfs file system or an NFS share the host mounts itself. VM Reactor recognises the file system: on btrfs the guests get subvolumes and snapshots, on an NFS share the storage is offline while the share is not there. 
 +  * **Btrfs pool** – a new btrfs file system on one or more empty disks or partitions: **single**, **RAID 0**, **RAID 1** (2+ disks), **RAID 1C3** (3 copies, 3+ disks) or **RAID 10** (4+ disks). RAID 5/6 are not offered – their write hole can lose data. The metadata always have two copies at least. Compression zstd, checksums with self-repair from the copies, instant snapshots of every guest (its own subvolume), clones as reflinks; disks of machines are raw files (optionally without copy-on-write). **Disks** on the card adds, removes and replaces disks – also a failed or missing one – converts the profile, starts a scrub or a balance and mounts a pool with a missing disk degraded, all while the guests keep running. VM Reactor watches the pools (missing disks, device errors, scrub results) and runs a scrub every 30 days. 
 +  * **LVM thin pool** – a new thin pool on one or more empty disks (or an existing one such as ''pve/data''): thin volumes for disks of machines and file systems of containers, instant snapshots; disks can be added and taken out later. A thin pool cannot shrink – to take a disk out, the other disks need room for its data. 
 +  * **NFS share** – an export (''server:/path''), mounted by VM Reactor through ''/etc/fstab''; the server must answer on port 2049. 
 + 
 +<card header="Terminal — root@host" shadow="large"> 
 +<code bash> 
 +vm-reactor storage list                                     # all storages: type, state, size, free space 
 +vm-reactor storage add data btrfs /dev/sdb /dev/sdc --profile raid1 --yes   # a btrfs pool, RAID 1 
 +vm-reactor storage disk add data /dev/sdd --yes              # one more disk, the data are spread 
 +vm-reactor storage profile data raid1c3                      # three copies 
 +vm-reactor storage disk replace data /dev/sdb /dev/sde --yes # replace a disk (devid:N: a missing one) 
 +vm-reactor storage scrub data                                # check every block, repair from the copies 
 +vm-reactor storage disk list data                            # disks, errors, the last scrub 
 +vm-reactor storage add thin lvmthin --new /dev/sdf --yes     # an LVM thin pool 
 +vm-reactor storage add share nfs 10.0.0.5:/srv/vm            # an NFS export 
 +</code> 
 +</card>
  
 ==== Backups and restore ==== ==== Backups and restore ====
Line 394: Line 414:
 <card header="Download" shadow="small"> <card header="Download" shadow="small">
 **[[https://www.skraba.net/stratum-apt/handbook/vm-reactor-handbook.pdf|VM Reactor Handbook (PDF, A4, 28 pages, 0.7 MB)]]** \\ **[[https://www.skraba.net/stratum-apt/handbook/vm-reactor-handbook.pdf|VM Reactor Handbook (PDF, A4, 28 pages, 0.7 MB)]]** \\
-Draft · November 2026 · VM Reactor 0.08 · Stratum Project \\+Draft · November 2026 · VM Reactor 0.24 · Stratum Project \\
 On a VM Reactor host: ''apt install vm-reactor-handbook'' (or **Settings – Packages**) – the book is then at ''/usr/share/vm-reactor/handbook/vm-reactor-handbook.pdf'', with a link in ''/root/vm-reactor-handbook.pdf''. On a VM Reactor host: ''apt install vm-reactor-handbook'' (or **Settings – Packages**) – the book is then at ''/usr/share/vm-reactor/handbook/vm-reactor-handbook.pdf'', with a link in ''/root/vm-reactor-handbook.pdf''.
 </card> </card>