2.3 KiB
2.3 KiB
| paths | ||||
|---|---|---|---|---|
|
Networking, Storage, and Migration
OVN networking
- Bridge networks are node-local: same subnet but separate L2 domains.
- OVN: cross-node L2 overlay via Geneve tunnels. Sub-ms latency.
- IncusOS OVN services disabled by default: enable via
/os/1.0/services/ovnon EVERY node. - OVN service enable:
incus query <remote>:/os/1.0/services/ovn --request PUT --data '{ "config": { "database": "tcp:<SB_HOST>:6642", "enabled": true, "tunnel_address": "<THIS_NODE_LAN_IP>", "tunnel_protocol": "geneve" }, "state": {} }'databaseis southbound (6642), NOT northbound (6641). - Setup sequence: deploy OVN container -> enable services -> set northbound connection -> add ovn-chassis roles -> create uplink -> create OVN network.
- Uplink:
parent=mgmt(NOTens18).ipv4.ovn.ranges+ipv4.gateway. - LB/forward backends need IP addresses, not instance names.
- See
notes/networking-guide.mdfor full tutorial.
Shared storage (iSCSI + lvmcluster)
- IncusOS-native: iSCSI initiator, lvmlockd, sanlock built in.
- iSCSI API:
/os/1.0/services/iscsi. Field is"target"(NOT"iqn"). - LVM API:
/os/1.0/services/lvm.system_idmust be 1-2000 (not 0). - lvmcluster: thick provisioning. Two-step cluster pattern for pool creation.
- Migration perf (1GbE): container 0.15s, VM non-live 1.8s, VM live ~6s.
- Proxy devices don't work for iSCSI (portal mismatch). Use direct paths.
- First live migration after stop/start may fail (transient sanlock). Retry works.
- Hybrid recommended: local ZFS + shared lvmcluster for HA VMs.
- See
notes/shared-storage-guide.mdfor full walkthrough.
Migration into Incus
incus-migrate: official import tool.qemu-img convertfor format conversion.- Workflow: convert disk ->
incus storage volume import->incus init --empty --vm-> attach -> start. - Docker:
docker export->incus import. - See
notes/migration-guide.mdfor per-hypervisor procedures.
UTM support (future)
- Design doc at
notes/utm-support.md. utmctlfor start/stop but not VM creation (AppleScript or.utmbundle).- No
blockstatequivalent -- timeout + port polling for install detection.