# BTRFS RAID0 + LINSTOR Setup auf Proxmox

## Voraussetzungen

- Zwei Proxmox-Nodes (z.B. `proxmox1` und `proxmox2`)
- Auf jedem Node mehrere NVMe-SSDs vorhanden
- Netzwerkverbindung zwischen den Nodes

---

## 1. BTRFS installieren

Auf beiden Nodes:

```bash
apt update
apt install btrfs-progs
```

---

## 2. BTRFS RAID0 erstellen

### Auf Node1 (2 NVMe-SSDs)

```bash
mkfs.btrfs -d raid0 /dev/nvme0n1 /dev/nvme1n1
```

### Auf Node2 (4 NVMe-SSDs)

```bash
mkfs.btrfs -d raid0 /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1
```

---

## 3. Mountpunkt anlegen

Auf beiden Nodes:

```bash
mkdir -p /mnt/btrfs_nvme
```

Dateisystem mounten:

```bash
mount /dev/nvme0n1 /mnt/btrfs_nvme
```

---

## 4. Automatisches Mounten nach Neustart

UUID des Dateisystems ermitteln:

```bash
blkid /dev/nvme0n1
```

Eintrag in `/etc/fstab`:

```bash
echo "UUID=<UUID> /mnt/btrfs_nvme btrfs defaults 0 0" >> /etc/fstab
```

> Ersetze `<UUID>` durch die tatsächliche UUID des Dateisystems.

---

## 5. LINSTOR installieren

Auf beiden Nodes:

```bash
echo "deb http://packages.linbit.com/proxmox/ proxmox-8 drbd-9.2" > /etc/apt/sources.list.d/linbit.list
curl -o /etc/apt/trusted.gpg.d/linbit.gpg https://packages.linbit.com/package-signing-pubkey.asc
apt update
apt install linstor-controller linstor-satellite linstor-client drbd-utils
```

Nur auf einem Node (Controller) starten:

```bash
systemctl enable --now linstor-controller
```

---

## 6. DRBD Kernel-Module laden

Auf beiden Nodes:

```bash
modprobe drbd
modprobe drbd_transport_tcp
echo drbd >> /etc/modules-load.d/modules.conf
echo drbd_transport_tcp >> /etc/modules-load.d/modules.conf
```

---

## 7. LINSTOR Nodes registrieren

Auf dem Controller-Node:

```bash
linstor node create proxmox1 192.168.1.10
linstor node create proxmox2 192.168.1.11
```

Check:

```bash
linstor node list
```

---

## 8. LINSTOR Storage-Pool auf BTRFS-Basis erstellen

Auf dem Controller-Node:

### Node1:

```bash
linstor storage-pool create btrfs proxmox1 nvme-pool /mnt/btrfs_nvme
```

### Node2:

```bash
linstor storage-pool create btrfs proxmox2 nvme-pool /mnt/btrfs_nvme
```

---

## 9. LINSTOR in Proxmox einbinden

Im Proxmox Webinterface:

- Datacenter → Storage → Add → LINSTOR
- **Name:** `linstor-nvme`
- **Controller-Node-IP:** IP des LINSTOR-Controllers
- **Content Types:** Images, Containers
- **Thin provisioning:** aktivieren

---

## Hinweise

- RAID0 bietet **keine Redundanz** – plane ein externes Backup ein!
- BTRFS ermöglicht Snapshots und Subvolumes.

---

## Zusammenfassung

| Schritt | Aufgabe |
|:---|:---|
| BTRFS installieren | `apt install btrfs-progs` |
| RAID0 erstellen | `mkfs.btrfs -d raid0 /dev/nvme*` |
| Mounten | `mount /dev/nvme0n1 /mnt/btrfs_nvme` |
| Automount | UUID → `/etc/fstab` |
| LINSTOR installieren | Repos + Pakete |
| Nodes registrieren | `linstor node create` |
| Storage-Pool einrichten | `linstor storage-pool create btrfs <node> <path>` |
| In Proxmox hinzufügen | über Web-GUI |
