Computing/NAS/Software: Difference between revisions

From Cricalix.Net
mNo edit summary
m (Remove proxmox, use Incus)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Proxmox
== Hardware ==
Core is a https://nascompares.com/review/cwwk-q670-8-bay-gen5-nas-vpro-mobo-review/ ([https://web.archive.org/web/20250624104920/https://nascompares.com/review/cwwk-q670-8-bay-gen5-nas-vpro-mobo-review/ archive] link); twin 2.5G network ports, a lot of SATA ports, and lots of compromises.


Defaults to port 8006. Given I access it from multiple machines, defaulting to 443 would be nice.
== Network ==
Used https://mkdocs-4960c2.gitlab.io/lab/incus/incus_network_issues_walkthrough/ ([https://web.archive.org/web/20260402165455/https://mkdocs-4960c2.gitlab.io/lab/incus/incus_network_issues_walkthrough/ archive] link; apparently AI generated, but functional enough) as a guide to reconfiguring the Fedora OS that's running the NAS so that br0 is the primary interface for Incus to use directly. This enables host-container communication - macvlan doesn't allow this, and the default Incus bridge uses NAT (and I don't want to deal with port forwards)


`iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8006`
=== Host ===
The host uses enp7s0 for connectivity<syntaxhighlight lang="ini">
[connection]
id=enp7s0
uuid=4d354481-a088-3449-8d28-35b96ac1a3d4
type=ethernet
autoconnect-priority=-999
interface-name=enp7s0
timestamp=1775146834


Then use iptables-persistent to make that apply every time.
[ethernet]


Unraid VM
[ipv4]
address1=192.168.0.181/24
dns=192.168.0.1;
gateway=192.168.0.1
method=manual


Unraid needs a USB stick to boot from. Legacy advice on the Internet is that Proxmox won't boot a VM from a USB stick, but that's wrong with at least Proxmox V8. Config for VM
[ipv6]
addr-gen-mode=default
method=auto


* q35 machine
[proxy]
* UEFI/OVMF
</syntaxhighlight>
* '''No''' EFI disk
* Some GB of RAM
* Host CPU cores, 2 of them (the VM is tied to the USB stick anyway, so may as well tie it to the host cores)
* PCI passthrough - SATA controller


SATA controller was assigned to a resource mapping at the Datacenter level in the Proxmox UI tree, then made available for the PCI passthrough. Two USB sticks were also configured in resource mappings; one for the boot stick, and the other for temporary use in the Unraid array.
=== Host Bridge ===
The bridge is configured with br0 having a static IP, and a slave interface is set up for enp8s0 so that the bridge sits on physical network port.<syntaxhighlight lang="ini">
[connection]
id=br0
type=bridge
interface-name=br0
 
[bridge]
forward-delay=0
stp=false
 
[ipv4]
address1=192.168.0.2/24
dns=192.168.0.1;
gateway=192.168.0.1
method=manual
 
[ipv6]
addr-gen-mode=default
method=auto
</syntaxhighlight><syntaxhighlight lang="ini">
[connection]
id=br0-slave
type=ethernet
controller=br0
interface-name=enp8s0
port-type=bridge
 
[ethernet]
 
[bridge-port]
 
</syntaxhighlight>
 
=== Incus Bridge ===
Incus's default bridge was removed when setting up the new configuration (older install where the default bridge had been accepted. A custom physical interface was added, based on the <code>br0</code> bridge. Profiles were then changed to use the new <code>ibr0</code>.
incus network create ibr0 --type=physical parent=br0
 
== VMs and Containers ==
 
=== Unraid VM ===
Unraid needs a USB stick to boot from, as it uses the serial number of the stick as a license key. Ended up with plopkexec in the boot path for the qemu-backed VM (pc-q35)<syntaxhighlight lang="yaml">
devices:
  iso-volume:
    boot.priority: '10'
    pool: machines
    source: plopkexec64.iso
    type: disk
  bootdrive:
    required: 'true'
    serial: 20CF302E2382F150663CA637
    type: usb
  sata:
    address: '00:17.0'
    type: pci
</syntaxhighlight>Whole SATA controller is passed through, removing the devices from the view of the host OS.
 
=== HomeAssistant ===
Default HAOS setup, but with two USB devices passed through from the host for Zigbee and Matter support.<syntaxhighlight lang="yaml">
devices:
  matter-antenna:
    productid: 831a
    type: usb
    vendorid: 303a
  zigbee:
    productid: 55d4
    type: usb
    vendorid: 1a86
</syntaxhighlight>The Incus web UI can do very silly things when adding USB devices; doing it via the YAML editor is safer. Silly being defined as not allowing settings for the passed-through device, and 'usb' seemed to grab everything including the pass through for the Unraid VM (making Unraid unhappy).

Latest revision as of 17:12, 2 April 2026

Hardware

Core is a https://nascompares.com/review/cwwk-q670-8-bay-gen5-nas-vpro-mobo-review/ (archive link); twin 2.5G network ports, a lot of SATA ports, and lots of compromises.

Network

Used https://mkdocs-4960c2.gitlab.io/lab/incus/incus_network_issues_walkthrough/ (archive link; apparently AI generated, but functional enough) as a guide to reconfiguring the Fedora OS that's running the NAS so that br0 is the primary interface for Incus to use directly. This enables host-container communication - macvlan doesn't allow this, and the default Incus bridge uses NAT (and I don't want to deal with port forwards)

Host

The host uses enp7s0 for connectivity

[connection]
id=enp7s0
uuid=4d354481-a088-3449-8d28-35b96ac1a3d4
type=ethernet
autoconnect-priority=-999
interface-name=enp7s0
timestamp=1775146834

[ethernet]

[ipv4]
address1=192.168.0.181/24
dns=192.168.0.1;
gateway=192.168.0.1
method=manual

[ipv6]
addr-gen-mode=default
method=auto

[proxy]

Host Bridge

The bridge is configured with br0 having a static IP, and a slave interface is set up for enp8s0 so that the bridge sits on physical network port.

[connection]
id=br0
type=bridge
interface-name=br0

[bridge]
forward-delay=0
stp=false

[ipv4]
address1=192.168.0.2/24
dns=192.168.0.1;
gateway=192.168.0.1
method=manual

[ipv6]
addr-gen-mode=default
method=auto
[connection]
id=br0-slave
type=ethernet
controller=br0
interface-name=enp8s0
port-type=bridge

[ethernet]

[bridge-port]

Incus Bridge

Incus's default bridge was removed when setting up the new configuration (older install where the default bridge had been accepted. A custom physical interface was added, based on the br0 bridge. Profiles were then changed to use the new ibr0.

incus network create ibr0 --type=physical parent=br0

VMs and Containers

Unraid VM

Unraid needs a USB stick to boot from, as it uses the serial number of the stick as a license key. Ended up with plopkexec in the boot path for the qemu-backed VM (pc-q35)

devices:
  iso-volume:
    boot.priority: '10'
    pool: machines
    source: plopkexec64.iso
    type: disk
  bootdrive:
    required: 'true'
    serial: 20CF302E2382F150663CA637
    type: usb
  sata:
    address: '00:17.0'
    type: pci

Whole SATA controller is passed through, removing the devices from the view of the host OS.

HomeAssistant

Default HAOS setup, but with two USB devices passed through from the host for Zigbee and Matter support.

devices:
  matter-antenna:
    productid: 831a
    type: usb
    vendorid: 303a
  zigbee:
    productid: 55d4
    type: usb
    vendorid: 1a86

The Incus web UI can do very silly things when adding USB devices; doing it via the YAML editor is safer. Silly being defined as not allowing settings for the passed-through device, and 'usb' seemed to grab everything including the pass through for the Unraid VM (making Unraid unhappy).